diff --git a/src/main/ts/di/Annotations.ts b/src/main/ts/di/Annotations.ts --- a/src/main/ts/di/Annotations.ts +++ b/src/main/ts/di/Annotations.ts @@ -19,7 +19,7 @@ type VisitDependency = D extends { export class Builder { consume

(...args: P) { return ) => T>(constructor: C) => { - // return constructor; + return constructor as typeof constructor & { service: () => T }; }; } @@ -34,4 +34,8 @@ export class Builder { }; } + cast(): Builder { + return this as Builder; + } + } diff --git a/src/test/ts/mock/Box.ts b/src/test/ts/mock/Box.ts --- a/src/test/ts/mock/Box.ts +++ b/src/test/ts/mock/Box.ts @@ -25,4 +25,4 @@ export class Box { return this._value; } -} +} \ No newline at end of file diff --git a/src/test/ts/mock/config.ts b/src/test/ts/mock/config.ts --- a/src/test/ts/mock/config.ts +++ b/src/test/ts/mock/config.ts @@ -61,7 +61,8 @@ const t = { timeout: Number }; +declare const bc: typeof Box; + +const x = new bc(); + export declare const config: ConfigBuilder; -config - .mapTo("bar", ) - .mapTo("barBox", ;