composed-di 0.2.8 → 0.2.9-ts4

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.
Files changed (46) hide show
  1. package/dist/index.d.ts +4 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/serviceFactory.d.ts +6 -6
  6. package/dist/serviceFactory.d.ts.map +1 -1
  7. package/dist/serviceFactory.js +1 -1
  8. package/dist/serviceFactory.js.map +1 -1
  9. package/dist/serviceKey.d.ts +1 -1
  10. package/dist/serviceKey.d.ts.map +1 -1
  11. package/dist/serviceKey.js +1 -1
  12. package/dist/serviceKey.js.map +1 -1
  13. package/dist/serviceModule.d.ts +5 -5
  14. package/dist/serviceModule.d.ts.map +1 -1
  15. package/dist/serviceModule.js +1 -1
  16. package/dist/serviceModule.js.map +1 -1
  17. package/dist/{ServiceScope.d.ts → serviceScope.d.ts} +1 -1
  18. package/dist/serviceScope.d.ts.map +1 -0
  19. package/dist/{ServiceScope.js → serviceScope.js} +1 -1
  20. package/dist/serviceScope.js.map +1 -0
  21. package/dist/utils.d.ts +1 -1
  22. package/package.json +3 -2
  23. package/src/index.ts +5 -5
  24. package/src/{ServiceFactory.ts → serviceFactory.ts} +83 -83
  25. package/src/{ServiceModule.ts → serviceModule.ts} +123 -123
  26. package/src/{ServiceScope.ts → serviceScope.ts} +7 -7
  27. package/src/utils.ts +152 -152
  28. package/dist/ServiceScope.d.ts.map +0 -1
  29. package/dist/ServiceScope.js.map +0 -1
  30. package/dist/main.d.ts +0 -2
  31. package/dist/main.d.ts.map +0 -1
  32. package/dist/main.js +0 -15
  33. package/dist/main.js.map +0 -1
  34. package/dist/plugin/index.d.ts +0 -66
  35. package/dist/plugin/index.d.ts.map +0 -1
  36. package/dist/plugin/index.js +0 -397
  37. package/dist/plugin/index.js.map +0 -1
  38. package/dist/serviceProvider.d.ts +0 -5
  39. package/dist/serviceProvider.d.ts.map +0 -1
  40. package/dist/serviceProvider.js +0 -3
  41. package/dist/serviceProvider.js.map +0 -1
  42. package/dist/test-from.d.ts +0 -2
  43. package/dist/test-from.d.ts.map +0 -1
  44. package/dist/test-from.js +0 -68
  45. package/dist/test-from.js.map +0 -1
  46. /package/src/{ServiceKey.ts → serviceKey.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export * from './ServiceKey';
2
- export * from './ServiceModule';
3
- export * from './ServiceFactory';
4
- export * from './ServiceScope';
1
+ export * from './serviceKey';
2
+ export * from './serviceModule';
3
+ export * from './serviceFactory';
4
+ export * from './serviceScope';
5
5
  export * from './utils';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ServiceKey"), exports);
18
- __exportStar(require("./ServiceModule"), exports);
19
- __exportStar(require("./ServiceFactory"), exports);
20
- __exportStar(require("./ServiceScope"), exports);
17
+ __exportStar(require("./serviceKey"), exports);
18
+ __exportStar(require("./serviceModule"), exports);
19
+ __exportStar(require("./serviceFactory"), exports);
20
+ __exportStar(require("./serviceScope"), exports);
21
21
  __exportStar(require("./utils"), exports);
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,iDAA8B;AAC9B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,iDAA+B;AAC/B,0CAAwB"}
@@ -1,10 +1,10 @@
1
- import { ServiceKey } from './ServiceKey';
2
- import { ServiceScope } from './ServiceScope';
1
+ import { ServiceKey } from './serviceKey';
2
+ import { ServiceScope } from './serviceScope';
3
3
  type ServiceType<T> = T extends ServiceKey<infer U> ? U : never;
4
4
  type DependencyTypes<T extends readonly ServiceKey<unknown>[]> = {
5
5
  [K in keyof T]: ServiceType<T[K]>;
6
6
  };
7
- export declare abstract class ServiceFactory<const T, const D extends readonly ServiceKey<unknown>[] = []> {
7
+ export declare abstract class ServiceFactory<T, D extends readonly ServiceKey<unknown>[] = []> {
8
8
  abstract provides: ServiceKey<T>;
9
9
  abstract dependsOn: D;
10
10
  abstract scope?: ServiceScope;
@@ -14,7 +14,7 @@ export declare abstract class ServiceFactory<const T, const D extends readonly S
14
14
  * Creates a singleton service factory that ensures a single instance of the provided service is initialized
15
15
  * and used throughout the scope lifecycle.
16
16
  */
17
- static singleton<const T, const D extends readonly ServiceKey<unknown>[] = []>({ scope, provides, dependsOn, initialize, dispose, }: {
17
+ static singleton<T, D extends readonly ServiceKey<unknown>[] = []>({ scope, provides, dependsOn, initialize, dispose, }: {
18
18
  scope?: ServiceScope;
19
19
  provides: ServiceKey<T>;
20
20
  dependsOn?: D;
@@ -25,11 +25,11 @@ export declare abstract class ServiceFactory<const T, const D extends readonly S
25
25
  * Creates a one-shot service factory that initializes a new instance of the provided service
26
26
  * every time it is requested.
27
27
  */
28
- static oneShot<const T, const D extends readonly ServiceKey<unknown>[] = []>({ provides, dependsOn, initialize, }: {
28
+ static oneShot<T, D extends readonly ServiceKey<unknown>[] = []>({ provides, dependsOn, initialize, }: {
29
29
  provides: ServiceKey<T>;
30
30
  dependsOn: D;
31
31
  initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
32
32
  }): ServiceFactory<T, D>;
33
33
  }
34
34
  export {};
35
- //# sourceMappingURL=ServiceFactory.d.ts.map
35
+ //# sourceMappingURL=serviceFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFactory.d.ts","sourceRoot":"","sources":["../src/ServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAGhE,KAAK,eAAe,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,8BAAsB,cAAc,CAClC,KAAK,CAAC,CAAC,EACP,KAAK,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;IAEnD,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,CAAC,CAAC,EACP,KAAK,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EACnD,EACA,KAAK,EACL,QAAQ,EACR,SAA8B,EAC9B,UAAU,EACV,OAAkB,GACnB,EAAE;QACD,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC;KACjC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAuBxB;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAC3E,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,CAAC,CAAC;QACb,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACrE,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAOzB"}
1
+ {"version":3,"file":"serviceFactory.d.ts","sourceRoot":"","sources":["../src/serviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAGhE,KAAK,eAAe,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,8BAAsB,cAAc,CAClC,CAAC,EACD,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;IAE7C,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,SAAS,CACd,CAAC,EACD,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAC7C,EACA,KAAK,EACL,QAAQ,EACR,SAA8B,EAC9B,UAAU,EACV,OAAkB,GACnB,EAAE;QACD,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC;KACjC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAuBxB;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAC/D,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,CAAC,CAAC;QACb,UAAU,EAAE,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACrE,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAOzB"}
@@ -50,4 +50,4 @@ class ServiceFactory {
50
50
  }
51
51
  }
52
52
  exports.ServiceFactory = ServiceFactory;
53
- //# sourceMappingURL=ServiceFactory.js.map
53
+ //# sourceMappingURL=serviceFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFactory.js","sourceRoot":"","sources":["../src/ServiceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAWA,MAAsB,cAAc;IAUlC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAGd,EACA,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,EAAkB,EAC9B,UAAU,EACV,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,GAOnB;QACC,IAAI,QAAuB,CAAC;QAE5B,OAAO;YACL,KAAK;YACL,QAAQ;YACR,SAAS;YACH,UAAU,CAAC,GAAG,YAAgC;;oBAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;oBAC/C,CAAC;oBAED,OAAO,QAAQ,CAAC;gBAClB,CAAC;aAAA;YACD,OAAO;gBACL,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAClB,QAAQ,GAAG,SAAS,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAA+D,EAC3E,QAAQ,EACR,SAAS,EACT,UAAU,GAKX;QACC,OAAO;YACL,QAAQ;YACR,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;CACF;AAvED,wCAuEC"}
1
+ {"version":3,"file":"serviceFactory.js","sourceRoot":"","sources":["../src/serviceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAWA,MAAsB,cAAc;IAUlC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAGd,EACA,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,EAAkB,EAC9B,UAAU,EACV,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,GAOnB;QACC,IAAI,QAAuB,CAAC;QAE5B,OAAO;YACL,KAAK;YACL,QAAQ;YACR,SAAS;YACH,UAAU,CAAC,GAAG,YAAgC;;oBAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;oBAC/C,CAAC;oBAED,OAAO,QAAQ,CAAC;gBAClB,CAAC;aAAA;YACD,OAAO;gBACL,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAClB,QAAQ,GAAG,SAAS,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAmD,EAC/D,QAAQ,EACR,SAAS,EACT,UAAU,GAKX;QACC,OAAO;YACL,QAAQ;YACR,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;CACF;AAvED,wCAuEC"}
@@ -3,4 +3,4 @@ export declare class ServiceKey<T> {
3
3
  readonly symbol: symbol;
4
4
  constructor(name: string);
5
5
  }
6
- //# sourceMappingURL=ServiceKey.d.ts.map
6
+ //# sourceMappingURL=serviceKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceKey.d.ts","sourceRoot":"","sources":["../src/ServiceKey.ts"],"names":[],"mappings":"AACA,qBAAa,UAAU,CAAC,CAAC;aAGK,IAAI,EAAE,MAAM;IAFxC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM;CAGzC"}
1
+ {"version":3,"file":"serviceKey.d.ts","sourceRoot":"","sources":["../src/serviceKey.ts"],"names":[],"mappings":"AACA,qBAAa,UAAU,CAAC,CAAC;aAGK,IAAI,EAAE,MAAM;IAFxC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM;CAGzC"}
@@ -9,4 +9,4 @@ class ServiceKey {
9
9
  }
10
10
  }
11
11
  exports.ServiceKey = ServiceKey;
12
- //# sourceMappingURL=ServiceKey.js.map
12
+ //# sourceMappingURL=serviceKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceKey.js","sourceRoot":"","sources":["../src/ServiceKey.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,MAAa,UAAU;IAGrB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gCAMC"}
1
+ {"version":3,"file":"serviceKey.js","sourceRoot":"","sources":["../src/serviceKey.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,MAAa,UAAU;IAGrB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gCAMC"}
@@ -1,7 +1,7 @@
1
- import { ServiceKey } from './ServiceKey';
2
- import { ServiceFactory } from './ServiceFactory';
3
- import { ServiceScope } from './ServiceScope';
4
- type GenericFactory = ServiceFactory<unknown, readonly ServiceKey<any>[]>;
1
+ import { ServiceKey } from './serviceKey';
2
+ import { ServiceFactory } from './serviceFactory';
3
+ import { ServiceScope } from './serviceScope';
4
+ type GenericFactory = ServiceFactory<any, readonly ServiceKey<any>[]>;
5
5
  export declare class ServiceModule {
6
6
  readonly factories: GenericFactory[];
7
7
  private constructor();
@@ -30,4 +30,4 @@ export declare class ServiceModule {
30
30
  static from(entries: (ServiceModule | GenericFactory)[]): ServiceModule;
31
31
  }
32
32
  export {};
33
- //# sourceMappingURL=ServiceModule.d.ts.map
33
+ //# sourceMappingURL=serviceModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceModule.d.ts","sourceRoot":"","sources":["../src/ServiceModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAG1E,qBAAa,aAAa;IACJ,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE;IAAxD,OAAO;IAOM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnD;;;;;;;;;OASG;IACI,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY;IAQnC;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,GAAG,cAAc,CAAC,EAAE,GAAG,aAAa;CAcxE"}
1
+ {"version":3,"file":"serviceModule.d.ts","sourceRoot":"","sources":["../src/serviceModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAGtE,qBAAa,aAAa;IACJ,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE;IAAxD,OAAO;IAOM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnD;;;;;;;;;OASG;IACI,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY;IAQnC;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,GAAG,cAAc,CAAC,EAAE,GAAG,aAAa;CAcxE"}
@@ -100,4 +100,4 @@ function isSuitable(key, factory) {
100
100
  var _a;
101
101
  return ((_a = factory === null || factory === void 0 ? void 0 : factory.provides) === null || _a === void 0 ? void 0 : _a.symbol) === (key === null || key === void 0 ? void 0 : key.symbol);
102
102
  }
103
- //# sourceMappingURL=ServiceModule.js.map
103
+ //# sourceMappingURL=serviceModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceModule.js","sourceRoot":"","sources":["../src/ServiceModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceModule.js","sourceRoot":"","sources":["../src/serviceModule.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ export declare class ServiceScope {
3
3
  readonly symbol: symbol;
4
4
  constructor(name: string);
5
5
  }
6
- //# sourceMappingURL=ServiceScope.d.ts.map
6
+ //# sourceMappingURL=serviceScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceScope.d.ts","sourceRoot":"","sources":["../src/serviceScope.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IAGX,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM;CAGlC"}
@@ -8,4 +8,4 @@ class ServiceScope {
8
8
  }
9
9
  }
10
10
  exports.ServiceScope = ServiceScope;
11
- //# sourceMappingURL=ServiceScope.js.map
11
+ //# sourceMappingURL=serviceScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceScope.js","sourceRoot":"","sources":["../src/serviceScope.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAGvB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,oCAMC"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ServiceModule } from './ServiceModule';
1
+ import { ServiceModule } from './serviceModule';
2
2
  export interface DotGraphOptions {
3
3
  /** Graph direction: 'TB' (top-bottom), 'LR' (left-right), 'BT' (bottom-top), 'RL' (right-left) */
4
4
  direction?: 'TB' | 'LR' | 'BT' | 'RL';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "composed-di",
3
3
  "private": false,
4
- "version": "0.2.8",
4
+ "version": "0.2.9-ts4",
5
5
  "author": "Juan Herrera juanhr454@gmail.com",
6
6
  "type": "commonjs",
7
7
  "main": "./dist/index.js",
@@ -29,12 +29,13 @@
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc --build",
32
+ "clean": "tsc --build --clean",
32
33
  "prepublishOnly": "npm run build"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@tsconfig/recommended": "^1.0.10",
36
37
  "@types/node": "24.0.10",
37
38
  "prettier": "^3.3.1",
38
- "typescript": "^5.2.2"
39
+ "typescript": "4.9.3"
39
40
  }
40
41
  }
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * from './ServiceKey';
2
- export * from './ServiceModule';
3
- export * from './ServiceFactory';
4
- export * from './ServiceScope'
5
- export * from './utils'
1
+ export * from './serviceKey';
2
+ export * from './serviceModule';
3
+ export * from './serviceFactory';
4
+ export * from './serviceScope';
5
+ export * from './utils';
@@ -1,83 +1,83 @@
1
- import { ServiceKey } from './ServiceKey';
2
- import { ServiceScope } from './ServiceScope';
3
-
4
- // Helper types to extract the type from ServiceKey
5
- type ServiceType<T> = T extends ServiceKey<infer U> ? U : never;
6
-
7
- // Helper types to convert an array/tuple of ServiceKey to tuple of their types
8
- type DependencyTypes<T extends readonly ServiceKey<unknown>[]> = {
9
- [K in keyof T]: ServiceType<T[K]>;
10
- };
11
-
12
- export abstract class ServiceFactory<
13
- const T,
14
- const D extends readonly ServiceKey<unknown>[] = [],
15
- > {
16
- abstract provides: ServiceKey<T>;
17
- abstract dependsOn: D;
18
- abstract scope?: ServiceScope;
19
- abstract initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
20
- abstract dispose?: () => void;
21
-
22
- /**
23
- * Creates a singleton service factory that ensures a single instance of the provided service is initialized
24
- * and used throughout the scope lifecycle.
25
- */
26
- static singleton<
27
- const T,
28
- const D extends readonly ServiceKey<unknown>[] = [],
29
- >({
30
- scope,
31
- provides,
32
- dependsOn = [] as unknown as D,
33
- initialize,
34
- dispose = () => {},
35
- }: {
36
- scope?: ServiceScope;
37
- provides: ServiceKey<T>;
38
- dependsOn?: D;
39
- initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
40
- dispose?: (instance: T) => void;
41
- }): ServiceFactory<T, D> {
42
- let instance: T | undefined;
43
-
44
- return {
45
- scope,
46
- provides,
47
- dependsOn,
48
- async initialize(...dependencies: DependencyTypes<D>): Promise<T> {
49
- if (instance === undefined) {
50
- instance = await initialize(...dependencies);
51
- }
52
-
53
- return instance;
54
- },
55
- dispose(): void {
56
- if (instance !== undefined) {
57
- dispose(instance);
58
- instance = undefined;
59
- }
60
- },
61
- };
62
- }
63
-
64
- /**
65
- * Creates a one-shot service factory that initializes a new instance of the provided service
66
- * every time it is requested.
67
- */
68
- static oneShot<const T, const D extends readonly ServiceKey<unknown>[] = []>({
69
- provides,
70
- dependsOn,
71
- initialize,
72
- }: {
73
- provides: ServiceKey<T>;
74
- dependsOn: D;
75
- initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
76
- }): ServiceFactory<T, D> {
77
- return {
78
- provides,
79
- dependsOn,
80
- initialize,
81
- };
82
- }
83
- }
1
+ import { ServiceKey } from './serviceKey';
2
+ import { ServiceScope } from './serviceScope';
3
+
4
+ // Helper types to extract the type from ServiceKey
5
+ type ServiceType<T> = T extends ServiceKey<infer U> ? U : never;
6
+
7
+ // Helper types to convert an array/tuple of ServiceKey to tuple of their types
8
+ type DependencyTypes<T extends readonly ServiceKey<unknown>[]> = {
9
+ [K in keyof T]: ServiceType<T[K]>;
10
+ };
11
+
12
+ export abstract class ServiceFactory<
13
+ T,
14
+ D extends readonly ServiceKey<unknown>[] = [],
15
+ > {
16
+ abstract provides: ServiceKey<T>;
17
+ abstract dependsOn: D;
18
+ abstract scope?: ServiceScope;
19
+ abstract initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
20
+ abstract dispose?: () => void;
21
+
22
+ /**
23
+ * Creates a singleton service factory that ensures a single instance of the provided service is initialized
24
+ * and used throughout the scope lifecycle.
25
+ */
26
+ static singleton<
27
+ T,
28
+ D extends readonly ServiceKey<unknown>[] = [],
29
+ >({
30
+ scope,
31
+ provides,
32
+ dependsOn = [] as unknown as D,
33
+ initialize,
34
+ dispose = () => {},
35
+ }: {
36
+ scope?: ServiceScope;
37
+ provides: ServiceKey<T>;
38
+ dependsOn?: D;
39
+ initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
40
+ dispose?: (instance: T) => void;
41
+ }): ServiceFactory<T, D> {
42
+ let instance: T | undefined;
43
+
44
+ return {
45
+ scope,
46
+ provides,
47
+ dependsOn,
48
+ async initialize(...dependencies: DependencyTypes<D>): Promise<T> {
49
+ if (instance === undefined) {
50
+ instance = await initialize(...dependencies);
51
+ }
52
+
53
+ return instance;
54
+ },
55
+ dispose(): void {
56
+ if (instance !== undefined) {
57
+ dispose(instance);
58
+ instance = undefined;
59
+ }
60
+ },
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Creates a one-shot service factory that initializes a new instance of the provided service
66
+ * every time it is requested.
67
+ */
68
+ static oneShot<T, D extends readonly ServiceKey<unknown>[] = []>({
69
+ provides,
70
+ dependsOn,
71
+ initialize,
72
+ }: {
73
+ provides: ServiceKey<T>;
74
+ dependsOn: D;
75
+ initialize: (...dependencies: DependencyTypes<D>) => T | Promise<T>;
76
+ }): ServiceFactory<T, D> {
77
+ return {
78
+ provides,
79
+ dependsOn,
80
+ initialize,
81
+ };
82
+ }
83
+ }