@tsed/di 8.0.0-alpha.4 → 8.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,12 +19,12 @@ const asyncHookContext_js_1 = require("../utils/asyncHookContext.js");
19
19
  * @returns {Function}
20
20
  * @decorator
21
21
  */
22
- function InjectContext() {
22
+ function InjectContext(transform = (o) => o) {
23
23
  return (target, propertyKey) => {
24
24
  (0, core_1.catchError)(() => Reflect.deleteProperty(target, propertyKey));
25
25
  Reflect.defineProperty(target, propertyKey, {
26
26
  get() {
27
- return ((0, asyncHookContext_js_1.getContext)() ||
27
+ return transform((0, asyncHookContext_js_1.getContext)() ||
28
28
  new DIContext_js_1.DIContext({
29
29
  id: "",
30
30
  logger: index_js_1.InjectorService.getInstance().logger,
@@ -1 +1 @@
1
- {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,oDAAsD;AACtD,yDAAiD;AACjD,sEAAwD;AAExD;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa;IAC3B,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YAC1C,GAAG;gBACD,OAAO,CACL,IAAA,gCAAU,GAAE;oBACZ,IAAI,wBAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,0BAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,0BAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,sCAiBC"}
1
+ {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,oDAAsD;AACtD,yDAAiD;AACjD,sEAAwD;AAExD;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa,CAAC,YAA0C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YAC1C,GAAG;gBACD,OAAO,SAAS,CACd,IAAA,gCAAU,GAAE;oBACV,IAAI,wBAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,0BAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,0BAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACL,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,sCAiBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bindContext = exports.setContext = exports.runInContext = exports.getContext = exports.useContextRef = exports.getAsyncStore = void 0;
3
+ exports.bindContext = exports.setContext = exports.runInContext = exports.getContext = exports.useContext = exports.useContextRef = exports.getAsyncStore = void 0;
4
4
  const async_hooks_1 = require("async_hooks");
5
5
  const storage = new async_hooks_1.AsyncLocalStorage();
6
6
  function getAsyncStore() {
@@ -11,10 +11,11 @@ function useContextRef() {
11
11
  return getAsyncStore().getStore();
12
12
  }
13
13
  exports.useContextRef = useContextRef;
14
- function getContext() {
15
- return useContextRef()?.current;
14
+ function useContext(initialValue) {
15
+ return initialValue || useContextRef()?.current;
16
16
  }
17
- exports.getContext = getContext;
17
+ exports.useContext = useContext;
18
+ exports.getContext = useContext;
18
19
  async function runInContext(ctx, cb, injector) {
19
20
  const ref = useContextRef();
20
21
  if (ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AAI7D,MAAM,OAAO,GAAwD,IAAI,+BAAiB,EAAE,CAAC;AAE7F,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAFD,sCAEC;AAED,SAAgB,UAAU;IACxB,OAAO,aAAa,EAAE,EAAE,OAAc,CAAC;AACzC,CAAC;AAFD,gCAEC;AAEM,KAAK,UAAU,YAAY,CAAC,GAA0B,EAAE,EAAO,EAAE,QAA0B;IAChG,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAZD,oCAYC;AAED,SAAgB,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAND,gCAMC;AAED,SAAgB,WAAW,CAAC,EAAO;IACjC,OAAO,2BAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AAI7D,MAAM,OAAO,GAAwD,IAAI,+BAAiB,EAAE,CAAC;AAE7F,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAFD,sCAEC;AAED,SAAgB,UAAU,CAAsB,YAAwB;IACtE,OAAO,YAAY,IAAK,aAAa,EAAE,EAAE,OAAe,CAAC;AAC3D,CAAC;AAFD,gCAEC;AAEY,QAAA,UAAU,GAAG,UAAU,CAAC;AAE9B,KAAK,UAAU,YAAY,CAChC,GAA0B,EAC1B,EAAkC,EAClC,QAA0B;IAE1B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAhBD,oCAgBC;AAED,SAAgB,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAND,gCAMC;AAED,SAAgB,WAAW,CAAC,EAAO;IACjC,OAAO,2BAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,kCAEC"}
@@ -16,12 +16,12 @@ import { getContext } from "../utils/asyncHookContext.js";
16
16
  * @returns {Function}
17
17
  * @decorator
18
18
  */
19
- export function InjectContext() {
19
+ export function InjectContext(transform = (o) => o) {
20
20
  return (target, propertyKey) => {
21
21
  catchError(() => Reflect.deleteProperty(target, propertyKey));
22
22
  Reflect.defineProperty(target, propertyKey, {
23
23
  get() {
24
- return (getContext() ||
24
+ return transform(getContext() ||
25
25
  new DIContext({
26
26
  id: "",
27
27
  logger: InjectorService.getInstance().logger,
@@ -1 +1 @@
1
- {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YAC1C,GAAG;gBACD,OAAO,CACL,UAAU,EAAE;oBACZ,IAAI,SAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,YAA0C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YAC1C,GAAG;gBACD,OAAO,SAAS,CACd,UAAU,EAAE;oBACV,IAAI,SAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACL,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@ export function getAsyncStore() {
6
6
  export function useContextRef() {
7
7
  return getAsyncStore().getStore();
8
8
  }
9
- export function getContext() {
10
- return useContextRef()?.current;
9
+ export function useContext(initialValue) {
10
+ return initialValue || useContextRef()?.current;
11
11
  }
12
+ export const getContext = useContext;
12
13
  export async function runInContext(ctx, cb, injector) {
13
14
  const ref = useContextRef();
14
15
  if (ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAI7D,MAAM,OAAO,GAAwD,IAAI,iBAAiB,EAAE,CAAC;AAE7F,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,EAAE,EAAE,OAAc,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAA0B,EAAE,EAAO,EAAE,QAA0B;IAChG,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAO;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAI7D,MAAM,OAAO,GAAwD,IAAI,iBAAiB,EAAE,CAAC;AAE7F,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU,CAAsB,YAAwB;IACtE,OAAO,YAAY,IAAK,aAAa,EAAE,EAAE,OAAe,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAA0B,EAC1B,EAAkC,EAClC,QAA0B;IAE1B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAO;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DIContext } from "../domain/DIContext.js";
1
2
  /**
2
3
  * Inject a context like PlatformContext or any BaseContext.
3
4
  *
@@ -12,4 +13,4 @@
12
13
  * @returns {Function}
13
14
  * @decorator
14
15
  */
15
- export declare function InjectContext(): PropertyDecorator;
16
+ export declare function InjectContext(transform?: ($ctx: DIContext) => unknown): PropertyDecorator;
@@ -50,7 +50,7 @@ export declare class DIContext {
50
50
  get container(): LocalsContainer;
51
51
  destroy(): Promise<any>;
52
52
  emit(eventName: string, ...args: any[]): Promise<void>;
53
- runInContext(next: Function): Promise<any>;
53
+ runInContext<Result = unknown>(next: (...args: unknown[]) => Result): Promise<Result>;
54
54
  cache<Value = any>(key: string, cb: () => Value): Value;
55
55
  cacheAsync<Value = any>(key: string, cb: () => Promise<Value>): Promise<Value>;
56
56
  delete(key: any): boolean;
@@ -8,7 +8,8 @@ export declare function getAsyncStore(): AsyncLocalStorage<{
8
8
  export declare function useContextRef(): {
9
9
  current: DIContext | undefined;
10
10
  } | undefined;
11
- export declare function getContext<Context = DIContext>(): Context | undefined;
12
- export declare function runInContext(ctx: DIContext | undefined, cb: any, injector?: InjectorService): Promise<any>;
11
+ export declare function useContext<Context = DIContext>(initialValue?: DIContext): Context | undefined;
12
+ export declare const getContext: typeof useContext;
13
+ export declare function runInContext<Result = unknown>(ctx: DIContext | undefined, cb: (...args: unknown[]) => Result, injector?: InjectorService): Promise<Result>;
13
14
  export declare function setContext(ctx: DIContext): void;
14
15
  export declare function bindContext(cb: any): any;
@@ -1,3 +1,4 @@
1
+ import { DIContext } from "../domain/DIContext.js";
1
2
  /**
2
3
  * Inject a context like PlatformContext or any BaseContext.
3
4
  *
@@ -12,4 +13,4 @@
12
13
  * @returns {Function}
13
14
  * @decorator
14
15
  */
15
- export declare function InjectContext(): PropertyDecorator;
16
+ export declare function InjectContext(transform?: ($ctx: DIContext) => unknown): PropertyDecorator;
@@ -50,7 +50,7 @@ export declare class DIContext {
50
50
  get container(): LocalsContainer;
51
51
  destroy(): Promise<any>;
52
52
  emit(eventName: string, ...args: any[]): Promise<void>;
53
- runInContext(next: Function): Promise<any>;
53
+ runInContext<Result = unknown>(next: (...args: unknown[]) => Result): Promise<Result>;
54
54
  cache<Value = any>(key: string, cb: () => Value): Value;
55
55
  cacheAsync<Value = any>(key: string, cb: () => Promise<Value>): Promise<Value>;
56
56
  delete(key: any): boolean;
@@ -8,7 +8,8 @@ export declare function getAsyncStore(): AsyncLocalStorage<{
8
8
  export declare function useContextRef(): {
9
9
  current: DIContext | undefined;
10
10
  } | undefined;
11
- export declare function getContext<Context = DIContext>(): Context | undefined;
12
- export declare function runInContext(ctx: DIContext | undefined, cb: any, injector?: InjectorService): Promise<any>;
11
+ export declare function useContext<Context = DIContext>(initialValue?: DIContext): Context | undefined;
12
+ export declare const getContext: typeof useContext;
13
+ export declare function runInContext<Result = unknown>(ctx: DIContext | undefined, cb: (...args: unknown[]) => Result, injector?: InjectorService): Promise<Result>;
13
14
  export declare function setContext(ctx: DIContext): void;
14
15
  export declare function bindContext(cb: any): any;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsed/di",
3
3
  "description": "DI module for Ts.ED Framework",
4
4
  "type": "commonjs",
5
- "version": "8.0.0-alpha.4",
5
+ "version": "8.0.0-alpha.5",
6
6
  "source": "./src/index.ts",
7
7
  "main": "lib/esm/index.js",
8
8
  "module": "lib/esm/index.js",
@@ -30,11 +30,11 @@
30
30
  "uuid": "9.0.1"
31
31
  },
32
32
  "devDependencies": {
33
- "@tsed/barrels": "8.0.0-alpha.4",
34
- "@tsed/core": "8.0.0-alpha.4",
33
+ "@tsed/barrels": "8.0.0-alpha.5",
34
+ "@tsed/core": "8.0.0-alpha.5",
35
35
  "@tsed/logger": ">=6.7.5",
36
- "@tsed/schema": "8.0.0-alpha.4",
37
- "@tsed/typescript": "8.0.0-alpha.4",
36
+ "@tsed/schema": "8.0.0-alpha.5",
37
+ "@tsed/typescript": "8.0.0-alpha.5",
38
38
  "cross-env": "7.0.3",
39
39
  "eslint": "^8.57.0",
40
40
  "typescript": "4.9.5",
@@ -42,9 +42,9 @@
42
42
  "webpack": "^5.75.0"
43
43
  },
44
44
  "peerDependencies": {
45
- "@tsed/core": "8.0.0-alpha.4",
45
+ "@tsed/core": "8.0.0-alpha.5",
46
46
  "@tsed/logger": ">=6.7.5",
47
- "@tsed/schema": "8.0.0-alpha.4"
47
+ "@tsed/schema": "8.0.0-alpha.5"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "@tsed/core": {