File: jsdocTemplateClass.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 (63 lines) | stat: -rw-r--r-- 1,055 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
=== tests/cases/conformance/jsdoc/templateTagOnClasses.js ===
/**
 * @template T
 * @typedef {(t: T) => T} Id
 */
/** @template T */
class Foo {
>Foo : Foo<T>

    /** @typedef {(t: T) => T} Id2 */
    /** @param {T} x */
    constructor (x) {
>x : T

        this.a = x
>this.a = x : T
>this.a : T
>this : this
>a : T
>x : T
    }
    /**
     * 
     * @param {T} x 
     * @param {Id<T>} y
     * @param {Id2} alpha
     * @return {T}
     */
    foo(x, y, alpha) {
>foo : (x: T, y: (t: T) => T, alpha: (t: T) => T) => T
>x : T
>y : (t: T) => T
>alpha : (t: T) => T

        return alpha(y(x))
>alpha(y(x)) : T
>alpha : (t: T) => T
>y(x) : T
>y : (t: T) => T
>x : T
    }
}
var f = new Foo(1)
>f : Foo<number>
>new Foo(1) : Foo<number>
>Foo : typeof Foo
>1 : 1

var g = new Foo(false)
>g : Foo<boolean>
>new Foo(false) : Foo<boolean>
>Foo : typeof Foo
>false : false

f.a = g.a
>f.a = g.a : boolean
>f.a : number
>f : Foo<number>
>a : number
>g.a : boolean
>g : Foo<boolean>
>a : boolean