@inversifyjs/core 4.0.1 → 5.1.0

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 (41) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/cjs/binding/services/BindingService.d.ts +5 -1
  3. package/lib/cjs/binding/services/BindingService.d.ts.map +1 -1
  4. package/lib/cjs/binding/services/BindingService.js +13 -2
  5. package/lib/cjs/binding/services/BindingService.js.map +1 -1
  6. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js +6 -6
  7. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js.map +1 -1
  8. package/lib/cjs/decorator/actions/decorate.spec.d.ts.map +1 -1
  9. package/lib/cjs/error/calculations/isStackOverflowError.d.ts +2 -0
  10. package/lib/cjs/error/calculations/isStackOverflowError.d.ts.map +1 -0
  11. package/lib/cjs/error/calculations/isStackOverflowError.js +20 -0
  12. package/lib/cjs/error/calculations/isStackOverflowError.js.map +1 -0
  13. package/lib/cjs/error/calculations/isStackOverflowError.spec.d.ts +2 -0
  14. package/lib/cjs/error/calculations/isStackOverflowError.spec.d.ts.map +1 -0
  15. package/lib/cjs/index.d.ts +2 -1
  16. package/lib/cjs/index.d.ts.map +1 -1
  17. package/lib/cjs/index.js +3 -1
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/metadata/decorators/injectBase.spec.d.ts.map +1 -1
  20. package/lib/cjs/planning/calculations/handlePlanError.d.ts +3 -0
  21. package/lib/cjs/planning/calculations/handlePlanError.d.ts.map +1 -0
  22. package/lib/cjs/planning/calculations/handlePlanError.js +43 -0
  23. package/lib/cjs/planning/calculations/handlePlanError.js.map +1 -0
  24. package/lib/cjs/planning/calculations/handlePlanError.spec.d.ts +2 -0
  25. package/lib/cjs/planning/calculations/handlePlanError.spec.d.ts.map +1 -0
  26. package/lib/cjs/planning/calculations/plan.d.ts.map +1 -1
  27. package/lib/cjs/planning/calculations/plan.js +37 -32
  28. package/lib/cjs/planning/calculations/plan.js.map +1 -1
  29. package/lib/cjs/planning/models/BasePlanParams.d.ts +1 -1
  30. package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -1
  31. package/lib/esm/index.d.ts +8 -3
  32. package/lib/esm/index.d.ts.map +1 -1
  33. package/lib/esm/index.js +1 -1
  34. package/lib/esm/index.js.map +1 -1
  35. package/package.json +16 -18
  36. package/lib/cjs/planning/actions/addBranchService.d.ts +0 -4
  37. package/lib/cjs/planning/actions/addBranchService.d.ts.map +0 -1
  38. package/lib/cjs/planning/actions/addBranchService.js +0 -23
  39. package/lib/cjs/planning/actions/addBranchService.js.map +0 -1
  40. package/lib/cjs/planning/actions/addBranchService.spec.d.ts +0 -2
  41. package/lib/cjs/planning/actions/addBranchService.spec.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @inversifyjs/core
2
2
 
3
+ ## 5.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 77150f5: Updated `BindingService` with `removeById`
8
+ - 77150f5: Updated `BindingService` with `getById`
9
+ - 78e1b49: Added `resolveBindingsDeactivations`
10
+
11
+ ## 5.0.0
12
+
13
+ ### Major Changes
14
+
15
+ - 6de1cee: updated `BasePlanParams.servicesBranch` to be an array
16
+
17
+ ### Patch Changes
18
+
19
+ - 7ef055a: Updated `plan` to no longer provide false positive circular dependencies
20
+
3
21
  ## 4.0.1
4
22
 
5
23
  ### Patch Changes
