File: jsdocArrayObjectPromiseNoImplicitAny.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (81 lines) | stat: -rw-r--r-- 2,107 bytes parent folder | download | duplicates (2)
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/jsdocArrayObjectPromiseNoImplicitAny.js ===
/** @type {Array} */
var notAnyArray = [5];
>notAnyArray : any[]
>[5] : number[]
>5 : 5

/** @type {Array<number>} */
var numberArray = [5];
>numberArray : number[]
>[5] : number[]
>5 : 5

/**
 * @param {Array} arr
 * @return {Array}
 */
function returnNotAnyArray(arr) {
>returnNotAnyArray : (arr: any[]) => any[]
>arr : any[]

  return arr;
>arr : any[]
}

/** @type {Promise} */
var notAnyPromise = Promise.resolve(5);
>notAnyPromise : Promise<any>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>Promise : PromiseConstructor
>resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>5 : 5

/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Promise<number>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>Promise : PromiseConstructor
>resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>5 : 5

/**
 * @param {Promise} pr
 * @return {Promise}
 */
function returnNotAnyPromise(pr) {
>returnNotAnyPromise : (pr: Promise<any>) => Promise<any>
>pr : Promise<any>

  return pr;
>pr : Promise<any>
}

/** @type {Object} */
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
>notAnyObject : Object
>{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 returnNotAnyObject(obj) {
>returnNotAnyObject : (obj: Object) => Object
>obj : Object

  return obj;
>obj : Object
}