File: strictBindCallApply2.types

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (24 lines) | stat: -rw-r--r-- 920 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
=== tests/cases/conformance/functions/strictBindCallApply2.ts ===
// Repro from #32964

interface Foo { blub: string };
>blub : string

function fn(this: Foo) {}
>fn : (this: Foo) => void
>this : Foo

type Test = ThisParameterType<typeof fn>; 
>Test : Foo
>fn : (this: Foo) => void

const fb = fn.bind({ blub: "blub" });
>fb : () => void
>fn.bind({ blub: "blub" }) : () => void
>fn.bind : { <T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>; <T, A extends any[], B extends any[], R>(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; }
>fn : (this: Foo) => void
>bind : { <T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>; <T, A extends any[], B extends any[], R>(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; }
>{ blub: "blub" } : { blub: string; }
>blub : string
>"blub" : "blub"