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
|
=== tests/cases/compiler/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.ts ===
type AnyFunction = (...args: any[]) => any;
>AnyFunction : (...args: any[]) => any
>args : any[]
type Params<T> = Parameters<Extract<T, AnyFunction>>;
>Params : Params<T>
interface Wrapper<T> {
call<K extends keyof T>(event: K, ...args: Params<T[K]>): void;
>call : <K extends keyof T>(event: K, ...args: Params<T[K]>) => void
>event : K
>args : Parameters<Extract<T[K], AnyFunction>>
}
interface AWrapped {
foo(): void;
>foo : () => void
}
class A {
>A : A
foo: Wrapper<AWrapped>;
>foo : Wrapper<AWrapped>
}
interface BWrapped extends AWrapped {
bar(): void;
>bar : () => void
}
class B extends A {
>B : B
>A : A
foo: Wrapper<BWrapped>;
>foo : Wrapper<BWrapped>
}
|