File: narrowFromAnyWithTypePredicate.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (54 lines) | stat: -rw-r--r-- 2,168 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
53
54
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: This expression is not callable.
  Type '{}' has no 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: This expression is not callable.
!!! error TS2349:   Type '{}' has no 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:--:--: '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:--:--: 'getHours' is declared here.
    }