@@ -2,10 +2,12 @@ import { ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { Cloneable } from '../../common/models/Cloneable';
3
3
  import { Binding } from '../models/Binding';
4
4
  declare enum BindingRelationKind {
5
+ id = "id",
5
6
  moduleId = "moduleId",
6
7
  serviceId = "serviceId"
7
8
  }
8
9
  export interface BindingRelation {
10
+ [BindingRelationKind.id]: number;
9
11
  [BindingRelationKind.moduleId]?: number;
10
12
  [BindingRelationKind.serviceId]: ServiceIdentifier;
11
13
  }
@@ -15,9 +17,11 @@ export declare class BindingService implements Cloneable<BindingService> {
15
17
  static build(parent: BindingService | undefined): BindingService;
16
18
  clone(): BindingService;
17
19
  get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
20
+ getById<TResolved>(id: number): Iterable<Binding<TResolved>> | undefined;
21
+ getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
18
22
  getNonParentBindings<TResolved>(serviceId: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
19
23
  getNonParentBoundServices(): Iterable<ServiceIdentifier>;
20
- getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
24
+ removeById(id: number): void;
21
25
  removeAllByModuleId(moduleId: number): void;
22
26
  removeAllByServiceId(serviceId: ServiceIdentifier): void;
23
27
  set<TInstance>(binding: Binding<TInstance>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BindingService.d.ts","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,aAAK,mBAAmB;IACtB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACpD;AAED,qBAAa,cAAe,YAAW,SAAS,CAAC,cAAc,CAAC;;IAI9D,OAAO;WAkBO,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc;IAIhE,KAAK,IAAI,cAAc;IASvB,GAAG,CAAC,SAAS,EAClB,iBAAiB,EAAE,iBAAiB,GACnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAOpC,oBAAoB,CAAC,SAAS,EACnC,SAAS,EAAE,iBAAiB,GAC3B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAMpC,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAIxD,aAAa,CAAC,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAOxD,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;CAWzD"}
1
+ {"version":3,"file":"BindingService.d.ts","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,aAAK,mBAAmB;IACtB,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACpD;AAED,qBAAa,cAAe,YAAW,SAAS,CAAC,cAAc,CAAC;;IAI9D,OAAO;WAqBO,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc;IAIhE,KAAK,IAAI,cAAc;IASvB,GAAG,CAAC,SAAS,EAClB,iBAAiB,EAAE,iBAAiB,GACnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAOpC,OAAO,CAAC,SAAS,EACtB,EAAE,EAAE,MAAM,GACT,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,aAAa,CAAC,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,oBAAoB,CAAC,SAAS,EACnC,SAAS,EAAE,iBAAiB,GAC3B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAMpC,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAIxD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAOxD,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;CAYzD"}
@@ -4,6 +4,7 @@ exports.BindingService = void 0;
4
4
  const OneToManyMapStar_1 = require("../../common/models/OneToManyMapStar");
5
5
  var BindingRelationKind;
6
6
  (function (BindingRelationKind) {
7
+ BindingRelationKind["id"] = "id";
7
8
  BindingRelationKind["moduleId"] = "moduleId";
8
9
  BindingRelationKind["serviceId"] = "serviceId";
9
10
  })(BindingRelationKind || (BindingRelationKind = {}));
@@ -14,6 +15,9 @@ class BindingService {
14
15
  this.#bindingMaps =
15
16
  bindingMaps ??
16
17
  new OneToManyMapStar_1.OneToManyMapStar({
18
+ id: {
19
+ isOptional: false,
20
+ },
17
21
  moduleId: {
18
22
  isOptional: true,
19
23
  },
@@ -34,14 +38,20 @@ class BindingService {
34
38
  return (this.getNonParentBindings(serviceIdentifier) ??
35
39
  this.#parent?.get(serviceIdentifier));
36
40
  }
41
+ getById(id) {
42
+ return (this.#bindingMaps.get(BindingRelationKind.id, id) ?? this.#parent?.getById(id));
43
+ }
44
+ getByModuleId(moduleId) {
45
+ return (this.#bindingMaps.get(BindingRelationKind.moduleId, moduleId) ?? this.#parent?.getByModuleId(moduleId));
46
+ }
37
47
  getNonParentBindings(serviceId) {
38
48
  return this.#bindingMaps.get(BindingRelationKind.serviceId, serviceId);
39
49
  }
40
50
  getNonParentBoundServices() {
41
51
  return this.#bindingMaps.getAllKeys(BindingRelationKind.serviceId);
42
52
  }
43
- getByModuleId(moduleId) {
44
- return (this.#bindingMaps.get(BindingRelationKind.moduleId, moduleId) ?? this.#parent?.getByModuleId(moduleId));
53
+ removeById(id) {
54
+ this.#bindingMaps.removeByRelation(BindingRelationKind.id, id);
45
55
  }
46
56
  removeAllByModuleId(moduleId) {
47
57
  this.#bindingMaps.removeByRelation(BindingRelationKind.moduleId, moduleId);
@@ -51,6 +61,7 @@ class BindingService {
51
61
  }
52
62
  set(binding) {
53
63
  const relation = {
64
+ [BindingRelationKind.id]: binding.id,
54
65
  [BindingRelationKind.serviceId]: binding.serviceIdentifier,
55
66
  };
56
67
  if (binding.moduleId !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"BindingService.js","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":";;;AAGA,2EAAwE;AAGxE,IAAK,mBAGJ;AAHD,WAAK,mBAAmB;IACtB,4CAAqB,CAAA;IACrB,8CAAuB,CAAA;AACzB,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,QAGvB;AAOD,MAAa,cAAc;IAChB,YAAY,CAAsD;IAClE,OAAO,CAA6B;IAE7C,YACE,MAAkC,EAClC,WAAiE;QAEjE,IAAI,CAAC,YAAY;YACf,WAAW;gBACX,IAAI,mCAAgB,CAAoC;oBACtD,QAAQ,EAAE;wBACR,UAAU,EAAE,IAAI;qBACjB;oBACD,SAAS,EAAE;wBACT,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAkC;QACpD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACV,MAAM,KAAK,GAAmB,IAAI,cAAc,CAC9C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAC1B,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CACR,iBAAoC;QAEpC,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CACrC,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,SAA4B;QAE5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAExD,CAAC;IAChB,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAEM,aAAa,CAClB,QAAgB;QAEhB,OAAO,CACJ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAE/C,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAEM,oBAAoB,CAAC,SAA4B;QACtD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,mBAAmB,CAAC,SAAS,EAC7B,SAAS,CACV,CAAC;IACJ,CAAC;IAEM,GAAG,CAAY,OAA2B;QAC/C,MAAM,QAAQ,GAAoB;YAChC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB;SAC3D,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAA2B,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF;AAxFD,wCAwFC"}
1
+ {"version":3,"file":"BindingService.js","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":";;;AAGA,2EAAwE;AAGxE,IAAK,mBAIJ;AAJD,WAAK,mBAAmB;IACtB,gCAAS,CAAA;IACT,4CAAqB,CAAA;IACrB,8CAAuB,CAAA;AACzB,CAAC,EAJI,mBAAmB,KAAnB,mBAAmB,QAIvB;AAQD,MAAa,cAAc;IAChB,YAAY,CAAsD;IAClE,OAAO,CAA6B;IAE7C,YACE,MAAkC,EAClC,WAAiE;QAEjE,IAAI,CAAC,YAAY;YACf,WAAW;gBACX,IAAI,mCAAgB,CAAoC;oBACtD,EAAE,EAAE;wBACF,UAAU,EAAE,KAAK;qBAClB;oBACD,QAAQ,EAAE;wBACR,UAAU,EAAE,IAAI;qBACjB;oBACD,SAAS,EAAE;wBACT,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAkC;QACpD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACV,MAAM,KAAK,GAAmB,IAAI,cAAc,CAC9C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAC1B,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CACR,iBAAoC;QAEpC,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CACrC,CAAC;IACJ,CAAC;IAEM,OAAO,CACZ,EAAU;QAEV,OAAO,CACJ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAEnC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC;IAEM,aAAa,CAClB,QAAgB;QAEhB,OAAO,CACJ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAE/C,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,SAA4B;QAE5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAExD,CAAC;IAChB,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAEM,UAAU,CAAC,EAAU;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAEM,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAEM,oBAAoB,CAAC,SAA4B;QACtD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,mBAAmB,CAAC,SAAS,EAC7B,SAAS,CACV,CAAC;IACJ,CAAC;IAEM,GAAG,CAAY,OAA2B;QAC/C,MAAM,QAAQ,GAAoB;YAChC,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;YACpC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB;SAC3D,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAA2B,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF;AA1GD,wCA0GC"}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OneToManyMapStar = void 0;
4
- const globals_1 = require("@jest/globals");
4
+ const vitest_1 = require("vitest");
5
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
- const addMock = globals_1.jest.fn();
6
+ const addMock = vitest_1.vitest.fn();
7
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- const cloneMock = globals_1.jest.fn();
8
+ const cloneMock = vitest_1.vitest.fn();
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- const getMock = globals_1.jest.fn();
10
+ const getMock = vitest_1.vitest.fn();
11
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- const getAllKeysMock = globals_1.jest.fn();
12
+ const getAllKeysMock = vitest_1.vitest.fn();
13
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- const removeByRelationMock = globals_1.jest.fn();
14
+ const removeByRelationMock = vitest_1.vitest.fn();
15
15
  class OneToManyMapStar {
16
16
  add;
17
17
  clone;
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyMapStar.js","sourceRoot":"","sources":["../../../../../src/common/models/__mocks__/OneToManyMapStar.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AAErC,8DAA8D;AAC9D,MAAM,OAAO,GAAmB,cAAI,CAAC,EAAE,EAAE,CAAC;AAC1C,8DAA8D;AAC9D,MAAM,SAAS,GAAmB,cAAI,CAAC,EAAE,EAAE,CAAC;AAC5C,8DAA8D;AAC9D,MAAM,OAAO,GAAmB,cAAI,CAAC,EAAE,EAAE,CAAC;AAC1C,8DAA8D;AAC9D,MAAM,cAAc,GAAmB,cAAI,CAAC,EAAE,EAAE,CAAC;AACjD,8DAA8D;AAC9D,MAAM,oBAAoB,GAAmB,cAAI,CAAC,EAAE,EAAE,CAAC;AAEvD,MAAa,gBAAgB;IACX,GAAG,CAA+C;IAClD,KAAK,CAA4C;IACjD,GAAG,CAGe;IAElB,UAAU,CAEK;IAEf,gBAAgB,CAGtB;IAEV;QACE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;IAC/C,CAAC;CACF;AAxBD,4CAwBC"}
1
+ {"version":3,"file":"OneToManyMapStar.js","sourceRoot":"","sources":["../../../../../src/common/models/__mocks__/OneToManyMapStar.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,8DAA8D;AAC9D,MAAM,OAAO,GAAc,eAAM,CAAC,EAAE,EAAE,CAAC;AACvC,8DAA8D;AAC9D,MAAM,SAAS,GAAc,eAAM,CAAC,EAAE,EAAE,CAAC;AACzC,8DAA8D;AAC9D,MAAM,OAAO,GAAc,eAAM,CAAC,EAAE,EAAE,CAAC;AACvC,8DAA8D;AAC9D,MAAM,cAAc,GAAc,eAAM,CAAC,EAAE,EAAE,CAAC;AAC9C,8DAA8D;AAC9D,MAAM,oBAAoB,GAAc,eAAM,CAAC,EAAE,EAAE,CAAC;AAEpD,MAAa,gBAAgB;IACX,GAAG,CAA+C;IAClD,KAAK,CAA4C;IACjD,GAAG,CAGe;IAElB,UAAU,CAEK;IAEf,gBAAgB,CAGtB;IAEV;QACE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;IAC/C,CAAC;CACF;AAxBD,4CAwBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorate.spec.d.ts","sourceRoot":"","sources":["../../../../src/decorator/actions/decorate.spec.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"decorate.spec.d.ts","sourceRoot":"","sources":["../../../../src/decorator/actions/decorate.spec.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isStackOverflowError(error: unknown): boolean;
2
+ //# sourceMappingURL=isStackOverflowError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStackOverflowError.d.ts","sourceRoot":"","sources":["../../../../src/error/calculations/isStackOverflowError.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmB5D"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStackOverflowError = isStackOverflowError;
4
+ function isStackOverflowError(error) {
5
+ if (!(error instanceof Error)) {
6
+ return false;
7
+ }
8
+ // V8 (Chrome, Node.js, Edge, Deno): "Maximum call stack size exceeded"
9
+ // SpiderMonkey (Firefox): "too much recursion"
10
+ // JavaScriptCore (Safari): "call stack size exceeded"
11
+ // Chakra (IE/legacy Edge): "Out of stack space"
12
+ const stackOverflowPatterns = /stack space|call stack|too much recursion/i;
13
+ return (
14
+ // V8 and JavaScriptCore typically throw RangeError
15
+ (error instanceof RangeError &&
16
+ stackOverflowPatterns.test(error.message)) ||
17
+ // SpiderMonkey throws InternalError with "too much recursion"
18
+ (error.name === 'InternalError' && /too much recursion/.test(error.message)));
19
+ }
20
+ //# sourceMappingURL=isStackOverflowError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStackOverflowError.js","sourceRoot":"","sources":["../../../../src/error/calculations/isStackOverflowError.ts"],"names":[],"mappings":";;AAAA,oDAmBC;AAnBD,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uEAAuE;IACvE,+CAA+C;IAC/C,sDAAsD;IACtD,gDAAgD;IAChD,MAAM,qBAAqB,GACzB,4CAA4C,CAAC;IAE/C,OAAO;IACL,mDAAmD;IACnD,CAAC,KAAK,YAAY,UAAU;QAC1B,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,8DAA8D;QAC9D,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isStackOverflowError.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStackOverflowError.spec.d.ts","sourceRoot":"","sources":["../../../../src/error/calculations/isStackOverflowError.spec.ts"],"names":[],"mappings":""}
@@ -58,6 +58,7 @@ import { PlanTree } from './planning/models/PlanTree';
58
58
  import { ResolvedValueBindingNode } from './planning/models/ResolvedValueBindingNode';
59
59
  import { GetPlanOptions, PlanResultCacheService } from './planning/services/PlanResultCacheService';
60
60
  import { resolve } from './resolution/actions/resolve';
61
+ import { resolveBindingsDeactivations } from './resolution/actions/resolveBindingsDeactivations';
61
62
  import { resolveModuleDeactivations } from './resolution/actions/resolveModuleDeactivations';
62
63
  import { resolveServiceDeactivations } from './resolution/actions/resolveServiceDeactivations';
63
64
  import { DeactivationParams } from './resolution/models/DeactivationParams';
@@ -68,5 +69,5 @@ import { ResolutionContext } from './resolution/models/ResolutionContext';
68
69
  import { ResolutionParams } from './resolution/models/ResolutionParams';
69
70
  import { Resolved } from './resolution/models/Resolved';
70
71
  export type { BaseBinding, BaseBindingNode, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingDeactivation, BindingDeactivationRelation, BindingConstraints, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetOptions, GetOptionsTagConstraint, GetPlanOptions, InstanceBinding, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, UnmanagedClassElementMetadata, };
71
- export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, ClassElementMetadataKind, DeactivationsService, decorate, getClassMetadata, inject, injectable, injectFromBase, multiInject, named, optional, plan, PlanResultCacheService, postConstruct, preDestroy, resolve, ResolvedValueElementMetadataKind, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, };
72
+ export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, ClassElementMetadataKind, DeactivationsService, decorate, getClassMetadata, inject, injectable, injectFromBase, multiInject, named, optional, plan, PlanResultCacheService, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, ResolvedValueElementMetadataKind, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, };
72
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unmanaged = exports.tagged = exports.resolveServiceDeactivations = exports.resolveModuleDeactivations = exports.ResolvedValueElementMetadataKind = exports.resolve = exports.preDestroy = exports.postConstruct = exports.PlanResultCacheService = exports.plan = exports.optional = exports.named = exports.multiInject = exports.injectFromBase = exports.injectable = exports.inject = exports.getClassMetadata = exports.decorate = exports.DeactivationsService = exports.ClassElementMetadataKind = exports.bindingTypeValues = exports.BindingService = exports.bindingScopeValues = exports.ActivationsService = void 0;
3
+ exports.unmanaged = exports.tagged = exports.resolveServiceDeactivations = exports.resolveModuleDeactivations = exports.ResolvedValueElementMetadataKind = exports.resolveBindingsDeactivations = exports.resolve = exports.preDestroy = exports.postConstruct = exports.PlanResultCacheService = exports.plan = exports.optional = exports.named = exports.multiInject = exports.injectFromBase = exports.injectable = exports.inject = exports.getClassMetadata = exports.decorate = exports.DeactivationsService = exports.ClassElementMetadataKind = exports.bindingTypeValues = exports.BindingService = exports.bindingScopeValues = exports.ActivationsService = void 0;
4
4
  const BindingScope_1 = require("./binding/models/BindingScope");
5
5
  Object.defineProperty(exports, "bindingScopeValues", { enumerable: true, get: function () { return BindingScope_1.bindingScopeValues; } });
6
6
  const BindingType_1 = require("./binding/models/BindingType");
@@ -45,6 +45,8 @@ const PlanResultCacheService_1 = require("./planning/services/PlanResultCacheSer
45
45
  Object.defineProperty(exports, "PlanResultCacheService", { enumerable: true, get: function () { return PlanResultCacheService_1.PlanResultCacheService; } });
46
46
  const resolve_1 = require("./resolution/actions/resolve");
47
47
  Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return resolve_1.resolve; } });
48
+ const resolveBindingsDeactivations_1 = require("./resolution/actions/resolveBindingsDeactivations");
49
+ Object.defineProperty(exports, "resolveBindingsDeactivations", { enumerable: true, get: function () { return resolveBindingsDeactivations_1.resolveBindingsDeactivations; } });
48
50
  const resolveModuleDeactivations_1 = require("./resolution/actions/resolveModuleDeactivations");
49
51
  Object.defineProperty(exports, "resolveModuleDeactivations", { enumerable: true, get: function () { return resolveModuleDeactivations_1.resolveModuleDeactivations; } });
50
52
  const resolveServiceDeactivations_1 = require("./resolution/actions/resolveServiceDeactivations");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gEAGuC;AAiIrC,mGAlIA,iCAAkB,OAkIA;AAhIpB,8DAA8E;AAkI5E,kGAlIoB,+BAAiB,OAkIpB;AAtHnB,8EAG+C;AAgH7C,mGAlHA,uCAAkB,OAkHA;AA/GpB,sEAAmE;AAiHjE,+FAjHO,+BAAc,OAiHP;AAhHhB,kFAGiD;AAgH/C,qGAjHA,2CAAoB,OAiHA;AA/GtB,2DAAwD;AAgHtD,yFAhHO,mBAAQ,OAgHP;AA/GV,+EAA4E;AAgH1E,iGAhHO,mCAAgB,OAgHP;AA/GlB,yDAAsD;AAgHpD,uFAhHO,eAAM,OAgHP;AA/GR,iEAA8D;AAgH5D,2FAhHO,uBAAU,OAgHP;AA/GZ,yEAAsE;AAgHpE,+FAhHO,+BAAc,OAgHP;AA/GhB,mEAAgE;AAgH9D,4FAhHO,yBAAW,OAgHP;AA/Gb,uDAAoD;AAgHlD,sFAhHO,aAAK,OAgHP;AA/GP,6DAA0D;AAgHxD,yFAhHO,mBAAQ,OAgHP;AA/GV,uEAAoE;AAkHlE,8FAlHO,6BAAa,OAkHP;AAjHf,iEAA8D;AAkH5D,2FAlHO,uBAAU,OAkHP;AAjHZ,yDAAsD;AAsHpD,uFAtHO,eAAM,OAsHP;AArHR,+DAA4D;AAsH1D,0FAtHO,qBAAS,OAsHP;AApHX,yFAAsF;AAiGpF,yGAjGO,mDAAwB,OAiGP;AA1F1B,yGAAsG;AAyGpG,iHAzGO,mEAAgC,OAyGP;AAtGlC,uDAAoD;AAiGlD,qFAjGO,WAAI,OAiGP;AAnFN,uFAGoD;AAiFlD,uGAlFA,+CAAsB,OAkFA;AAhFxB,0DAAuD;AAmFrD,wFAnFO,iBAAO,OAmFP;AAlFT,gGAA6F;AAoF3F,2GApFO,uDAA0B,OAoFP;AAnF5B,kGAA+F;AAoF7F,4GApFO,yDAA2B,OAoFP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gEAGuC;AAkIrC,mGAnIA,iCAAkB,OAmIA;AAjIpB,8DAA8E;AAmI5E,kGAnIoB,+BAAiB,OAmIpB;AAvHnB,8EAG+C;AAiH7C,mGAnHA,uCAAkB,OAmHA;AAhHpB,sEAAmE;AAkHjE,+FAlHO,+BAAc,OAkHP;AAjHhB,kFAGiD;AAiH/C,qGAlHA,2CAAoB,OAkHA;AAhHtB,2DAAwD;AAiHtD,yFAjHO,mBAAQ,OAiHP;AAhHV,+EAA4E;AAiH1E,iGAjHO,mCAAgB,OAiHP;AAhHlB,yDAAsD;AAiHpD,uFAjHO,eAAM,OAiHP;AAhHR,iEAA8D;AAiH5D,2FAjHO,uBAAU,OAiHP;AAhHZ,yEAAsE;AAiHpE,+FAjHO,+BAAc,OAiHP;AAhHhB,mEAAgE;AAiH9D,4FAjHO,yBAAW,OAiHP;AAhHb,uDAAoD;AAiHlD,sFAjHO,aAAK,OAiHP;AAhHP,6DAA0D;AAiHxD,yFAjHO,mBAAQ,OAiHP;AAhHV,uEAAoE;AAmHlE,8FAnHO,6BAAa,OAmHP;AAlHf,iEAA8D;AAmH5D,2FAnHO,uBAAU,OAmHP;AAlHZ,yDAAsD;AAwHpD,uFAxHO,eAAM,OAwHP;AAvHR,+DAA4D;AAwH1D,0FAxHO,qBAAS,OAwHP;AAtHX,yFAAsF;AAkGpF,yGAlGO,mDAAwB,OAkGP;AA3F1B,yGAAsG;AA2GpG,iHA3GO,mEAAgC,OA2GP;AAxGlC,uDAAoD;AAkGlD,qFAlGO,WAAI,OAkGP;AApFN,uFAGoD;AAkFlD,uGAnFA,+CAAsB,OAmFA;AAjFxB,0DAAuD;AAoFrD,wFApFO,iBAAO,OAoFP;AAnFT,oGAAiG;AAoF/F,6GApFO,2DAA4B,OAoFP;AAnF9B,gGAA6F;AAqF3F,2GArFO,uDAA0B,OAqFP;AApF5B,kGAA+F;AAqF7F,4GArFO,yDAA2B,OAqFP"}
@@ -1 +1 @@
1
- {"version":3,"file":"injectBase.spec.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/injectBase.spec.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"injectBase.spec.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/injectBase.spec.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PlanParams } from '../models/PlanParams';
2
+ export declare function handlePlanError(params: PlanParams, error: unknown): never;
3
+ //# sourceMappingURL=handlePlanError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePlanError.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/handlePlanError.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA6BlD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAazE"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handlePlanError = handlePlanError;
4
+ const common_1 = require("@inversifyjs/common");
5
+ const isStackOverflowError_1 = require("../../error/calculations/isStackOverflowError");
6
+ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
7
+ const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
8
+ /**
9
+ * Extracts a likely circular dependency asuming a service asociated to a
10
+ * service identifier should not be asociated to services asociated to the same
11
+ * service identifier.
12
+ *
13
+ * Important note: given the current binding constraints, there's no way to know
14
+ * which is exactly the circular dependency. Custom ancestor based constraints might
15
+ * allow circular dependencies breaking the loop when a certain condition is met.
16
+ *
17
+ * @param params plan params
18
+ */
19
+ function extractLikelyCircularDependency(params) {
20
+ const serviceIdentifiers = new Set();
21
+ for (const serviceIdentifier of params.servicesBranch) {
22
+ if (serviceIdentifiers.has(serviceIdentifier)) {
23
+ return [...serviceIdentifiers, serviceIdentifier];
24
+ }
25
+ serviceIdentifiers.add(serviceIdentifier);
26
+ }
27
+ return [...serviceIdentifiers];
28
+ }
29
+ function handlePlanError(params, error) {
30
+ if ((0, isStackOverflowError_1.isStackOverflowError)(error)) {
31
+ const stringifiedCircularDependencies = stringifyServiceIdentifierTrace(extractLikelyCircularDependency(params));
32
+ throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.planning, `Circular dependency found: ${stringifiedCircularDependencies}`, { cause: error });
33
+ }
34
+ throw error;
35
+ }
36
+ function stringifyServiceIdentifierTrace(serviceIdentifiers) {
37
+ const serviceIdentifiersArray = [...serviceIdentifiers];
38
+ if (serviceIdentifiersArray.length === 0) {
39
+ return '(No dependency trace)';
40
+ }
41
+ return serviceIdentifiersArray.map(common_1.stringifyServiceIdentifier).join(' -> ');
42
+ }
43
+ //# sourceMappingURL=handlePlanError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePlanError.js","sourceRoot":"","sources":["../../../../src/planning/calculations/handlePlanError.ts"],"names":[],"mappings":";;AAqCA,0CAaC;AAlDD,gDAG6B;AAE7B,wFAAqF;AACrF,8EAA2E;AAC3E,sFAAmF;AAGnF;;;;;;;;;;GAUG;AACH,SAAS,+BAA+B,CACtC,MAAkB;IAElB,MAAM,kBAAkB,GAA2B,IAAI,GAAG,EAAE,CAAC;IAE7D,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;QACpD,CAAC;QAED,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,eAAe,CAAC,MAAkB,EAAE,KAAc;IAChE,IAAI,IAAA,2CAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,+BAA+B,GACnC,+BAA+B,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3E,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,QAAQ,EAC/B,8BAA8B,+BAA+B,EAAE,EAC/D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,CAAC;AACd,CAAC;AAED,SAAS,+BAA+B,CACtC,kBAA+C;IAE/C,MAAM,uBAAuB,GAAwB,CAAC,GAAG,kBAAkB,CAAC,CAAC;IAE7E,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO,uBAAuB,CAAC,GAAG,CAAC,mCAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=handlePlanError.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePlanError.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/handlePlanError.spec.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/plan.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAUlD,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAyDnD"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/plan.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWlD,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAgEnD"}
@@ -7,43 +7,48 @@ const BindingType_1 = require("../../binding/models/BindingType");
7
7
  const SingleInmutableLinkedList_1 = require("../../common/models/SingleInmutableLinkedList");
8
8
  const ClassElementMetadataKind_1 = require("../../metadata/models/ClassElementMetadataKind");
9
9
  const ResolvedValueElementMetadataKind_1 = require("../../metadata/models/ResolvedValueElementMetadataKind");
10
- const addBranchService_1 = require("../actions/addBranchService");
11
10
  const buildFilteredServiceBindings_1 = require("./buildFilteredServiceBindings");
12
11
  const checkServiceNodeSingleInjectionBindings_1 = require("./checkServiceNodeSingleInjectionBindings");
12
+ const handlePlanError_1 = require("./handlePlanError");
13
13
  const isInstanceBindingNode_1 = require("./isInstanceBindingNode");
14
14
  const isPlanServiceRedirectionBindingNode_1 = require("./isPlanServiceRedirectionBindingNode");
15
15
  function plan(params) {
16
- const tags = new Map();
17
- if (params.rootConstraints.tag !== undefined) {
18
- tags.set(params.rootConstraints.tag.key, params.rootConstraints.tag.value);
19
- }
20
- const bindingConstraintsList = new SingleInmutableLinkedList_1.SingleInmutableLinkedList({
21
- elem: {
22
- name: params.rootConstraints.name,
16
+ try {
17
+ const tags = new Map();
18
+ if (params.rootConstraints.tag !== undefined) {
19
+ tags.set(params.rootConstraints.tag.key, params.rootConstraints.tag.value);
20
+ }
21
+ const bindingConstraintsList = new SingleInmutableLinkedList_1.SingleInmutableLinkedList({
22
+ elem: {
23
+ name: params.rootConstraints.name,
24
+ serviceIdentifier: params.rootConstraints.serviceIdentifier,
25
+ tags,
26
+ },
27
+ previous: undefined,
28
+ });
29
+ const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(bindingConstraintsList.last);
30
+ const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints);
31
+ const serviceNodeBindings = [];
32
+ const serviceNode = {
33
+ bindings: serviceNodeBindings,
34
+ parent: undefined,
23
35
  serviceIdentifier: params.rootConstraints.serviceIdentifier,
24
- tags,
25
- },
26
- previous: undefined,
27
- });
28
- const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(bindingConstraintsList.last);
29
- const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints);
30
- const serviceNodeBindings = [];
31
- const serviceNode = {
32
- bindings: serviceNodeBindings,
33
- parent: undefined,
34
- serviceIdentifier: params.rootConstraints.serviceIdentifier,
35
- };
36
- serviceNodeBindings.push(...buildServiceNodeBindings(params, bindingConstraintsList, filteredServiceBindings, serviceNode));
37
- if (!params.rootConstraints.isMultiple) {
38
- (0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, params.rootConstraints.isOptional ?? false, bindingConstraints);
39
- const [planBindingNode] = serviceNodeBindings;
40
- serviceNode.bindings = planBindingNode;
36
+ };
37
+ serviceNodeBindings.push(...buildServiceNodeBindings(params, bindingConstraintsList, filteredServiceBindings, serviceNode));
38
+ if (!params.rootConstraints.isMultiple) {
39
+ (0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, params.rootConstraints.isOptional ?? false, bindingConstraints);
40
+ const [planBindingNode] = serviceNodeBindings;
41
+ serviceNode.bindings = planBindingNode;
42
+ }
43
+ return {
44
+ tree: {
45
+ root: serviceNode,
46
+ },
47
+ };
48
+ }
49
+ catch (error) {
50
+ (0, handlePlanError_1.handlePlanError)(params, error);
41
51
  }
42
- return {
43
- tree: {
44
- root: serviceNode,
45
- },
46
- };
47
52
  }
48
53
  function buildInstancePlanBindingNode(params, binding, bindingConstraintsList, parentNode) {
49
54
  const classMetadata = params.getClassMetadata(binding.implementationType);
@@ -137,7 +142,7 @@ function buildServiceNodeBindings(params, bindingConstraintsList, serviceBinding
137
142
  const serviceIdentifier = (0, isPlanServiceRedirectionBindingNode_1.isPlanServiceRedirectionBindingNode)(parentNode)
138
143
  ? parentNode.binding.targetServiceIdentifier
139
144
  : parentNode.serviceIdentifier;
140
- (0, addBranchService_1.addBranchService)(params, serviceIdentifier);
145
+ params.servicesBranch.push(serviceIdentifier);
141
146
  const planBindingNodes = [];
142
147
  for (const binding of serviceBindings) {
143
148
  switch (binding.type) {
@@ -161,7 +166,7 @@ function buildServiceNodeBindings(params, bindingConstraintsList, serviceBinding
161
166
  });
162
167
  }
163
168
  }
164
- params.servicesBranch.delete(serviceIdentifier);
169
+ params.servicesBranch.pop();
165
170
  return planBindingNodes;
166
171
  }
167
172
  function buildServiceRedirectionPlanBindingNode(params, bindingConstraintsList, binding, parentNode) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/planning/calculations/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/planning/calculations/plan.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface BasePlanParams {
6
6
  autobindOptions: BasePlanParamsAutobindOptions | undefined;
7
7
  getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
8
8
  getClassMetadata: (type: Newable) => ClassMetadata;
9
- servicesBranch: Set<ServiceIdentifier>;
9
+ servicesBranch: ServiceIdentifier[];
10
10
  setBinding: <TInstance>(binding: Binding<TInstance>) => void;
11
11
  }
12
12
  //# sourceMappingURL=BasePlanParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlanParams.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/BasePlanParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC3D,WAAW,EAAE,CAAC,SAAS,EACrB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9C,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,aAAa,CAAC;IACnD,cAAc,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC9D"}
1
+ {"version":3,"file":"BasePlanParams.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/BasePlanParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC3D,WAAW,EAAE,CAAC,SAAS,EACrB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9C,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,aAAa,CAAC;IACnD,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC9D"}
@@ -154,9 +154,11 @@ declare class BindingService implements Cloneable<BindingService> {
154
154
  static build(parent: BindingService | undefined): BindingService;
155
155
  clone(): BindingService;
156
156
  get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
157
+ getById<TResolved>(id: number): Iterable<Binding<TResolved>> | undefined;
158
+ getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
157
159
  getNonParentBindings<TResolved>(serviceId: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
158
160
  getNonParentBoundServices(): Iterable<ServiceIdentifier>;
159
- getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
161
+ removeById(id: number): void;
160
162
  removeAllByModuleId(moduleId: number): void;
161
163
  removeAllByServiceId(serviceId: ServiceIdentifier): void;
162
164
  set<TInstance>(binding: Binding<TInstance>): void;
@@ -254,7 +256,7 @@ interface BasePlanParams {
254
256
  autobindOptions: BasePlanParamsAutobindOptions | undefined;
255
257
  getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
256
258
  getClassMetadata: (type: Newable) => ClassMetadata;
257
- servicesBranch: Set<ServiceIdentifier>;
259
+ servicesBranch: ServiceIdentifier[];
258
260
  setBinding: <TInstance>(binding: Binding<TInstance>) => void;
259
261
  }
260
262
 
@@ -364,8 +366,11 @@ interface DeactivationParams {
364
366
  getDeactivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingDeactivation<TActivated>> | undefined;
365
367
  }
366
368
 
369
+ declare function resolveBindingsDeactivations(params: DeactivationParams, bindings: Iterable<Binding> | undefined): void | Promise<void>;
370
+
367
371
  declare function resolveModuleDeactivations(params: DeactivationParams, moduleId: number): void | Promise<void>;
368
372
 
369
373
  declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
370
374
 
371
- export { ActivationsService, type BaseBinding, type BaseBindingNode, type BasePlanParams, type Binding, type BindingActivation, type BindingActivationRelation, type BindingConstraints, type BindingDeactivation, type BindingDeactivationRelation, type BindingScope, BindingService, type BindingType, type ClassElementMetadata, ClassElementMetadataKind, type ClassMetadata, type ClassMetadataLifecycle, type ConstantValueBinding, type DeactivationParams, DeactivationsService, type DynamicValueBinding, type DynamicValueBuilder, type Factory, type FactoryBinding, type GetOptions, type GetOptionsTagConstraint, type GetPlanOptions, type InstanceBinding, type LeafBindingNode, type ManagedClassElementMetadata, type MetadataName, type MetadataTag, type OptionalGetOptions, type PlanBindingNode, type PlanParams, type PlanParamsConstraint, type PlanParamsTagConstraint, type PlanResult, PlanResultCacheService, type PlanServiceNode, type PlanServiceNodeParent, type PlanServiceRedirectionBindingNode, type PlanTree, type Provider, type ProviderBinding, type ResolutionContext, type ResolutionParams, type Resolved, type ResolvedValueBinding, type ResolvedValueBindingNode, type ResolvedValueElementMetadata, ResolvedValueElementMetadataKind, type ResolvedValueMetadata, type ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
375
+ export { ActivationsService, BindingService, ClassElementMetadataKind, DeactivationsService, PlanResultCacheService, ResolvedValueElementMetadataKind, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
376
+ export type { BaseBinding, BaseBindingNode, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingConstraints, BindingDeactivation, BindingDeactivationRelation, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetOptions, GetOptionsTagConstraint, GetPlanOptions, InstanceBinding, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, UnmanagedClassElementMetadata };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{getOwnReflectMetadata as e,updateOwnReflectMetadata as t,setReflectMetadata as n}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as i}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as r,isPromise as a}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ResolvedValue:"ResolvedValue",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const t of e)yield*t}class d{#e;#t;#n;constructor(e){this.#e=new Map,this.#t={};for(const t of Reflect.ownKeys(e))this.#t[t]=new Map;this.#n=e}add(e,t){this.#i(e).push(t);for(const n of Reflect.ownKeys(t))this.#o(n,t[n]).push(e)}clone(){const e=Reflect.ownKeys(this.#n),t=new d(this.#n);this.#r(this.#e,t.#e);for(const n of e)this.#r(this.#t[n],t.#t[n]);return t}get(e,t){return this.#t[e].get(t)}getAllKeys(e){return this.#t[e].keys()}removeByRelation(e,t){const n=this.get(e,t);if(void 0===n)return;const i=new Set(n);for(const n of i){const i=this.#e.get(n);if(void 0===i)throw new Error("Expecting model relation, none found");for(const o of i)o[e]===t&&this.#a(n,o);this.#e.delete(n)}}#i(e){let t=this.#e.get(e);return void 0===t&&(t=[],this.#e.set(e,t)),t}#o(e,t){let n=this.#t[e].get(t);return void 0===n&&(n=[],this.#t[e].set(t,n)),n}#r(e,t){for(const[n,i]of e)t.set(n,[...i])}#a(e,t){for(const n of Reflect.ownKeys(t))this.#s(e,n,t[n])}#s(e,t,n){const i=this.#t[t].get(n);if(void 0!==i){const o=i.indexOf(e);-1!==o&&i.splice(o,1),0===i.length&&this.#t[t].delete(n)}}}var l,p,f;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class g{#c;#u;constructor(e,t){this.#c=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new g(e)}add(e,t){this.#c.add(e,t)}clone(){return new g(this.#u,this.#c.clone())}get(e){const t=[],n=this.#c.get(l.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#c.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(l.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class m{#d;#u;constructor(e,t){this.#d=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new m(e)}clone(){return new m(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getNonParentBindings(e){return this.#d.get(p.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(p.serviceId)}getByModuleId(e){return this.#d.get(p.moduleId,e)??this.#u?.getByModuleId(e)}removeAllByModuleId(e){this.#d.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(p.serviceId,e)}set(e){const t={[p.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[p.moduleId]=e.moduleId),this.#d.add(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class h{#l;#u;constructor(e,t){this.#l=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,t){this.#l.add(e,t)}clone(){return new h(this.#u,this.#l.clone())}get(e){const t=[],n=this.#l.get(f.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#l.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(f.serviceId,e)}}function v(e,t,n){const i=Array.isArray(e)?e:[e];if(void 0!==n)if("number"!=typeof n)Reflect.decorate(i,t.prototype,n);else for(const e of i)e(t,void 0,n);else Reflect.decorate(i,t)}const y="@inversifyjs/core/classMetadataReflectKey";function M(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const I="@inversifyjs/core/pendingClassMetadataCountReflectKey";const w=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[w];kind;constructor(e,t,n){super(t,n),this[w]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[w]}static isErrorOfKind(e,t){return b.is(e)&&e.kind===t}}var j,T,C;function S(t){const n=e(t,y)??M();if(!function(t){const n=e(t,I);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${t.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<t.length;++e)void 0===t[e]&&n.push(e);if(n.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(t,n.constructorArguments),n;!function(e,t){const n=[];for(let i=0;i<t.constructorArguments.length;++i){const o=t.constructorArguments[i];void 0!==o&&o.kind!==T.unknown||n.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${i.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[i,o]of t.properties)o.kind===T.unknown&&n.push(` - Missing or incomplete metadata for type "${e.name}" at property "${i.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===n.length)throw new b(j.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new b(j.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function A(){return 0}function $(e){return n=>{void 0!==n&&n.kind===T.unknown&&t(e,I,A,(e=>e-1))}}function x(e,t){return(...n)=>i=>{if(void 0===i)return e(...n);if(i.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function B(e){if(e.kind!==T.unknown&&!0!==e.isFromTypescriptParamType)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(j||(j={})),function(e){e[e.unknown=32]="unknown"}(T||(T={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const R=x((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return B(e),{...e,kind:t,value:n}}));function k(e,t){return n=>{const i=n.properties.get(t);return n.properties.set(t,e(i)),n}}var P;function D(e,t,n,i){if(b.isErrorOfKind(i,j.injectionDecoratorConflict)){const o=function(e,t,n){if(void 0===n){if(void 0===t)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:P.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:P.parameter,targetClass:e}:{kind:P.method,method:t,targetClass:e}}(e,t,n);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${i.message}\n\nDetails\n\n${function(e){switch(e.kind){case P.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case P.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case P.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function V(e,n){return(i,o,r)=>{try{void 0===r?function(e,n){const i=F(e,n);return(e,n)=>{t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o):"number"==typeof r?function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,n))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${n?.toString()??""}" at class "${e.constructor.name}"`);t(e,y,M,function(e,t){return n=>{const i=n.constructorArguments[t];return n.constructorArguments[t]=e(i),n}}(i(e),o))}}(e,n)(i,o,r):function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e){return void 0!==e.set}(o))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${n.toString()}" at class "${e.constructor.name}"`);t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o,r)}catch(e){D(i,o,r,e)}}}function F(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function O(e){return V(R(C.singleInjection,e),$)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(P||(P={}));const N="@inversifyjs/core/classIsInjectableFlagReflectKey";const E=[Array,BigInt,Boolean,Function,Number,Object,String];function U(n){const i=e(n,"design:paramtypes");void 0!==i&&t(n,y,M,function(e){return t=>(e.forEach(((e,n)=>{var i;void 0!==t.constructorArguments[n]||(i=e,E.includes(i))||(t.constructorArguments[n]=function(e){return{isFromTypescriptParamType:!0,kind:C.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),t)}(i))}function K(i){return o=>{!function(t){if(void 0!==e(t,N))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${t.name}"`);n(t,N,!0)}(o),U(o),void 0!==i&&t(o,y,M,(e=>({...e,scope:i})))}}function q(e,t,n){let i;return e.extendConstructorArguments??!0?(i=[...t.constructorArguments],n.constructorArguments.map(((e,t)=>{i[t]=e}))):i=n.constructorArguments,i}function z(e,t,n){let i;return i=e.extendProperties??!0?new Map(u(t.properties,n.properties)):n.properties,i}function G(e){return n=>{const i=S(e.type);t(n,y,M,function(e,t){const n=n=>({constructorArguments:q(e,t,n),lifecycle:n.lifecycle,properties:z(e,t,n),scope:n.scope});return n}(e,i))}}function H(e){return t=>{const n=i(t);if(void 0===n)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);G({...e,type:n})(t)}}function J(e){return V(R(C.multipleInjection,e),$)}function L(e){return n=>{void 0===n&&t(e,I,A,(e=>e+1))}}function Q(e){return t=>{const n=t??{kind:T.unknown,name:void 0,optional:!1,tags:new Map};if(n.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function W(e){const t=Q(function(e){return t=>{if(void 0!==t.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return V(t,L)}function X(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Y(){return V(Q(X),L)}function Z(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function _(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function ee(e,t){const n=Q(function(e,t){return n=>{if(n.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return V(n,L)}function te(){return{kind:C.unmanaged}}const ne=x(te,(function(e){if(B(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return te()}));function ie(){return V(ne(),$)}var oe;!function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection"}(oe||(oe={}));class re{#p;constructor(e){this.#p=e}get name(){return this.#p.elem.name}get serviceIdentifier(){return this.#p.elem.serviceIdentifier}get tags(){return this.#p.elem.tags}getAncestor(){if(void 0!==this.#p.previous)return new re(this.#p.previous)}}class ae{last;constructor(e){this.last=e}concat(e){return new ae({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const t=e.elem;return e=e.previous,{done:!1,value:t}}}}}function se(e,t){e.servicesBranch.has(t)&&function(e,t){const n=(i=[...e.servicesBranch,t],[...i].map(o).join(" -> "));var i;throw new b(j.planning,`Circular dependency found: ${n}`)}(e,t),e.servicesBranch.add(t)}function ce(e,t,n){const i=n?.customServiceIdentifier??t.serviceIdentifier,o=[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(t)));if(0===o.length&&void 0!==e.autobindOptions&&"function"==typeof i){const t=function(e,t){return{cache:{isRight:!1,value:void 0},id:0,implementationType:t,isSatisfiedBy:()=>!0,moduleId:void 0,onActivation:void 0,onDeactivation:void 0,scope:e.scope,serviceIdentifier:t,type:c.Instance}}(e.autobindOptions,i);e.setBinding(t),o.push(t)}return o}function ue(e){return void 0!==e.redirections}function de(e,t,n,i){let r,a;ue(n)?(r=n.binding.targetServiceIdentifier,a=n.binding.serviceIdentifier):(r=n.serviceIdentifier,a=n.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,t,n,i,r){if(0!==e.length){const t=`Ambiguous bindings found for service: "${o(n)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case c.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case c.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", redirection: "${o(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${pe(n,i)}".\n\n${fe(r)}`;throw new b(j.planning,t)}t||le(n,i,r)}(e,t,r,a,i):function(e,t,n,i,o){if(void 0!==e||t)return;le(n,i,o)}(e,t,r,a,i)}function le(e,t,n){const i=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${pe(e,t)}".\n\n${fe(n)}`;throw new b(j.planning,i)}function pe(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function fe(e){const t=0===e.tags.size?"":`\n- tags:\n - ${[...e.tags.keys()].map((e=>e.toString())).join("\n - ")}`;return`Binding constraints:\n- service identifier: ${o(e.serviceIdentifier)}\n- name: ${e.name?.toString()??"-"}${t}`}function ge(e,t,n){if(1!==e.redirections.length)de(e.redirections,t,e,n);else{const[i]=e.redirections;ue(i)&&ge(i,t,n)}}function me(e,t,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[i]=e.bindings;ue(i)&&ge(i,t,n)}else de(e.bindings,t,e,n)}function he(e){const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ae({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new re(n.last),o=ce(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...we(e,n,o,a)),!e.rootConstraints.isMultiple){me(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}function ve(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function ye(e,t,n){if(n.kind===C.unmanaged)return;const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=ce(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===C.singleInjection){me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Me(e,t,n){const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=ce(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===oe.singleInjection){me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Ie(e,t,n,i){const o={binding:t,params:[],parent:i};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function we(e,t,n,i){const o=ue(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;se(e,o);const r=[];for(const o of n)switch(o.type){case c.Instance:r.push(ve(e,o,t,i));break;case c.ResolvedValue:r.push(Ie(e,o,t,i));break;case c.ServiceRedirection:{const n=be(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.delete(o),r}function be(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=ce(e,new re(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...we(e,t,r,o)),o}function je(e,t){return e.node.binding.type===c.Instance?function(e,t,n){const i=t.classMetadata;for(const[o,r]of i.constructorArguments.entries())t.constructorParams[o]=ye(e,n,r);for(const[o,r]of i.properties){const i=ye(e,n,r);void 0!==i&&t.propertyParams.set(o,i)}return e.node}(e,e.node,t):function(e,t,n){const i=t.binding.metadata;for(const[o,r]of i.arguments.entries())t.params[o]=Me(e,n,r);return e.node}(e,e.node,t)}var Te;!function(e){e[e.singleMandatory=0]="singleMandatory",e[e.singleOptional=1]="singleOptional",e[e.multipleMandatory=2]="multipleMandatory",e[e.multipleOptional=3]="multipleOptional",e[e.length=4]="length"}(Te||(Te={}));class Ce{#f;#g;#m;#h;#v;constructor(){this.#f=this.#y(),this.#g=this.#y(),this.#h=this.#y(),this.#m=this.#y(),this.#v=[]}clearCache(){for(const e of this.#M())e.clear();for(const e of this.#v)e.clearCache()}get(e){return void 0===e.name?void 0===e.tag?this.#I(this.#f,e).get(e.serviceIdentifier):this.#I(this.#m,e).get(e.serviceIdentifier)?.get(e.tag.key)?.get(e.tag.value):void 0===e.tag?this.#I(this.#g,e).get(e.serviceIdentifier)?.get(e.name):this.#I(this.#h,e).get(e.serviceIdentifier)?.get(e.name)?.get(e.tag.key)?.get(e.tag.value)}set(e,t){void 0===e.name?void 0===e.tag?this.#I(this.#f,e).set(e.serviceIdentifier,t):this.#w(this.#w(this.#I(this.#m,e),e.serviceIdentifier),e.tag.key).set(e.tag.value,t):void 0===e.tag?this.#w(this.#I(this.#g,e),e.serviceIdentifier).set(e.name,t):this.#w(this.#w(this.#w(this.#I(this.#h,e),e.serviceIdentifier),e.name),e.tag.key).set(e.tag.value,t)}subscribe(e){this.#v.push(e)}#y(){const e=new Array(Te.length);for(let t=0;t<e.length;++t)e[t]=new Map;return e}#w(e,t){let n=e.get(t);return void 0===n&&(n=new Map,e.set(t,n)),n}#I(e,t){return e[this.#b(t)]}#M(){return[...this.#f,...this.#g,...this.#h,...this.#m]}#b(e){return e.isMultiple?!0===e.optional?Te.multipleOptional:Te.multipleMandatory:!0===e.optional?Te.singleOptional:Te.singleMandatory}}function Se(e,t){return a(t)?(e.cache={isRight:!0,value:t},t.then((t=>Ae(e,t)))):Ae(e,t)}function Ae(e,t){return e.cache={isRight:!0,value:t},t}function $e(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?xe(e,n,i[Symbol.iterator]()):function(e,t,n){let i=t,o=n.next();for(;!0!==o.done;){const t=o.value(e.context,i);if(a(t))return xe(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function xe(e,t,n){let i=await t,o=n.next();for(;!0!==o.done;)i=await o.value(e.context,i),o=n.next();return i}function Be(e,t,n){let i=n;if(void 0!==t.onActivation){const n=t.onActivation;i=a(i)?i.then((t=>n(e.context,t))):n(e.context,i)}return $e(e,t.serviceIdentifier,i)}function Re(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;return Se(n,Be(t,n,e(t,n)))}}const ke=Re((function(e,t){return t.value}));function Pe(e){return e}function De(e,t){return(n,i)=>{const o=e(i);switch(o.scope){case s.Singleton:if(o.cache.isRight)return o.cache.value;return Se(o,Be(n,o,t(n,i)));case s.Request:{if(n.requestScopeCache.has(o.id))return n.requestScopeCache.get(o.id);const e=Be(n,o,t(n,i));return n.requestScopeCache.set(o.id,e),e}case s.Transient:return Be(n,o,t(n,i))}}}const Ve=(e=>De(Pe,e))((function(e,t){return t.value(e.context)}));const Fe=Re((function(e,t){return t.factory(e.context)}));function Oe(e,t,n){const i=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new b(j.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new b(j.resolution,`Expecting a "${n.toString()}" method when resolving "${t.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let i;try{i=e[n]()}catch(e){throw new b(j.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${t.implementationType.name}"`,{cause:e})}if(a(i))return async function(e,t,n){try{await n}catch(n){throw new b(j.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:n})}}(t,n,i)}}(e,t,n);return a(i)?i.then((()=>e)):e}function Ne(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>Oe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):Oe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Ee=Re((function(e,t){return t.provider(e.context)}));function Ue(e){return e.binding}function Ke(e){return e.binding}const qe=function(e){return(t,n,i)=>{const o=[];for(const[r,s]of i.propertyParams){const c=i.classMetadata.properties.get(r);if(void 0===c)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);c.kind!==C.unmanaged&&void 0!==s.bindings&&(n[r]=e(t,s),a(n[r])&&o.push((async()=>{n[r]=await n[r]})()))}if(o.length>0)return Promise.all(o).then((()=>{}))}}(Xe),ze=function(e){return function t(n,i){const o=[];for(const r of i.redirections)ue(r)?o.push(...t(n,r)):o.push(e(n,r));return o}}(We),Ge=function(e,t,n){return(i,o)=>{const r=e(i,o);return a(r)?t(r,i,o):n(r,i,o)}}(function(e){return(t,n)=>{const i=[];for(const o of n.constructorParams)void 0===o?i.push(void 0):i.push(e(t,o));return i.some(a)?Promise.all(i):i}}(Xe),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(Ne(qe)),Ne(qe)),He=function(e){return(t,n)=>{const i=e(t,n);return a(i)?i.then((e=>n.binding.factory(...e))):n.binding.factory(...i)}}(function(e){return(t,n)=>{const i=[];for(const o of n.params)i.push(e(t,o));return i.some(a)?Promise.all(i):i}}(Xe)),Je=(e=>De(Ue,e))(Ge),Le=(e=>De(Ke,e))(He);function Qe(e){return Xe(e,e.planResult.tree.root)}function We(e,t){switch(t.binding.type){case c.ConstantValue:return ke(e,t.binding);case c.DynamicValue:return Ve(e,t.binding);case c.Factory:return Fe(e,t.binding);case c.Instance:return Je(e,t);case c.Provider:return Ee(e,t.binding);case c.ResolvedValue:return Le(e,t)}}function Xe(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const i of t)ue(i)?n.push(...ze(e,i)):n.push(We(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ue(t)){const n=ze(e,t);if(1===n.length)return n[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return We(e,t)}(e,t.bindings)}function Ye(e){return void 0!==e.scope}function Ze(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function _e(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?et(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return et(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function et(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function tt(e,t){const n=function(e,t){if(t.type===c.Instance){const n=e.getClassMetadata(t.implementationType),i=t.cache.value;return a(i)?i.then((e=>Ze(n,e))):Ze(n,i)}}(e,t);return void 0===n?nt(e,t):n.then((()=>nt(e,t)))}function nt(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>it(e,t,n))):it(e,t,n.value)}function it(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?_e(e,t.serviceIdentifier,n):i.then((()=>_e(e,t.serviceIdentifier,n)))}function ot(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Ye(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=tt(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function rt(e,t){const n=e.getBindingsFromModule(t);return ot(e,n)}function at(e,t){const n=e.getBindings(t);return ot(e,n)}export{g as ActivationsService,m as BindingService,C as ClassElementMetadataKind,h as DeactivationsService,Ce as PlanResultCacheService,oe as ResolvedValueElementMetadataKind,s as bindingScopeValues,c as bindingTypeValues,v as decorate,S as getClassMetadata,O as inject,H as injectFromBase,K as injectable,J as multiInject,W as named,Y as optional,he as plan,Z as postConstruct,_ as preDestroy,Qe as resolve,rt as resolveModuleDeactivations,at as resolveServiceDeactivations,ee as tagged,ie as unmanaged};
1
+ import{getOwnReflectMetadata as e,updateOwnReflectMetadata as t,setReflectMetadata as n}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as i}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as r,isPromise as a}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ResolvedValue:"ResolvedValue",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const t of e)yield*t}class d{#e;#t;#n;constructor(e){this.#e=new Map,this.#t={};for(const t of Reflect.ownKeys(e))this.#t[t]=new Map;this.#n=e}add(e,t){this.#i(e).push(t);for(const n of Reflect.ownKeys(t))this.#o(n,t[n]).push(e)}clone(){const e=Reflect.ownKeys(this.#n),t=new d(this.#n);this.#r(this.#e,t.#e);for(const n of e)this.#r(this.#t[n],t.#t[n]);return t}get(e,t){return this.#t[e].get(t)}getAllKeys(e){return this.#t[e].keys()}removeByRelation(e,t){const n=this.get(e,t);if(void 0===n)return;const i=new Set(n);for(const n of i){const i=this.#e.get(n);if(void 0===i)throw new Error("Expecting model relation, none found");for(const o of i)o[e]===t&&this.#a(n,o);this.#e.delete(n)}}#i(e){let t=this.#e.get(e);return void 0===t&&(t=[],this.#e.set(e,t)),t}#o(e,t){let n=this.#t[e].get(t);return void 0===n&&(n=[],this.#t[e].set(t,n)),n}#r(e,t){for(const[n,i]of e)t.set(n,[...i])}#a(e,t){for(const n of Reflect.ownKeys(t))this.#s(e,n,t[n])}#s(e,t,n){const i=this.#t[t].get(n);if(void 0!==i){const o=i.indexOf(e);-1!==o&&i.splice(o,1),0===i.length&&this.#t[t].delete(n)}}}var l,p,f;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class g{#c;#u;constructor(e,t){this.#c=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new g(e)}add(e,t){this.#c.add(e,t)}clone(){return new g(this.#u,this.#c.clone())}get(e){const t=[],n=this.#c.get(l.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#c.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(l.serviceId,e)}}!function(e){e.id="id",e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class m{#d;#u;constructor(e,t){this.#d=t??new d({id:{isOptional:!1},moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new m(e)}clone(){return new m(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getById(e){return this.#d.get(p.id,e)??this.#u?.getById(e)}getByModuleId(e){return this.#d.get(p.moduleId,e)??this.#u?.getByModuleId(e)}getNonParentBindings(e){return this.#d.get(p.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(p.serviceId)}removeById(e){this.#d.removeByRelation(p.id,e)}removeAllByModuleId(e){this.#d.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(p.serviceId,e)}set(e){const t={[p.id]:e.id,[p.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[p.moduleId]=e.moduleId),this.#d.add(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class h{#l;#u;constructor(e,t){this.#l=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,t){this.#l.add(e,t)}clone(){return new h(this.#u,this.#l.clone())}get(e){const t=[],n=this.#l.get(f.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#l.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(f.serviceId,e)}}function v(e,t,n){const i=Array.isArray(e)?e:[e];if(void 0!==n)if("number"!=typeof n)Reflect.decorate(i,t.prototype,n);else for(const e of i)e(t,void 0,n);else Reflect.decorate(i,t)}const y="@inversifyjs/core/classMetadataReflectKey";function M(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const I="@inversifyjs/core/pendingClassMetadataCountReflectKey";const w=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[w];kind;constructor(e,t,n){super(t,n),this[w]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[w]}static isErrorOfKind(e,t){return b.is(e)&&e.kind===t}}var j,T,C;function S(t){const n=e(t,y)??M();if(!function(t){const n=e(t,I);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${t.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<t.length;++e)void 0===t[e]&&n.push(e);if(n.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(t,n.constructorArguments),n;!function(e,t){const n=[];for(let i=0;i<t.constructorArguments.length;++i){const o=t.constructorArguments[i];void 0!==o&&o.kind!==T.unknown||n.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${i.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[i,o]of t.properties)o.kind===T.unknown&&n.push(` - Missing or incomplete metadata for type "${e.name}" at property "${i.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===n.length)throw new b(j.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new b(j.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function A(){return 0}function $(e){return n=>{void 0!==n&&n.kind===T.unknown&&t(e,I,A,(e=>e-1))}}function x(e,t){return(...n)=>i=>{if(void 0===i)return e(...n);if(i.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function B(e){if(e.kind!==T.unknown&&!0!==e.isFromTypescriptParamType)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(j||(j={})),function(e){e[e.unknown=32]="unknown"}(T||(T={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const R=x((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return B(e),{...e,kind:t,value:n}}));function k(e,t){return n=>{const i=n.properties.get(t);return n.properties.set(t,e(i)),n}}var P;function D(e,t,n,i){if(b.isErrorOfKind(i,j.injectionDecoratorConflict)){const o=function(e,t,n){if(void 0===n){if(void 0===t)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:P.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:P.parameter,targetClass:e}:{kind:P.method,method:t,targetClass:e}}(e,t,n);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${i.message}\n\nDetails\n\n${function(e){switch(e.kind){case P.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case P.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case P.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function V(e,n){return(i,o,r)=>{try{void 0===r?function(e,n){const i=F(e,n);return(e,n)=>{t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o):"number"==typeof r?function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,n))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${n?.toString()??""}" at class "${e.constructor.name}"`);t(e,y,M,function(e,t){return n=>{const i=n.constructorArguments[t];return n.constructorArguments[t]=e(i),n}}(i(e),o))}}(e,n)(i,o,r):function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e){return void 0!==e.set}(o))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${n.toString()}" at class "${e.constructor.name}"`);t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o,r)}catch(e){D(i,o,r,e)}}}function F(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function O(e){return V(R(C.singleInjection,e),$)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(P||(P={}));const N="@inversifyjs/core/classIsInjectableFlagReflectKey";const E=[Array,BigInt,Boolean,Function,Number,Object,String];function U(n){const i=e(n,"design:paramtypes");void 0!==i&&t(n,y,M,function(e){return t=>(e.forEach(((e,n)=>{var i;void 0!==t.constructorArguments[n]||(i=e,E.includes(i))||(t.constructorArguments[n]=function(e){return{isFromTypescriptParamType:!0,kind:C.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),t)}(i))}function K(i){return o=>{!function(t){if(void 0!==e(t,N))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${t.name}"`);n(t,N,!0)}(o),U(o),void 0!==i&&t(o,y,M,(e=>({...e,scope:i})))}}function q(e,t,n){let i;return e.extendConstructorArguments??!0?(i=[...t.constructorArguments],n.constructorArguments.map(((e,t)=>{i[t]=e}))):i=n.constructorArguments,i}function z(e,t,n){let i;return i=e.extendProperties??!0?new Map(u(t.properties,n.properties)):n.properties,i}function G(e){return n=>{const i=S(e.type);t(n,y,M,function(e,t){const n=n=>({constructorArguments:q(e,t,n),lifecycle:n.lifecycle,properties:z(e,t,n),scope:n.scope});return n}(e,i))}}function H(e){return t=>{const n=i(t);if(void 0===n)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);G({...e,type:n})(t)}}function J(e){return V(R(C.multipleInjection,e),$)}function L(e){return n=>{void 0===n&&t(e,I,A,(e=>e+1))}}function Q(e){return t=>{const n=t??{kind:T.unknown,name:void 0,optional:!1,tags:new Map};if(n.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function W(e){const t=Q(function(e){return t=>{if(void 0!==t.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return V(t,L)}function X(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Y(){return V(Q(X),L)}function Z(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function _(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function ee(e,t){const n=Q(function(e,t){return n=>{if(n.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return V(n,L)}function te(){return{kind:C.unmanaged}}const ne=x(te,(function(e){if(B(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return te()}));function ie(){return V(ne(),$)}var oe;!function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection"}(oe||(oe={}));class re{#p;constructor(e){this.#p=e}get name(){return this.#p.elem.name}get serviceIdentifier(){return this.#p.elem.serviceIdentifier}get tags(){return this.#p.elem.tags}getAncestor(){if(void 0!==this.#p.previous)return new re(this.#p.previous)}}class ae{last;constructor(e){this.last=e}concat(e){return new ae({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const t=e.elem;return e=e.previous,{done:!1,value:t}}}}}function se(e,t,n){const i=n?.customServiceIdentifier??t.serviceIdentifier,o=[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(t)));if(0===o.length&&void 0!==e.autobindOptions&&"function"==typeof i){const t=function(e,t){return{cache:{isRight:!1,value:void 0},id:0,implementationType:t,isSatisfiedBy:()=>!0,moduleId:void 0,onActivation:void 0,onDeactivation:void 0,scope:e.scope,serviceIdentifier:t,type:c.Instance}}(e.autobindOptions,i);e.setBinding(t),o.push(t)}return o}function ce(e){return void 0!==e.redirections}function ue(e,t,n,i){let r,a;ce(n)?(r=n.binding.targetServiceIdentifier,a=n.binding.serviceIdentifier):(r=n.serviceIdentifier,a=n.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,t,n,i,r){if(0!==e.length){const t=`Ambiguous bindings found for service: "${o(n)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case c.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case c.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", redirection: "${o(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${le(n,i)}".\n\n${pe(r)}`;throw new b(j.planning,t)}t||de(n,i,r)}(e,t,r,a,i):function(e,t,n,i,o){if(void 0!==e||t)return;de(n,i,o)}(e,t,r,a,i)}function de(e,t,n){const i=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${le(e,t)}".\n\n${pe(n)}`;throw new b(j.planning,i)}function le(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function pe(e){const t=0===e.tags.size?"":`\n- tags:\n - ${[...e.tags.keys()].map((e=>e.toString())).join("\n - ")}`;return`Binding constraints:\n- service identifier: ${o(e.serviceIdentifier)}\n- name: ${e.name?.toString()??"-"}${t}`}function fe(e,t,n){if(1!==e.redirections.length)ue(e.redirections,t,e,n);else{const[i]=e.redirections;ce(i)&&fe(i,t,n)}}function ge(e,t,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[i]=e.bindings;ce(i)&&fe(i,t,n)}else ue(e.bindings,t,e,n)}function me(e,t){if(function(e){return e instanceof Error&&(e instanceof RangeError&&/stack space|call stack|too much recursion/i.test(e.message)||"InternalError"===e.name&&/too much recursion/.test(e.message))}(t)){const n=function(e){const t=[...e];if(0===t.length)return"(No dependency trace)";return t.map(o).join(" -> ")}(function(e){const t=new Set;for(const n of e.servicesBranch){if(t.has(n))return[...t,n];t.add(n)}return[...t]}(e));throw new b(j.planning,`Circular dependency found: ${n}`,{cause:t})}throw t}function he(e){try{const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ae({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new re(n.last),o=se(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...we(e,n,o,a)),!e.rootConstraints.isMultiple){ge(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}catch(t){me(e,t)}}function ve(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function ye(e,t,n){if(n.kind===C.unmanaged)return;const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=se(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===C.singleInjection){ge(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Me(e,t,n){const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=se(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===oe.singleInjection){ge(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Ie(e,t,n,i){const o={binding:t,params:[],parent:i};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function we(e,t,n,i){const o=ce(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;e.servicesBranch.push(o);const r=[];for(const o of n)switch(o.type){case c.Instance:r.push(ve(e,o,t,i));break;case c.ResolvedValue:r.push(Ie(e,o,t,i));break;case c.ServiceRedirection:{const n=be(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.pop(),r}function be(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=se(e,new re(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...we(e,t,r,o)),o}function je(e,t){return e.node.binding.type===c.Instance?function(e,t,n){const i=t.classMetadata;for(const[o,r]of i.constructorArguments.entries())t.constructorParams[o]=ye(e,n,r);for(const[o,r]of i.properties){const i=ye(e,n,r);void 0!==i&&t.propertyParams.set(o,i)}return e.node}(e,e.node,t):function(e,t,n){const i=t.binding.metadata;for(const[o,r]of i.arguments.entries())t.params[o]=Me(e,n,r);return e.node}(e,e.node,t)}var Te;!function(e){e[e.singleMandatory=0]="singleMandatory",e[e.singleOptional=1]="singleOptional",e[e.multipleMandatory=2]="multipleMandatory",e[e.multipleOptional=3]="multipleOptional",e[e.length=4]="length"}(Te||(Te={}));class Ce{#f;#g;#m;#h;#v;constructor(){this.#f=this.#y(),this.#g=this.#y(),this.#h=this.#y(),this.#m=this.#y(),this.#v=[]}clearCache(){for(const e of this.#M())e.clear();for(const e of this.#v)e.clearCache()}get(e){return void 0===e.name?void 0===e.tag?this.#I(this.#f,e).get(e.serviceIdentifier):this.#I(this.#m,e).get(e.serviceIdentifier)?.get(e.tag.key)?.get(e.tag.value):void 0===e.tag?this.#I(this.#g,e).get(e.serviceIdentifier)?.get(e.name):this.#I(this.#h,e).get(e.serviceIdentifier)?.get(e.name)?.get(e.tag.key)?.get(e.tag.value)}set(e,t){void 0===e.name?void 0===e.tag?this.#I(this.#f,e).set(e.serviceIdentifier,t):this.#w(this.#w(this.#I(this.#m,e),e.serviceIdentifier),e.tag.key).set(e.tag.value,t):void 0===e.tag?this.#w(this.#I(this.#g,e),e.serviceIdentifier).set(e.name,t):this.#w(this.#w(this.#w(this.#I(this.#h,e),e.serviceIdentifier),e.name),e.tag.key).set(e.tag.value,t)}subscribe(e){this.#v.push(e)}#y(){const e=new Array(Te.length);for(let t=0;t<e.length;++t)e[t]=new Map;return e}#w(e,t){let n=e.get(t);return void 0===n&&(n=new Map,e.set(t,n)),n}#I(e,t){return e[this.#b(t)]}#M(){return[...this.#f,...this.#g,...this.#h,...this.#m]}#b(e){return e.isMultiple?!0===e.optional?Te.multipleOptional:Te.multipleMandatory:!0===e.optional?Te.singleOptional:Te.singleMandatory}}function Se(e,t){return a(t)?(e.cache={isRight:!0,value:t},t.then((t=>Ae(e,t)))):Ae(e,t)}function Ae(e,t){return e.cache={isRight:!0,value:t},t}function $e(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?xe(e,n,i[Symbol.iterator]()):function(e,t,n){let i=t,o=n.next();for(;!0!==o.done;){const t=o.value(e.context,i);if(a(t))return xe(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function xe(e,t,n){let i=await t,o=n.next();for(;!0!==o.done;)i=await o.value(e.context,i),o=n.next();return i}function Be(e,t,n){let i=n;if(void 0!==t.onActivation){const n=t.onActivation;i=a(i)?i.then((t=>n(e.context,t))):n(e.context,i)}return $e(e,t.serviceIdentifier,i)}function Re(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;return Se(n,Be(t,n,e(t,n)))}}const ke=Re((function(e,t){return t.value}));function Pe(e){return e}function De(e,t){return(n,i)=>{const o=e(i);switch(o.scope){case s.Singleton:if(o.cache.isRight)return o.cache.value;return Se(o,Be(n,o,t(n,i)));case s.Request:{if(n.requestScopeCache.has(o.id))return n.requestScopeCache.get(o.id);const e=Be(n,o,t(n,i));return n.requestScopeCache.set(o.id,e),e}case s.Transient:return Be(n,o,t(n,i))}}}const Ve=(e=>De(Pe,e))((function(e,t){return t.value(e.context)}));const Fe=Re((function(e,t){return t.factory(e.context)}));function Oe(e,t,n){const i=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new b(j.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new b(j.resolution,`Expecting a "${n.toString()}" method when resolving "${t.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let i;try{i=e[n]()}catch(e){throw new b(j.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${t.implementationType.name}"`,{cause:e})}if(a(i))return async function(e,t,n){try{await n}catch(n){throw new b(j.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:n})}}(t,n,i)}}(e,t,n);return a(i)?i.then((()=>e)):e}function Ne(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>Oe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):Oe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Ee=Re((function(e,t){return t.provider(e.context)}));function Ue(e){return e.binding}function Ke(e){return e.binding}const qe=function(e){return(t,n,i)=>{const o=[];for(const[r,s]of i.propertyParams){const c=i.classMetadata.properties.get(r);if(void 0===c)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);c.kind!==C.unmanaged&&void 0!==s.bindings&&(n[r]=e(t,s),a(n[r])&&o.push((async()=>{n[r]=await n[r]})()))}if(o.length>0)return Promise.all(o).then((()=>{}))}}(Xe),ze=function(e){return function t(n,i){const o=[];for(const r of i.redirections)ce(r)?o.push(...t(n,r)):o.push(e(n,r));return o}}(We),Ge=function(e,t,n){return(i,o)=>{const r=e(i,o);return a(r)?t(r,i,o):n(r,i,o)}}(function(e){return(t,n)=>{const i=[];for(const o of n.constructorParams)void 0===o?i.push(void 0):i.push(e(t,o));return i.some(a)?Promise.all(i):i}}(Xe),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(Ne(qe)),Ne(qe)),He=function(e){return(t,n)=>{const i=e(t,n);return a(i)?i.then((e=>n.binding.factory(...e))):n.binding.factory(...i)}}(function(e){return(t,n)=>{const i=[];for(const o of n.params)i.push(e(t,o));return i.some(a)?Promise.all(i):i}}(Xe)),Je=(e=>De(Ue,e))(Ge),Le=(e=>De(Ke,e))(He);function Qe(e){return Xe(e,e.planResult.tree.root)}function We(e,t){switch(t.binding.type){case c.ConstantValue:return ke(e,t.binding);case c.DynamicValue:return Ve(e,t.binding);case c.Factory:return Fe(e,t.binding);case c.Instance:return Je(e,t);case c.Provider:return Ee(e,t.binding);case c.ResolvedValue:return Le(e,t)}}function Xe(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const i of t)ce(i)?n.push(...ze(e,i)):n.push(We(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ce(t)){const n=ze(e,t);if(1===n.length)return n[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return We(e,t)}(e,t.bindings)}function Ye(e){return void 0!==e.scope}function Ze(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function _e(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?et(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return et(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function et(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function tt(e,t){const n=function(e,t){if(t.type===c.Instance){const n=e.getClassMetadata(t.implementationType),i=t.cache.value;return a(i)?i.then((e=>Ze(n,e))):Ze(n,i)}}(e,t);return void 0===n?nt(e,t):n.then((()=>nt(e,t)))}function nt(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>it(e,t,n))):it(e,t,n.value)}function it(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?_e(e,t.serviceIdentifier,n):i.then((()=>_e(e,t.serviceIdentifier,n)))}function ot(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Ye(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=tt(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function rt(e,t){const n=e.getBindingsFromModule(t);return ot(e,n)}function at(e,t){const n=e.getBindings(t);return ot(e,n)}export{g as ActivationsService,m as BindingService,C as ClassElementMetadataKind,h as DeactivationsService,Ce as PlanResultCacheService,oe as ResolvedValueElementMetadataKind,s as bindingScopeValues,c as bindingTypeValues,v as decorate,S as getClassMetadata,O as inject,H as injectFromBase,K as injectable,J as multiInject,W as named,Y as optional,he as plan,Z as postConstruct,_ as preDestroy,Qe as resolve,ot as resolveBindingsDeactivations,rt as resolveModuleDeactivations,at as resolveServiceDeactivations,ee as tagged,ie as unmanaged};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/binding/models/BindingScope.ts","../../src/binding/models/BindingType.ts","../../src/common/calculations/chain.ts","../../src/common/models/OneToManyMapStar.ts","../../src/binding/services/ActivationsService.ts","../../src/binding/services/BindingService.ts","../../src/binding/services/DeactivationsService.ts","../../src/decorator/actions/decorate.ts","../../src/reflectMetadata/data/classMetadataReflectKey.ts","../../src/metadata/calculations/getDefaultClassMetadata.ts","../../src/reflectMetadata/data/pendingClassMetadataCountReflectKey.ts","../../src/error/models/InversifyCoreError.ts","../../src/error/models/InversifyCoreErrorKind.ts","../../src/metadata/models/MaybeClassElementMetadataKind.ts","../../src/metadata/models/ClassElementMetadataKind.ts","../../src/metadata/calculations/getClassMetadata.ts","../../src/metadata/calculations/isPendingClassMetadata.ts","../../src/metadata/calculations/validateConstructorMetadataArray.ts","../../src/metadata/calculations/throwAtInvalidClassMetadata.ts","../../src/metadata/calculations/getDefaultPendingClassMetadataCount.ts","../../src/metadata/actions/decrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/assertMetadataFromTypescriptIfManaged.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultManagedMetadata.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/actions/updateMaybeClassMetadataProperty.ts","../../src/decorator/models/DecoratorInfoKind.ts","../../src/metadata/calculations/handleInjectionError.ts","../../src/decorator/calculations/getDecoratorInfo.ts","../../src/decorator/calculations/stringifyDecoratorInfo.ts","../../src/metadata/decorators/injectBase.ts","../../src/metadata/actions/updateMaybeClassMetadataConstructorArgument.ts","../../src/metadata/decorators/inject.ts","../../src/reflectMetadata/data/classIsInjectableFlagReflectKey.ts","../../src/metadata/calculations/isUserlandEmittedType.ts","../../src/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.ts","../../src/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.ts","../../src/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.ts","../../src/metadata/decorators/injectable.ts","../../src/metadata/actions/setIsInjectableFlag.ts","../../src/metadata/calculations/getExtendedConstructorArguments.ts","../../src/metadata/calculations/getExtendedProperties.ts","../../src/metadata/decorators/injectFrom.ts","../../src/metadata/decorators/injectFromBase.ts","../../src/metadata/decorators/multiInject.ts","../../src/metadata/actions/incrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultMaybeClassElementMetadata.ts","../../src/metadata/decorators/named.ts","../../src/metadata/actions/updateMetadataName.ts","../../src/metadata/actions/updateMetadataOptional.ts","../../src/metadata/decorators/optional.ts","../../src/metadata/decorators/postConstruct.ts","../../src/metadata/actions/updateMaybeClassMetadataPostConstructor.ts","../../src/metadata/decorators/preDestroy.ts","../../src/metadata/actions/updateMaybeClassMetadataPreDestroy.ts","../../src/metadata/decorators/tagged.ts","../../src/metadata/actions/updateMetadataTag.ts","../../src/metadata/calculations/buildDefaultUnmanagedMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/decorators/unmanaged.ts","../../src/metadata/models/ResolvedValueElementMetadataKind.ts","../../src/binding/models/BindingConstraintsImplementation.ts","../../src/common/models/SingleInmutableLinkedList.ts","../../src/planning/actions/addBranchService.ts","../../src/planning/calculations/buildFilteredServiceBindings.ts","../../src/planning/calculations/isPlanServiceRedirectionBindingNode.ts","../../src/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.ts","../../src/binding/calculations/stringifyBinding.ts","../../src/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.ts","../../src/planning/calculations/checkServiceNodeSingleInjectionBindings.ts","../../src/planning/calculations/plan.ts","../../src/planning/calculations/isInstanceBindingNode.ts","../../src/planning/services/PlanResultCacheService.ts","../../src/resolution/actions/cacheResolvedValue.ts","../../src/resolution/actions/resolveBindingServiceActivations.ts","../../src/resolution/actions/resolveBindingActivations.ts","../../src/resolution/actions/resolveSingletonScopedBinding.ts","../../src/resolution/actions/resolveConstantValueBinding.ts","../../src/resolution/calculations/resolveConstantValueBindingCallback.ts","../../src/common/calculations/getSelf.ts","../../src/resolution/actions/resolveScoped.ts","../../src/resolution/actions/resolveScopedBinding.ts","../../src/resolution/actions/resolveDynamicValueBinding.ts","../../src/resolution/calculations/resolveDynamicValueBindingCallback.ts","../../src/resolution/actions/resolveFactoryBinding.ts","../../src/resolution/calculations/resolveFactoryBindingCallback.ts","../../src/resolution/actions/resolvePostConstruct.ts","../../src/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.ts","../../src/resolution/actions/resolveProviderBinding.ts","../../src/resolution/calculations/resolveProviderBindingCallback.ts","../../src/resolution/calculations/getInstanceNodeBinding.ts","../../src/resolution/calculations/getResolvedValueNodeBinding.ts","../../src/resolution/actions/resolve.ts","../../src/resolution/actions/setInstanceProperties.ts","../../src/resolution/actions/resolveServiceRedirectionBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingConstructorParams.ts","../../src/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.ts","../../src/resolution/actions/resolveResolvedValueBindingNode.ts","../../src/resolution/actions/resolveResolvedValueBindingParams.ts","../../src/resolution/actions/resolveScopedInstanceBindingNode.ts","../../src/resolution/actions/resolveScopedResolvedValueBindingNode.ts","../../src/binding/calculations/isScopedBinding.ts","../../src/resolution/actions/resolveBindingPreDestroy.ts","../../src/resolution/actions/resolveBindingServiceDeactivations.ts","../../src/resolution/actions/resolveBindingDeactivations.ts","../../src/resolution/actions/resolveBindingsDeactivations.ts","../../src/resolution/actions/resolveModuleDeactivations.ts","../../src/resolution/actions/resolveServiceDeactivations.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","ResolvedValue","ServiceRedirection","chain","iterables","iterable","OneToManyMapStar","modelToRelationMap","relationToModelsMaps","spec","constructor","this","Map","specProperty","Reflect","ownKeys","add","model","relation","buildOrGetModelArray","push","relationKey","buildOrGetRelationModels","clone","properties","pushEntriesIntoMap","property","get","key","value","getAllKeys","keys","removeByRelation","models","undefined","uniqueModelsSet","Set","relations","Error","removeModelFromRelationMaps","delete","set","relationValue","source","target","removeModelFromRelationMap","relationModels","index","indexOf","splice","length","ActivationRelationKind","BindingRelationKind","DeactivationRelationKind","ActivationsService","activationMaps","parent","moduleId","isOptional","serviceId","build","activation","serviceIdentifier","activationIterables","activations","parentActivations","removeAllByModuleId","removeAllByServiceId","BindingService","bindingMaps","getNonParentBindings","getNonParentBoundServices","getByModuleId","binding","DeactivationsService","deactivationMaps","deactivation","deactivationIterables","deactivations","parentDeactivations","decorate","decorators","parameterIndexOrProperty","parsedDecorators","Array","isArray","prototype","decorator","classMetadataReflectKey","getDefaultClassMetadata","constructorArguments","lifecycle","postConstructMethodName","preDestroyMethodName","scope","pendingClassMetadataCountReflectKey","isAppErrorSymbol","Symbol","for","InversifyCoreError","kind","message","options","super","is","isErrorOfKind","InversifyCoreErrorKind","MaybeClassElementMetadataKind","ClassElementMetadataKind","getClassMetadata","type","classMetadata","getOwnReflectMetadata","pendingClassMetadataCount","isPendingClassMetadata","undefinedIndexes","missingInjectionDecorator","name","toString","i","join","validateConstructorMetadataArray","errors","constructorArgument","unknown","propertyKey","throwAtInvalidClassMetadata","getDefaultPendingClassMetadataCount","decrementPendingClassMetadataCount","metadata","updateOwnReflectMetadata","count","buildClassElementMetadataFromMaybeClassElementMetadata","buildDefaultMetadata","buildMetadataFromMaybeManagedMetadata","params","unmanaged","injectionDecoratorConflict","assertMetadataFromTypescriptIfManaged","isFromTypescriptParamType","buildManagedMetadataFromMaybeClassElementMetadata","optional","tags","updateMaybeClassMetadataProperty","updateMetadata","propertyMetadata","DecoratorInfoKind","handleInjectionError","parameterIndex","error","info","parameterIndexOrDescriptor","targetClass","parameter","method","getDecoratorInfo","decoratorTargetInfo","stringifyDecoratorInfo","cause","injectBase","updatePendingClassMetadataCount","buildComposedUpdateMetadataFromTarget","buildComposedUpdateMetadata","injectProperty","isConstructorParameter","updateMaybeClassMetadataConstructorArgument","injectParameter","descriptor","isPropertySetter","injectMethod","updateTargetPendingClassMetadataCount","inject","singleInjection","classIsInjectableFlagReflectKey","NON_USERLAND_TYPES","BigInt","Boolean","Function","Number","Object","String","updateClassMetadataWithTypescriptParameterTypes","typescriptConstructorArguments","forEach","constructorArgumentType","includes","buildClassElementMetadataFromTypescriptParameterType","updateMaybeClassMetadataWithTypescriptClassMetadata","injectable","setReflectMetadata","setIsInjectableFlag","getExtendedConstructorArguments","baseTypeClassMetadata","typeMetadata","extendedConstructorArguments","extendConstructorArguments","map","classElementMetadata","getExtendedProperties","extendedProperties","extendProperties","injectFrom","callback","composeUpdateReflectMetadataCallback","injectFromBase","baseType","getBaseType","multiInject","multipleInjection","incrementPendingClassMetadataCount","buildMaybeClassElementMetadataFromMaybeClassElementMetadata","definedMetadata","named","updateMetadataName","updateMetadataOptional","postConstruct","_descriptor","methodName","preDestroy","tagged","has","updateMetadataTag","buildDefaultUnmanagedMetadata","buildUnmanagedMetadataFromMaybeClassElementMetadata","size","hasManagedMetadata","ResolvedValueElementMetadataKind","BindingConstraintsImplementation","node","elem","getAncestor","previous","SingleInmutableLinkedList","last","concat","iterator","next","done","addBranchService","servicesBranch","stringifiedCircularDependencies","serviceIdentifiers","stringifyServiceIdentifier","planning","throwError","buildFilteredServiceBindings","bindingConstraints","customServiceIdentifier","filteredBindings","getBindings","filter","isSatisfiedBy","autobindOptions","cache","isRight","id","implementationType","onActivation","onDeactivation","buildInstanceBinding","setBinding","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","stringifyBinding","stringifyParentServiceIdentifier","stringifyBindingConstraints","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","stringifiedTags","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","plan","rootConstraints","tag","bindingConstraintsList","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","subplan","buildPlanServiceNodeFromClassElementMetadata","elementMetadata","LazyServiceIdentifier","unwrap","updatedBindingConstraintsList","buildPlanServiceNodeFromResolvedValueElementMetadata","buildResolvedValuePlanBindingNode","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","entries","planServiceNode","subplanInstanceBindingNode","resolvedValueMetadata","arguments","subplanResolvedValueBindingNode","GetPlanBooleanOptionsMask","PlanResultCacheService","serviceIdToValuePlanMap","namedServiceIdToValuePlanMap","taggedServiceIdToValuePlanMap","namedTaggedServiceIdToValuePlanMap","subscribers","buildInitializedMapArray","clearCache","getMaps","clear","subscriber","getMapFromMapArray","planResult","getOrBuildMapValueFromMapMap","subscribe","mapArray","valueMap","getMapArrayIndex","multipleOptional","multipleMandatory","singleOptional","singleMandatory","cacheResolvedValue","resolvedValue","isPromise","then","syncResolvedValue","cacheSyncResolvedValue","resolveBindingServiceActivations","getActivations","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","resolved","resolveSingletonScopedBinding","resolve","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","requestScopeCache","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","getResolvedValueNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveResolvedValueBindingNode","resolveResolvedValueBindingParams","paramValues","resolvedParamValues","curryResolveResolvedValueBindingNode","paramsResolvedValues","param","curryResolveResolvedValueBindingParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","resolveScopedResolvedValueBindingNode","curryResolveScopedResolvedValueBindingNode","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filterCachedSinglentonScopedBindings","deactivationPromiseResults","resolveModuleDeactivations","getBindingsFromModule","resolveServiceDeactivations"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/binding/models/BindingScope.ts","../../src/binding/models/BindingType.ts","../../src/common/calculations/chain.ts","../../src/common/models/OneToManyMapStar.ts","../../src/binding/services/ActivationsService.ts","../../src/binding/services/BindingService.ts","../../src/binding/services/DeactivationsService.ts","../../src/decorator/actions/decorate.ts","../../src/reflectMetadata/data/classMetadataReflectKey.ts","../../src/metadata/calculations/getDefaultClassMetadata.ts","../../src/reflectMetadata/data/pendingClassMetadataCountReflectKey.ts","../../src/error/models/InversifyCoreError.ts","../../src/error/models/InversifyCoreErrorKind.ts","../../src/metadata/models/MaybeClassElementMetadataKind.ts","../../src/metadata/models/ClassElementMetadataKind.ts","../../src/metadata/calculations/getClassMetadata.ts","../../src/metadata/calculations/isPendingClassMetadata.ts","../../src/metadata/calculations/validateConstructorMetadataArray.ts","../../src/metadata/calculations/throwAtInvalidClassMetadata.ts","../../src/metadata/calculations/getDefaultPendingClassMetadataCount.ts","../../src/metadata/actions/decrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/assertMetadataFromTypescriptIfManaged.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultManagedMetadata.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/actions/updateMaybeClassMetadataProperty.ts","../../src/decorator/models/DecoratorInfoKind.ts","../../src/metadata/calculations/handleInjectionError.ts","../../src/decorator/calculations/getDecoratorInfo.ts","../../src/decorator/calculations/stringifyDecoratorInfo.ts","../../src/metadata/decorators/injectBase.ts","../../src/metadata/actions/updateMaybeClassMetadataConstructorArgument.ts","../../src/metadata/decorators/inject.ts","../../src/reflectMetadata/data/classIsInjectableFlagReflectKey.ts","../../src/metadata/calculations/isUserlandEmittedType.ts","../../src/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.ts","../../src/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.ts","../../src/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.ts","../../src/metadata/decorators/injectable.ts","../../src/metadata/actions/setIsInjectableFlag.ts","../../src/metadata/calculations/getExtendedConstructorArguments.ts","../../src/metadata/calculations/getExtendedProperties.ts","../../src/metadata/decorators/injectFrom.ts","../../src/metadata/decorators/injectFromBase.ts","../../src/metadata/decorators/multiInject.ts","../../src/metadata/actions/incrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultMaybeClassElementMetadata.ts","../../src/metadata/decorators/named.ts","../../src/metadata/actions/updateMetadataName.ts","../../src/metadata/actions/updateMetadataOptional.ts","../../src/metadata/decorators/optional.ts","../../src/metadata/decorators/postConstruct.ts","../../src/metadata/actions/updateMaybeClassMetadataPostConstructor.ts","../../src/metadata/decorators/preDestroy.ts","../../src/metadata/actions/updateMaybeClassMetadataPreDestroy.ts","../../src/metadata/decorators/tagged.ts","../../src/metadata/actions/updateMetadataTag.ts","../../src/metadata/calculations/buildDefaultUnmanagedMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/decorators/unmanaged.ts","../../src/metadata/models/ResolvedValueElementMetadataKind.ts","../../src/binding/models/BindingConstraintsImplementation.ts","../../src/common/models/SingleInmutableLinkedList.ts","../../src/planning/calculations/buildFilteredServiceBindings.ts","../../src/planning/calculations/isPlanServiceRedirectionBindingNode.ts","../../src/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.ts","../../src/binding/calculations/stringifyBinding.ts","../../src/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.ts","../../src/planning/calculations/checkServiceNodeSingleInjectionBindings.ts","../../src/planning/calculations/handlePlanError.ts","../../src/error/calculations/isStackOverflowError.ts","../../src/planning/calculations/plan.ts","../../src/planning/calculations/isInstanceBindingNode.ts","../../src/planning/services/PlanResultCacheService.ts","../../src/resolution/actions/cacheResolvedValue.ts","../../src/resolution/actions/resolveBindingServiceActivations.ts","../../src/resolution/actions/resolveBindingActivations.ts","../../src/resolution/actions/resolveSingletonScopedBinding.ts","../../src/resolution/actions/resolveConstantValueBinding.ts","../../src/resolution/calculations/resolveConstantValueBindingCallback.ts","../../src/common/calculations/getSelf.ts","../../src/resolution/actions/resolveScoped.ts","../../src/resolution/actions/resolveScopedBinding.ts","../../src/resolution/actions/resolveDynamicValueBinding.ts","../../src/resolution/calculations/resolveDynamicValueBindingCallback.ts","../../src/resolution/actions/resolveFactoryBinding.ts","../../src/resolution/calculations/resolveFactoryBindingCallback.ts","../../src/resolution/actions/resolvePostConstruct.ts","../../src/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.ts","../../src/resolution/actions/resolveProviderBinding.ts","../../src/resolution/calculations/resolveProviderBindingCallback.ts","../../src/resolution/calculations/getInstanceNodeBinding.ts","../../src/resolution/calculations/getResolvedValueNodeBinding.ts","../../src/resolution/actions/resolve.ts","../../src/resolution/actions/setInstanceProperties.ts","../../src/resolution/actions/resolveServiceRedirectionBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingConstructorParams.ts","../../src/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.ts","../../src/resolution/actions/resolveResolvedValueBindingNode.ts","../../src/resolution/actions/resolveResolvedValueBindingParams.ts","../../src/resolution/actions/resolveScopedInstanceBindingNode.ts","../../src/resolution/actions/resolveScopedResolvedValueBindingNode.ts","../../src/binding/calculations/isScopedBinding.ts","../../src/resolution/actions/resolveBindingPreDestroy.ts","../../src/resolution/actions/resolveBindingServiceDeactivations.ts","../../src/resolution/actions/resolveBindingDeactivations.ts","../../src/resolution/actions/resolveBindingsDeactivations.ts","../../src/resolution/actions/resolveModuleDeactivations.ts","../../src/resolution/actions/resolveServiceDeactivations.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","ResolvedValue","ServiceRedirection","chain","iterables","iterable","OneToManyMapStar","modelToRelationMap","relationToModelsMaps","spec","constructor","this","Map","specProperty","Reflect","ownKeys","add","model","relation","buildOrGetModelArray","push","relationKey","buildOrGetRelationModels","clone","properties","pushEntriesIntoMap","property","get","key","value","getAllKeys","keys","removeByRelation","models","undefined","uniqueModelsSet","Set","relations","Error","removeModelFromRelationMaps","delete","set","relationValue","source","target","removeModelFromRelationMap","relationModels","index","indexOf","splice","length","ActivationRelationKind","BindingRelationKind","DeactivationRelationKind","ActivationsService","activationMaps","parent","moduleId","isOptional","serviceId","build","activation","serviceIdentifier","activationIterables","activations","parentActivations","removeAllByModuleId","removeAllByServiceId","BindingService","bindingMaps","id","getNonParentBindings","getById","getByModuleId","getNonParentBoundServices","removeById","binding","DeactivationsService","deactivationMaps","deactivation","deactivationIterables","deactivations","parentDeactivations","decorate","decorators","parameterIndexOrProperty","parsedDecorators","Array","isArray","prototype","decorator","classMetadataReflectKey","getDefaultClassMetadata","constructorArguments","lifecycle","postConstructMethodName","preDestroyMethodName","scope","pendingClassMetadataCountReflectKey","isAppErrorSymbol","Symbol","for","InversifyCoreError","kind","message","options","super","is","isErrorOfKind","InversifyCoreErrorKind","MaybeClassElementMetadataKind","ClassElementMetadataKind","getClassMetadata","type","classMetadata","getOwnReflectMetadata","pendingClassMetadataCount","isPendingClassMetadata","undefinedIndexes","missingInjectionDecorator","name","toString","i","join","validateConstructorMetadataArray","errors","constructorArgument","unknown","propertyKey","throwAtInvalidClassMetadata","getDefaultPendingClassMetadataCount","decrementPendingClassMetadataCount","metadata","updateOwnReflectMetadata","count","buildClassElementMetadataFromMaybeClassElementMetadata","buildDefaultMetadata","buildMetadataFromMaybeManagedMetadata","params","unmanaged","injectionDecoratorConflict","assertMetadataFromTypescriptIfManaged","isFromTypescriptParamType","buildManagedMetadataFromMaybeClassElementMetadata","optional","tags","updateMaybeClassMetadataProperty","updateMetadata","propertyMetadata","DecoratorInfoKind","handleInjectionError","parameterIndex","error","info","parameterIndexOrDescriptor","targetClass","parameter","method","getDecoratorInfo","decoratorTargetInfo","stringifyDecoratorInfo","cause","injectBase","updatePendingClassMetadataCount","buildComposedUpdateMetadataFromTarget","buildComposedUpdateMetadata","injectProperty","isConstructorParameter","updateMaybeClassMetadataConstructorArgument","injectParameter","descriptor","isPropertySetter","injectMethod","updateTargetPendingClassMetadataCount","inject","singleInjection","classIsInjectableFlagReflectKey","NON_USERLAND_TYPES","BigInt","Boolean","Function","Number","Object","String","updateClassMetadataWithTypescriptParameterTypes","typescriptConstructorArguments","forEach","constructorArgumentType","includes","buildClassElementMetadataFromTypescriptParameterType","updateMaybeClassMetadataWithTypescriptClassMetadata","injectable","setReflectMetadata","setIsInjectableFlag","getExtendedConstructorArguments","baseTypeClassMetadata","typeMetadata","extendedConstructorArguments","extendConstructorArguments","map","classElementMetadata","getExtendedProperties","extendedProperties","extendProperties","injectFrom","callback","composeUpdateReflectMetadataCallback","injectFromBase","baseType","getBaseType","multiInject","multipleInjection","incrementPendingClassMetadataCount","buildMaybeClassElementMetadataFromMaybeClassElementMetadata","definedMetadata","named","updateMetadataName","updateMetadataOptional","postConstruct","_descriptor","methodName","preDestroy","tagged","has","updateMetadataTag","buildDefaultUnmanagedMetadata","buildUnmanagedMetadataFromMaybeClassElementMetadata","size","hasManagedMetadata","ResolvedValueElementMetadataKind","BindingConstraintsImplementation","node","elem","getAncestor","previous","SingleInmutableLinkedList","last","concat","iterator","next","done","buildFilteredServiceBindings","bindingConstraints","customServiceIdentifier","filteredBindings","getBindings","filter","isSatisfiedBy","autobindOptions","cache","isRight","implementationType","onActivation","onDeactivation","buildInstanceBinding","setBinding","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","stringifyServiceIdentifier","stringifyBinding","stringifyParentServiceIdentifier","stringifyBindingConstraints","planning","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","stringifiedTags","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","handlePlanError","RangeError","test","isStackOverflowError","stringifiedCircularDependencies","serviceIdentifiers","serviceIdentifiersArray","stringifyServiceIdentifierTrace","servicesBranch","extractLikelyCircularDependency","plan","rootConstraints","tag","bindingConstraintsList","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","subplan","buildPlanServiceNodeFromClassElementMetadata","elementMetadata","LazyServiceIdentifier","unwrap","updatedBindingConstraintsList","buildPlanServiceNodeFromResolvedValueElementMetadata","buildResolvedValuePlanBindingNode","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","pop","entries","planServiceNode","subplanInstanceBindingNode","resolvedValueMetadata","arguments","subplanResolvedValueBindingNode","GetPlanBooleanOptionsMask","PlanResultCacheService","serviceIdToValuePlanMap","namedServiceIdToValuePlanMap","taggedServiceIdToValuePlanMap","namedTaggedServiceIdToValuePlanMap","subscribers","buildInitializedMapArray","clearCache","getMaps","clear","subscriber","getMapFromMapArray","planResult","getOrBuildMapValueFromMapMap","subscribe","mapArray","valueMap","getMapArrayIndex","multipleOptional","multipleMandatory","singleOptional","singleMandatory","cacheResolvedValue","resolvedValue","isPromise","then","syncResolvedValue","cacheSyncResolvedValue","resolveBindingServiceActivations","getActivations","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","resolved","resolveSingletonScopedBinding","resolve","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","requestScopeCache","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","getResolvedValueNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveResolvedValueBindingNode","resolveResolvedValueBindingParams","paramValues","resolvedParamValues","curryResolveResolvedValueBindingNode","paramsResolvedValues","param","curryResolveResolvedValueBindingParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","resolveScopedResolvedValueBindingNode","curryResolveScopedResolvedValueBindingNode","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filterCachedSinglentonScopedBindings","deactivationPromiseResults","resolveModuleDeactivations","getBindingsFromModule","resolveServiceDeactivations"],"mappings":"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"}
package/package.json CHANGED
@@ -5,26 +5,25 @@
5
5
  },
6
6
  "description": "InversifyJs core package",
7
7
  "dependencies": {
8
- "@inversifyjs/prototype-utils": "0.1.0",
9
8
  "@inversifyjs/common": "1.5.0",
9
+ "@inversifyjs/prototype-utils": "0.1.0",
10
10
  "@inversifyjs/reflect-metadata-utils": "1.1.0"
11
11
  },
12
12
  "devDependencies": {
13
- "@jest/globals": "29.7.0",
14
13
  "@stryker-mutator/core": "8.7.1",
15
- "@stryker-mutator/jest-runner": "8.7.1",
14
+ "@stryker-mutator/vitest-runner": "8.7.1",
16
15
  "@stryker-mutator/typescript-checker": "8.7.1",
17
- "@types/node": "22.13.5",
18
- "eslint": "9.21.0",
19
- "jest": "29.7.0",
20
- "prettier": "3.5.2",
16
+ "@types/node": "22.13.11",
17
+ "@vitest/coverage-v8": "3.0.9",
18
+ "eslint": "9.23.0",
19
+ "prettier": "3.5.3",
21
20
  "reflect-metadata": "0.2.2",
22
21
  "rimraf": "6.0.1",
23
- "rollup": "4.34.8",
22
+ "rollup": "4.36.0",
24
23
  "ts-loader": "9.5.2",
25
- "ts-jest": "29.2.6",
26
24
  "tslib": "2.8.1",
27
- "typescript": "5.7.3"
25
+ "typescript": "5.8.2",
26
+ "vitest": "3.0.9"
28
27
  },
29
28
  "homepage": "https://inversify.io",
30
29
  "keywords": [
@@ -58,21 +57,20 @@
58
57
  "type": "git",
59
58
  "url": "git+https://github.com/inversify/monorepo.git"
60
59
  },
61
- "version": "4.0.1",
60
+ "version": "5.1.0",
62
61
  "scripts": {
63
62
  "build": "pnpm run build:cjs && pnpm run build:esm",
64
63
  "build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",
65
64
  "build:esm": "rollup -c ./rollup.config.mjs && pnpm exec foundation-ts-package-esm ./lib/esm",
66
65
  "build:clean": "rimraf lib",
67
- "format": "prettier --write ./src/**/*.ts",
66
+ "format": "prettier --write ./src",
68
67
  "lint": "eslint ./src",
69
68
  "prebuild": "pnpm run build:clean",
70
- "test": "jest --config=jest.config.mjs --runInBand",
71
- "test:integration:js": "pnpm run test:js --selectProjects Integration",
72
- "test:js": "jest --config=jest.js.config.mjs --runInBand",
73
- "test:js:coverage": "pnpm run test:unit:js --coverage",
69
+ "test": "vitest run",
70
+ "test:integration": "pnpm run test --project Integration",
71
+ "test:coverage": "pnpm run test:unit --coverage",
74
72
  "test:mutation": "stryker run",
75
- "test:uncommitted": "pnpm run test --changedSince=HEAD",
76
- "test:unit:js": "pnpm run test:js --selectProjects Unit"
73
+ "test:uncommitted": "pnpm run test --changed=HEAD",
74
+ "test:unit": "pnpm run test --project Unit"
77
75
  }
78
76
  }
@@ -1,4 +0,0 @@
1
- import { ServiceIdentifier } from '@inversifyjs/common';
2
- import { BasePlanParams } from '../models/BasePlanParams';
3
- export declare function addBranchService(params: BasePlanParams, serviceIdentifier: ServiceIdentifier): void;
4
- //# sourceMappingURL=addBranchService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBranchService.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/addBranchService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAMN"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addBranchService = addBranchService;
4
- const common_1 = require("@inversifyjs/common");
5
- const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
6
- const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
7
- function addBranchService(params, serviceIdentifier) {
8
- if (params.servicesBranch.has(serviceIdentifier)) {
9
- throwError(params, serviceIdentifier);
10
- }
11
- params.servicesBranch.add(serviceIdentifier);
12
- }
13
- function stringifyServiceIdentifierTrace(serviceIdentifiers) {
14
- return [...serviceIdentifiers].map(common_1.stringifyServiceIdentifier).join(' -> ');
15
- }
16
- function throwError(params, serviceIdentifier) {
17
- const stringifiedCircularDependencies = stringifyServiceIdentifierTrace([
18
- ...params.servicesBranch,
19
- serviceIdentifier,
20
- ]);
21
- throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.planning, `Circular dependency found: ${stringifiedCircularDependencies}`);
22
- }
23
- //# sourceMappingURL=addBranchService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBranchService.js","sourceRoot":"","sources":["../../../../src/planning/actions/addBranchService.ts"],"names":[],"mappings":";;AASA,4CASC;AAlBD,gDAG6B;AAE7B,8EAA2E;AAC3E,sFAAmF;AAGnF,SAAgB,gBAAgB,CAC9B,MAAsB,EACtB,iBAAoC;IAEpC,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjD,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,+BAA+B,CACtC,kBAA+C;IAE/C,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,mCAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CACjB,MAAsB,EACtB,iBAAoC;IAEpC,MAAM,+BAA+B,GACnC,+BAA+B,CAAC;QAC9B,GAAG,MAAM,CAAC,cAAc;QACxB,iBAAiB;KAClB,CAAC,CAAC;IAEL,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,QAAQ,EAC/B,8BAA8B,+BAA+B,EAAE,CAChE,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=addBranchService.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBranchService.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/addBranchService.spec.ts"],"names":[],"mappings":""}