File: narrowFromAnyWithTypePredicate.errors.txt

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (52 lines) | stat: -rw-r--r-- 2,228 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(22,7): error TS2339: Property 'method' does not exist on type '{}'.
tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(23,5): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '{}' has no compatible call signatures.
tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(28,7): error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'?
tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error TS2551: Property 'getHuors' does not exist on type 'Date'. Did you mean 'getHours'?


==== tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts (4 errors) ====
    declare var x: any;
    declare function isFunction(x): x is Function;
    declare function isObject(x): x is Object;
    declare function isAnything(x): x is {};
    declare function isError(x): x is Error;
    declare function isDate(x): x is Date;
    
    
    if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function'
        x();
        x(1, 2, 3);
        x("hello!");
        x.prop;
    }
    
    if (isObject(x)) { // 'any' is not narrowed when target type is 'Object'
        x.method();
        x();
    }
    
    if (isAnything(x)) { // 'any' is narrowed to types other than 'Function'/'Object' (including {})
        x.method();
          ~~~~~~
!!! error TS2339: Property 'method' does not exist on type '{}'.
        x();
        ~~~
!!! error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '{}' has no compatible call signatures.
    }
    
    if (isError(x)) { 
        x.message;
        x.mesage;
          ~~~~~~
!!! error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'?
!!! related TS2728 /.ts/lib.es5.d.ts:974:5: 'message' is declared here.
    }
    
    if (isDate(x)) {
        x.getDate();
        x.getHuors();
          ~~~~~~~~
!!! error TS2551: Property 'getHuors' does not exist on type 'Date'. Did you mean 'getHours'?
!!! related TS2728 /.ts/lib.es5.d.ts:763:5: 'getHours' is declared here.
    }