| @@ -19,7 +19,7 type VisitDependency<D, S> = D extends { | |||||
| 19 | export class Builder<T, S> { |
|
19 | export class Builder<T, S> { | |
| 20 | consume<P extends any[]>(...args: P) { |
|
20 | consume<P extends any[]>(...args: P) { | |
| 21 | return <C extends new (...args: ExtractDependency<P, S>) => T>(constructor: C) => { |
|
21 | return <C extends new (...args: ExtractDependency<P, S>) => T>(constructor: C) => { | |
| 22 | // return constructor; |
|
22 | return constructor as typeof constructor & { service: () => T }; | |
| 23 |
|
|
23 | }; | |
| 24 | } |
|
24 | } | |
| 25 |
|
25 | |||
| @@ -34,4 +34,8 export class Builder<T, S> { | |||||
| 34 | }; |
|
34 | }; | |
| 35 | } |
|
35 | } | |
| 36 |
|
36 | |||
|
|
37 | cast<T2 extends T>(): Builder<T2, S> { | |||
|
|
38 | return this as Builder<T2, S>; | |||
| 37 | } |
|
39 | } | |
|
|
40 | ||||
|
|
41 | } | |||
| @@ -25,4 +25,4 export class Box<T> { | |||||
| 25 |
|
25 | |||
| 26 | return this._value; |
|
26 | return this._value; | |
| 27 | } |
|
27 | } | |
| 28 |
} |
|
28 | } No newline at end of file | |
| @@ -61,7 +61,8 const t = { | |||||
| 61 | timeout: Number |
|
61 | timeout: Number | |
| 62 | }; |
|
62 | }; | |
| 63 |
|
63 | |||
|
|
64 | declare const bc: typeof Box; | |||
|
|
65 | ||||
|
|
66 | const x = new bc(); | |||
|
|
67 | ||||
| 64 | export declare const config: ConfigBuilder<ContainerServices>; |
|
68 | export declare const config: ConfigBuilder<ContainerServices>; | |
| 65 | config |
|
|||
| 66 | .mapTo("bar", ) |
|
|||
| 67 | .mapTo("barBox", ; |
|
|||
General Comments 0
You need to be logged in to leave comments.
Login now
