File: amdDeclarationEmitNoExtraDeclare.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (41 lines) | stat: -rw-r--r-- 1,249 bytes parent folder | download | duplicates (5)
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
=== tests/cases/compiler/Class.ts ===
import { Configurable } from "./Configurable"
>Configurable : <T extends import("tests/cases/compiler/Configurable").Constructor<{}>>(base: T) => T

export class HiddenClass {}
>HiddenClass : HiddenClass

export class ActualClass extends Configurable(HiddenClass) {}
>ActualClass : ActualClass
>Configurable(HiddenClass) : HiddenClass
>Configurable : <T extends import("tests/cases/compiler/Configurable").Constructor<{}>>(base: T) => T
>HiddenClass : typeof HiddenClass

=== tests/cases/compiler/Configurable.ts ===
export type Constructor<T> = {
>Constructor : Constructor<T>

    new(...args: any[]): T;
>args : any[]
}
export function Configurable<T extends Constructor<{}>>(base: T): T {
>Configurable : <T extends Constructor<{}>>(base: T) => T
>base : T

    return class extends base {
>class extends base {        constructor(...args: any[]) {            super(...args);        }    } : { new (...args: any[]): (Anonymous class); prototype: Configurable<any>.(Anonymous class); } & T
>base : {}

        constructor(...args: any[]) {
>args : any[]

            super(...args);
>super(...args) : void
>super : T
>...args : any
>args : any[]
        }

    };
}