File: jqueryInference.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 (32 lines) | stat: -rw-r--r-- 936 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
=== tests/cases/compiler/jqueryInference.ts ===
// #22362
interface MyPromise<T, U> {
    then(cb: (t: T) => void): void;
>then : (cb: (t: T) => void) => void
>cb : (t: T) => void
>t : T

    thenUnion(cb: (t: T | U) => void): this;
>thenUnion : (cb: (t: T | U) => void) => this
>cb : (t: T | U) => void
>t : T | U
}

interface DoNothingAlias<T, U> extends MyPromise<T, U> { }

declare function shouldBeIdentity<T, U>(p: DoNothingAlias<T, U>): MyPromise<T, U>;
>shouldBeIdentity : <T, U>(p: DoNothingAlias<T, U>) => MyPromise<T, U>
>p : DoNothingAlias<T, U>

declare const p1: MyPromise<boolean, any>;
>p1 : MyPromise<boolean, any>

var p2 = shouldBeIdentity(p1);
>p2 : MyPromise<boolean, {}>
>shouldBeIdentity(p1) : MyPromise<boolean, {}>
>shouldBeIdentity : <T, U>(p: DoNothingAlias<T, U>) => MyPromise<T, U>
>p1 : MyPromise<boolean, any>

var p2: MyPromise<boolean, {}>;
>p2 : MyPromise<boolean, {}>