File: nonInferrableTypePropagation3.symbols

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (52 lines) | stat: -rw-r--r-- 3,065 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/compiler/nonInferrableTypePropagation3.ts ===
// Repro from #53748

declare type Callback<Args extends any[], Out, R> = (...args: Args) => (data: Out) => R;
>Callback : Symbol(Callback, Decl(nonInferrableTypePropagation3.ts, 0, 0))
>Args : Symbol(Args, Decl(nonInferrableTypePropagation3.ts, 2, 22))
>Out : Symbol(Out, Decl(nonInferrableTypePropagation3.ts, 2, 41))
>R : Symbol(R, Decl(nonInferrableTypePropagation3.ts, 2, 46))
>args : Symbol(args, Decl(nonInferrableTypePropagation3.ts, 2, 53))
>Args : Symbol(Args, Decl(nonInferrableTypePropagation3.ts, 2, 22))
>data : Symbol(data, Decl(nonInferrableTypePropagation3.ts, 2, 72))
>Out : Symbol(Out, Decl(nonInferrableTypePropagation3.ts, 2, 41))
>R : Symbol(R, Decl(nonInferrableTypePropagation3.ts, 2, 46))

declare function factory<Out>(): <Args extends any[], R>(callback: Callback<Args, Out, R>) => (...args: Args) => R;
>factory : Symbol(factory, Decl(nonInferrableTypePropagation3.ts, 2, 88))
>Out : Symbol(Out, Decl(nonInferrableTypePropagation3.ts, 3, 25))
>Args : Symbol(Args, Decl(nonInferrableTypePropagation3.ts, 3, 34))
>R : Symbol(R, Decl(nonInferrableTypePropagation3.ts, 3, 53))
>callback : Symbol(callback, Decl(nonInferrableTypePropagation3.ts, 3, 57))
>Callback : Symbol(Callback, Decl(nonInferrableTypePropagation3.ts, 0, 0))
>Args : Symbol(Args, Decl(nonInferrableTypePropagation3.ts, 3, 34))
>Out : Symbol(Out, Decl(nonInferrableTypePropagation3.ts, 3, 25))
>R : Symbol(R, Decl(nonInferrableTypePropagation3.ts, 3, 53))
>args : Symbol(args, Decl(nonInferrableTypePropagation3.ts, 3, 95))
>Args : Symbol(Args, Decl(nonInferrableTypePropagation3.ts, 3, 34))
>R : Symbol(R, Decl(nonInferrableTypePropagation3.ts, 3, 53))

const make = factory<{id: string, age: number}[]>();
>make : Symbol(make, Decl(nonInferrableTypePropagation3.ts, 5, 5))
>factory : Symbol(factory, Decl(nonInferrableTypePropagation3.ts, 2, 88))
>id : Symbol(id, Decl(nonInferrableTypePropagation3.ts, 5, 22))
>age : Symbol(age, Decl(nonInferrableTypePropagation3.ts, 5, 33))

const usersOverAge = make((age: number) => data => {
>usersOverAge : Symbol(usersOverAge, Decl(nonInferrableTypePropagation3.ts, 7, 5))
>make : Symbol(make, Decl(nonInferrableTypePropagation3.ts, 5, 5))
>age : Symbol(age, Decl(nonInferrableTypePropagation3.ts, 7, 27))
>data : Symbol(data, Decl(nonInferrableTypePropagation3.ts, 7, 42))

    return data.filter(user => user.age >= age);
>data.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>data : Symbol(data, Decl(nonInferrableTypePropagation3.ts, 7, 42))
>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>user : Symbol(user, Decl(nonInferrableTypePropagation3.ts, 8, 23))
>user.age : Symbol(age, Decl(nonInferrableTypePropagation3.ts, 5, 33))
>user : Symbol(user, Decl(nonInferrableTypePropagation3.ts, 8, 23))
>age : Symbol(age, Decl(nonInferrableTypePropagation3.ts, 5, 33))
>age : Symbol(age, Decl(nonInferrableTypePropagation3.ts, 7, 27))

});