forked from microsoft/TypeScript
/
jsdocArrayObjectPromiseImplicitAny.types
81 lines (69 loc) · 1.9 KB
/
jsdocArrayObjectPromiseImplicitAny.types
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
=== tests/cases/compiler/jsdocArrayObjectPromiseImplicitAny.js ===
/** @type {Array} */
var anyArray = [5];
>anyArray : any[]
>[5] : number[]
>5 : 5
/** @type {Array<number>} */
var numberArray = [5];
>numberArray : number[]
>[5] : number[]
>5 : 5
/**
* @param {Array} arr
* @return {Array}
*/
function returnAnyArray(arr) {
>returnAnyArray : (arr: any[]) => any[]
>arr : any[]
return arr;
>arr : any[]
}
/** @type {Promise} */
var anyPromise = Promise.resolve(5);
>anyPromise : Promise<any>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T): Promise<T extends PromiseLike<infer U> ? U : T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T): Promise<T extends PromiseLike<infer U> ? U : T>; (): Promise<void>; }
>5 : 5
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Promise<number>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T): Promise<T extends PromiseLike<infer U> ? U : T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T): Promise<T extends PromiseLike<infer U> ? U : T>; (): Promise<void>; }
>5 : 5
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnAnyPromise(pr) {
>returnAnyPromise : (pr: Promise<any>) => Promise<any>
>pr : Promise<any>
return pr;
>pr : Promise<any>
}
/** @type {Object} */
var anyObject = {valueOf: 1}; // not an error since assigning to any.
>anyObject : any
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
>paramedObject : { [x: string]: number; }
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/**
* @param {Object} obj
* @return {Object}
*/
function returnAnyObject(obj) {
>returnAnyObject : (obj: any) => any
>obj : any
return obj;
>obj : any
}