File: functionAssignment.types

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 (108 lines) | stat: -rw-r--r-- 2,508 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
=== tests/cases/compiler/functionAssignment.ts ===
function f(n: Function) { }
>f : (n: Function) => void
>n : Function

f(function () { });
>f(function () { }) : void
>f : (n: Function) => void
>function () { } : () => void

interface foo {
    get(handler: (bar: number)=>void): void;
>get : (handler: (bar: number) => void) => void
>handler : (bar: number) => void
>bar : number
}

interface baz {
    get(callback: Function): number;
>get : (callback: Function) => number
>callback : Function
}

var barbaz: baz;
>barbaz : baz

var test: foo;
>test : foo

test.get(function (param) {
>test.get(function (param) {    var x = barbaz.get(function () { });}) : void
>test.get : (handler: (bar: number) => void) => void
>test : foo
>get : (handler: (bar: number) => void) => void
>function (param) {    var x = barbaz.get(function () { });} : (param: number) => void
>param : number

    var x = barbaz.get(function () { });
>x : number
>barbaz.get(function () { }) : number
>barbaz.get : (callback: Function) => number
>barbaz : baz
>get : (callback: Function) => number
>function () { } : () => void

});

function f2(n: () => void) { }
>f2 : (n: () => void) => void
>n : () => void

f2(() => {
>f2(() => {    var n = '';    n = 4;}) : void
>f2 : (n: () => void) => void
>() => {    var n = '';    n = 4;} : () => void

    var n = '';
>n : string
>'' : ""

    n = 4;
>n = 4 : 4
>n : string
>4 : 4

});

function f3(a: { a: number; b: number; }) { }
>f3 : (a: { a: number; b: number; }) => void
>a : { a: number; b: number; }
>a : number
>b : number

f3({ a: 0, b: 0 });
>f3({ a: 0, b: 0 }) : void
>f3 : (a: { a: number; b: number; }) => void
>{ a: 0, b: 0 } : { a: number; b: number; }
>a : number
>0 : 0
>b : number
>0 : 0


function callb(lam:(l: number) => void );
>callb : { (lam: (l: number) => void): any; (lam: (n: string) => void): any; }
>lam : (l: number) => void
>l : number

function callb(lam:(n: string)=>void);
>callb : { (lam: (l: number) => void): any; (lam: (n: string) => void): any; }
>lam : (n: string) => void
>n : string

function callb(a) { }
>callb : { (lam: (l: number) => void): any; (lam: (n: string) => void): any; }
>a : any

callb((a) =>{ a.length; });
>callb((a) =>{ a.length; }) : any
>callb : { (lam: (l: number) => void): any; (lam: (n: string) => void): any; }
>(a) =>{ a.length; } : (a: number) => void
>a : number
>a.length : any
>a : number
>length : any