@inversifyjs/core 5.2.0 → 5.3.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 (82) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/cjs/binding/calculations/cloneBinding.d.ts +9 -0
  3. package/lib/cjs/binding/calculations/cloneBinding.d.ts.map +1 -0
  4. package/lib/cjs/binding/calculations/cloneBinding.js +37 -0
  5. package/lib/cjs/binding/calculations/cloneBinding.js.map +1 -0
  6. package/lib/cjs/binding/calculations/cloneBinding.spec.d.ts +2 -0
  7. package/lib/cjs/binding/calculations/cloneBinding.spec.d.ts.map +1 -0
  8. package/lib/cjs/binding/calculations/cloneBindingCache.d.ts +4 -0
  9. package/lib/cjs/binding/calculations/cloneBindingCache.d.ts.map +1 -0
  10. package/lib/cjs/binding/calculations/cloneBindingCache.js +14 -0
  11. package/lib/cjs/binding/calculations/cloneBindingCache.js.map +1 -0
  12. package/lib/cjs/binding/calculations/cloneBindingCache.spec.d.ts +2 -0
  13. package/lib/cjs/binding/calculations/cloneBindingCache.spec.d.ts.map +1 -0
  14. package/lib/cjs/binding/calculations/cloneConstantValueBinding.d.ts +6 -0
  15. package/lib/cjs/binding/calculations/cloneConstantValueBinding.d.ts.map +1 -0
  16. package/lib/cjs/binding/calculations/cloneConstantValueBinding.js +23 -0
  17. package/lib/cjs/binding/calculations/cloneConstantValueBinding.js.map +1 -0
  18. package/lib/cjs/binding/calculations/cloneConstantValueBinding.spec.d.ts +2 -0
  19. package/lib/cjs/binding/calculations/cloneConstantValueBinding.spec.d.ts.map +1 -0
  20. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.d.ts +6 -0
  21. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.d.ts.map +1 -0
  22. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.js +23 -0
  23. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.js.map +1 -0
  24. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.spec.d.ts +2 -0
  25. package/lib/cjs/binding/calculations/cloneDynamicValueBinding.spec.d.ts.map +1 -0
  26. package/lib/cjs/binding/calculations/cloneFactoryBinding.d.ts +7 -0
  27. package/lib/cjs/binding/calculations/cloneFactoryBinding.d.ts.map +1 -0
  28. package/lib/cjs/binding/calculations/cloneFactoryBinding.js +22 -0
  29. package/lib/cjs/binding/calculations/cloneFactoryBinding.js.map +1 -0
  30. package/lib/cjs/binding/calculations/cloneFactoryBinding.spec.d.ts +2 -0
  31. package/lib/cjs/binding/calculations/cloneFactoryBinding.spec.d.ts.map +1 -0
  32. package/lib/cjs/binding/calculations/cloneInstanceBinding.d.ts +6 -0
  33. package/lib/cjs/binding/calculations/cloneInstanceBinding.d.ts.map +1 -0
  34. package/lib/cjs/binding/calculations/cloneInstanceBinding.js +22 -0
  35. package/lib/cjs/binding/calculations/cloneInstanceBinding.js.map +1 -0
  36. package/lib/cjs/binding/calculations/cloneInstanceBinding.spec.d.ts +2 -0
  37. package/lib/cjs/binding/calculations/cloneInstanceBinding.spec.d.ts.map +1 -0
  38. package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts +7 -0
  39. package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts.map +1 -0
  40. package/lib/cjs/binding/calculations/cloneProviderBinding.js +22 -0
  41. package/lib/cjs/binding/calculations/cloneProviderBinding.js.map +1 -0
  42. package/lib/cjs/binding/calculations/cloneProviderBinding.spec.d.ts +2 -0
  43. package/lib/cjs/binding/calculations/cloneProviderBinding.spec.d.ts.map +1 -0
  44. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.d.ts +6 -0
  45. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.d.ts.map +1 -0
  46. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.js +23 -0
  47. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.js.map +1 -0
  48. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.spec.d.ts +2 -0
  49. package/lib/cjs/binding/calculations/cloneResolvedValueBinding.spec.d.ts.map +1 -0
  50. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.d.ts +6 -0
  51. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.d.ts.map +1 -0
  52. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.js +17 -0
  53. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.js.map +1 -0
  54. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.spec.d.ts +2 -0
  55. package/lib/cjs/binding/calculations/cloneServiceRedirectionBinding.spec.d.ts.map +1 -0
  56. package/lib/cjs/binding/models/BaseBinding.d.ts +1 -1
  57. package/lib/cjs/binding/models/BaseBinding.d.ts.map +1 -1
  58. package/lib/cjs/binding/services/BindingService.d.ts +6 -0
  59. package/lib/cjs/binding/services/BindingService.d.ts.map +1 -1
  60. package/lib/cjs/binding/services/BindingService.js +21 -2
  61. package/lib/cjs/binding/services/BindingService.js.map +1 -1
  62. package/lib/cjs/common/models/OneToManyMapStar.d.ts +5 -3
  63. package/lib/cjs/common/models/OneToManyMapStar.d.ts.map +1 -1
  64. package/lib/cjs/common/models/OneToManyMapStar.js +28 -6
  65. package/lib/cjs/common/models/OneToManyMapStar.js.map +1 -1
  66. package/lib/cjs/common/models/WeakList.d.ts +14 -0
  67. package/lib/cjs/common/models/WeakList.d.ts.map +1 -0
  68. package/lib/cjs/common/models/WeakList.int.spec.d.ts +2 -0
  69. package/lib/cjs/common/models/WeakList.int.spec.d.ts.map +1 -0
  70. package/lib/cjs/common/models/WeakList.js +71 -0
  71. package/lib/cjs/common/models/WeakList.js.map +1 -0
  72. package/lib/cjs/index.d.ts +2 -1
  73. package/lib/cjs/index.d.ts.map +1 -1
  74. package/lib/cjs/index.js.map +1 -1
  75. package/lib/cjs/planning/services/PlanResultCacheService.d.ts.map +1 -1
  76. package/lib/cjs/planning/services/PlanResultCacheService.js +3 -2
  77. package/lib/cjs/planning/services/PlanResultCacheService.js.map +1 -1
  78. package/lib/esm/index.d.ts +3 -2
  79. package/lib/esm/index.d.ts.map +1 -1
  80. package/lib/esm/index.js +1 -1
  81. package/lib/esm/index.js.map +1 -1
  82. package/package.json +10 -10
@@ -25,10 +25,10 @@ class OneToManyMapStar {
25
25
  }
26
26
  clone() {
27
27
  const properties = Reflect.ownKeys(this.#spec);
28
- const clone = new OneToManyMapStar(this.#spec);
29
- this.#pushEntriesIntoMap(this.#modelToRelationMap, clone.#modelToRelationMap);
28
+ const clone = this._buildNewInstance(this.#spec);
29
+ this.#pushRelationEntriesIntoRelationMap(this.#modelToRelationMap, clone.#modelToRelationMap);
30
30
  for (const property of properties) {
31
- this.#pushEntriesIntoMap(this.#relationToModelsMaps[property], clone.#relationToModelsMaps[property]);
31
+ this.#pushModelEntriesIntoModelMap(this.#relationToModelsMaps[property], clone.#relationToModelsMaps[property]);
32
32
  }
33
33
  return clone;
34
34
  }
@@ -57,6 +57,15 @@ class OneToManyMapStar {
57
57
  this.#modelToRelationMap.delete(model);
58
58
  }
59
59
  }
60
+ _buildNewInstance(spec) {
61
+ return new OneToManyMapStar(spec);
62
+ }
63
+ _cloneModel(model) {
64
+ return model;
65
+ }
66
+ _cloneRelation(relation) {
67
+ return relation;
68
+ }
60
69
  #buildOrGetModelArray(model) {
61
70
  let relations = this.#modelToRelationMap.get(model);
62
71
  if (relations === undefined) {
@@ -73,9 +82,22 @@ class OneToManyMapStar {
73
82
  }
74
83
  return models;
75
84
  }
76
- #pushEntriesIntoMap(source, target) {
77
- for (const [key, value] of source) {
78
- target.set(key, [...value]);
85
+ #pushModelEntriesIntoModelMap(source, target) {
86
+ for (const [relation, models] of source) {
87
+ const modelsClone = new Array();
88
+ for (const model of models) {
89
+ modelsClone.push(this._cloneModel(model));
90
+ }
91
+ target.set(relation, modelsClone);
92
+ }
93
+ }
94
+ #pushRelationEntriesIntoRelationMap(source, target) {
95
+ for (const [model, relations] of source) {
96
+ const relationsClone = new Array();
97
+ for (const relation of relations) {
98
+ relationsClone.push(this._cloneRelation(relation));
99
+ }
100
+ target.set(model, relationsClone);
79
101
  }
80
102
  }
81
103
  #removeModelFromRelationMaps(model, relation) {
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyMapStar.js","sourceRoot":"","sources":["../../../../src/common/models/OneToManyMapStar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OneToManyMapStar.js","sourceRoot":"","sources":["../../../../src/common/models/OneToManyMapStar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A list-like collection that holds weak references to objects.
3
+ * Automatically cleans up dead references when a threshold is met.
4
+ *
5
+ * FinalizationRegistry is not used here due to it's lack of determinism.
6
+ * FinalizationRegsitry callbacks are not guaranteed to be called after an object is garbage collected.
7
+ */
8
+ export declare class WeakList<T extends object> implements Iterable<T> {
9
+ #private;
10
+ constructor();
11
+ [Symbol.iterator](): Iterator<T>;
12
+ push(value: T): void;
13
+ }
14
+ //# sourceMappingURL=WeakList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeakList.d.ts","sourceRoot":"","sources":["../../../../src/common/models/WeakList.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;;;IAYpD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAqBjC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;CA0C5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WeakList.int.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeakList.int.spec.d.ts","sourceRoot":"","sources":["../../../../src/common/models/WeakList.int.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WeakList = void 0;
4
+ const DEFAULT_MINIMUM_LENGTH_TO_REALLOCATE = 8;
5
+ const DEFAULT_MODULUS_TO_REALLOCATE_ON_PUSH = 1024;
6
+ const MIN_DEAD_REFS_FOR_REALLOCATION_PERCENTAGE = 0.5;
7
+ /**
8
+ * A list-like collection that holds weak references to objects.
9
+ * Automatically cleans up dead references when a threshold is met.
10
+ *
11
+ * FinalizationRegistry is not used here due to it's lack of determinism.
12
+ * FinalizationRegsitry callbacks are not guaranteed to be called after an object is garbage collected.
13
+ */
14
+ class WeakList {
15
+ #list;
16
+ #minimumLengthToReallocate;
17
+ #modulusToReallocateOnPush;
18
+ constructor() {
19
+ this.#list = [];
20
+ this.#minimumLengthToReallocate = DEFAULT_MINIMUM_LENGTH_TO_REALLOCATE;
21
+ this.#modulusToReallocateOnPush = DEFAULT_MODULUS_TO_REALLOCATE_ON_PUSH;
22
+ }
23
+ *[Symbol.iterator]() {
24
+ let deadRefCount = 0;
25
+ for (const weakRef of this.#list) {
26
+ const value = weakRef.deref();
27
+ if (value === undefined) {
28
+ ++deadRefCount;
29
+ }
30
+ else {
31
+ yield value;
32
+ }
33
+ }
34
+ if (this.#list.length >= this.#minimumLengthToReallocate &&
35
+ this.#shouldReallocate(deadRefCount)) {
36
+ this.#reallocate(deadRefCount);
37
+ }
38
+ }
39
+ push(value) {
40
+ const weakRef = new WeakRef(value);
41
+ this.#list.push(weakRef);
42
+ if (this.#list.length >= this.#minimumLengthToReallocate &&
43
+ this.#list.length % this.#modulusToReallocateOnPush === 0) {
44
+ let deadRefCount = 0;
45
+ for (const ref of this.#list) {
46
+ if (ref.deref() === undefined) {
47
+ ++deadRefCount;
48
+ }
49
+ }
50
+ if (this.#shouldReallocate(deadRefCount)) {
51
+ this.#reallocate(deadRefCount);
52
+ }
53
+ }
54
+ }
55
+ #reallocate(deadRefCount) {
56
+ const newList = new Array(this.#list.length - deadRefCount);
57
+ let i = 0;
58
+ for (const ref of this.#list) {
59
+ if (ref.deref()) {
60
+ newList[i++] = ref;
61
+ }
62
+ }
63
+ this.#list = newList;
64
+ }
65
+ #shouldReallocate(deadRefCount) {
66
+ return (deadRefCount >=
67
+ this.#list.length * MIN_DEAD_REFS_FOR_REALLOCATION_PERCENTAGE);
68
+ }
69
+ }
70
+ exports.WeakList = WeakList;
71
+ //# sourceMappingURL=WeakList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeakList.js","sourceRoot":"","sources":["../../../../src/common/models/WeakList.ts"],"names":[],"mappings":";;;AAAA,MAAM,oCAAoC,GAAW,CAAC,CAAC;AACvD,MAAM,qCAAqC,GAAW,IAAI,CAAC;AAC3D,MAAM,yCAAyC,GAAW,GAAG,CAAC;AAE9D;;;;;;GAMG;AACH,MAAa,QAAQ;IACnB,KAAK,CAAe;IAEX,0BAA0B,CAAS;IACnC,0BAA0B,CAAS;IAE5C;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,0BAA0B,GAAG,oCAAoC,CAAC;QACvE,IAAI,CAAC,0BAA0B,GAAG,qCAAqC,CAAC;IAC1E,CAAC;IAEM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,IAAI,YAAY,GAAW,CAAC,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,KAAK,GAAkB,OAAO,CAAC,KAAK,EAAE,CAAC;YAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,EAAE,YAAY,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,0BAA0B;YACpD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EACpC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,KAAQ;QAClB,MAAM,OAAO,GAAe,IAAI,OAAO,CAAI,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,0BAA0B;YACpD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,0BAA0B,KAAK,CAAC,EACzD,CAAC;YACD,IAAI,YAAY,GAAW,CAAC,CAAC;YAE7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;oBAC9B,EAAE,YAAY,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,YAAoB;QAC9B,MAAM,OAAO,GAAiB,IAAI,KAAK,CACrC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CACjC,CAAC;QAEF,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,YAAoB;QACpC,OAAO,CACL,YAAY;YACZ,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,yCAAyC,CAC9D,CAAC;IACJ,CAAC;CACF;AA3ED,4BA2EC"}
@@ -46,6 +46,7 @@ import { UnmanagedClassElementMetadata } from './metadata/models/UnmanagedClassE
46
46
  import { plan } from './planning/calculations/plan';
47
47
  import { BaseBindingNode } from './planning/models/BaseBindingNode';
48
48
  import { BasePlanParams } from './planning/models/BasePlanParams';
49
+ import { InstanceBindingNode } from './planning/models/InstanceBindingNode';
49
50
  import { LeafBindingNode } from './planning/models/LeafBindingNode';
50
51
  import { PlanBindingNode } from './planning/models/PlanBindingNode';
51
52
  import { PlanParams } from './planning/models/PlanParams';
@@ -69,6 +70,6 @@ import { OptionalGetOptions } from './resolution/models/OptionalGetOptions';
69
70
  import { ResolutionContext } from './resolution/models/ResolutionContext';
70
71
  import { ResolutionParams } from './resolution/models/ResolutionParams';
71
72
  import { Resolved } from './resolution/models/Resolved';
72
- 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, };
73
+ 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, InstanceBindingNode, 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, };
73
74
  export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, ClassElementMetadataKind, DeactivationsService, decorate, getBindingId, getClassMetadata, inject, injectable, injectFromBase, multiInject, named, optional, plan, PlanResultCacheService, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, ResolvedValueElementMetadataKind, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, };
74
75
  //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAiJ5D,6FAjJO,2BAAY,OAiJP;AA3Id,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;AAkH1E,iGAlHO,mCAAgB,OAkHP;AAjHlB,yDAAsD;AAkHpD,uFAlHO,eAAM,OAkHP;AAjHR,iEAA8D;AAkH5D,2FAlHO,uBAAU,OAkHP;AAjHZ,yEAAsE;AAkHpE,+FAlHO,+BAAc,OAkHP;AAjHhB,mEAAgE;AAkH9D,4FAlHO,yBAAW,OAkHP;AAjHb,uDAAoD;AAkHlD,sFAlHO,aAAK,OAkHP;AAjHP,6DAA0D;AAkHxD,yFAlHO,mBAAQ,OAkHP;AAjHV,uEAAoE;AAoHlE,8FApHO,6BAAa,OAoHP;AAnHf,iEAA8D;AAoH5D,2FApHO,uBAAU,OAoHP;AAnHZ,yDAAsD;AAyHpD,uFAzHO,eAAM,OAyHP;AAxHR,+DAA4D;AAyH1D,0FAzHO,qBAAS,OAyHP;AAvHX,yFAAsF;AAkGpF,yGAlGO,mDAAwB,OAkGP;AA3F1B,yGAAsG;AA4GpG,iHA5GO,mEAAgC,OA4GP;AAzGlC,uDAAoD;AAmGlD,qFAnGO,WAAI,OAmGP;AArFN,uFAGoD;AAmFlD,uGApFA,+CAAsB,OAoFA;AAlFxB,0DAAuD;AAqFrD,wFArFO,iBAAO,OAqFP;AApFT,oGAAiG;AAqF/F,6GArFO,2DAA4B,OAqFP;AApF9B,gGAA6F;AAsF3F,2GAtFO,uDAA0B,OAsFP;AArF5B,kGAA+F;AAsF7F,4GAtFO,yDAA2B,OAsFP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAmJ5D,6FAnJO,2BAAY,OAmJP;AA7Id,gEAGuC;AAoIrC,mGArIA,iCAAkB,OAqIA;AAnIpB,8DAA8E;AAqI5E,kGArIoB,+BAAiB,OAqIpB;AAzHnB,8EAG+C;AAmH7C,mGArHA,uCAAkB,OAqHA;AAlHpB,sEAAmE;AAoHjE,+FApHO,+BAAc,OAoHP;AAnHhB,kFAGiD;AAmH/C,qGApHA,2CAAoB,OAoHA;AAlHtB,2DAAwD;AAmHtD,yFAnHO,mBAAQ,OAmHP;AAlHV,+EAA4E;AAoH1E,iGApHO,mCAAgB,OAoHP;AAnHlB,yDAAsD;AAoHpD,uFApHO,eAAM,OAoHP;AAnHR,iEAA8D;AAoH5D,2FApHO,uBAAU,OAoHP;AAnHZ,yEAAsE;AAoHpE,+FApHO,+BAAc,OAoHP;AAnHhB,mEAAgE;AAoH9D,4FApHO,yBAAW,OAoHP;AAnHb,uDAAoD;AAoHlD,sFApHO,aAAK,OAoHP;AAnHP,6DAA0D;AAoHxD,yFApHO,mBAAQ,OAoHP;AAnHV,uEAAoE;AAsHlE,8FAtHO,6BAAa,OAsHP;AArHf,iEAA8D;AAsH5D,2FAtHO,uBAAU,OAsHP;AArHZ,yDAAsD;AA2HpD,uFA3HO,eAAM,OA2HP;AA1HR,+DAA4D;AA2H1D,0FA3HO,qBAAS,OA2HP;AAzHX,yFAAsF;AAoGpF,yGApGO,mDAAwB,OAoGP;AA7F1B,yGAAsG;AA8GpG,iHA9GO,mEAAgC,OA8GP;AA3GlC,uDAAoD;AAqGlD,qFArGO,WAAI,OAqGP;AAtFN,uFAGoD;AAoFlD,uGArFA,+CAAsB,OAqFA;AAnFxB,0DAAuD;AAsFrD,wFAtFO,iBAAO,OAsFP;AArFT,oGAAiG;AAsF/F,6GAtFO,2DAA4B,OAsFP;AArF9B,gGAA6F;AAuF3F,2GAvFO,uDAA0B,OAuFP;AAtF5B,kGAA+F;AAuF7F,4GAvFO,yDAA2B,OAuFP"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlanResultCacheService.d.ts","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWlD,UAAU,2BAA2B;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,GAAG,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;;;IA6B1B,UAAU,IAAI,IAAI;IAUlB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAqCpD,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2C1D,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;CA6D3D"}
1
+ {"version":3,"file":"PlanResultCacheService.d.ts","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWlD,UAAU,2BAA2B;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,GAAG,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;;;IA2B1B,UAAU,IAAI,IAAI;IAUlB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAqCpD,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2C1D,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;CA6D3D"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlanResultCacheService = void 0;
4
+ const WeakList_1 = require("../../common/models/WeakList");
4
5
  var GetPlanBooleanOptionsMask;
5
6
  (function (GetPlanBooleanOptionsMask) {
6
7
  GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["singleMandatory"] = 0] = "singleMandatory";
@@ -23,15 +24,15 @@ var GetPlanBooleanOptionsMask;
23
24
  class PlanResultCacheService {
24
25
  #serviceIdToValuePlanMap;
25
26
  #namedServiceIdToValuePlanMap;
26
- #taggedServiceIdToValuePlanMap;
27
27
  #namedTaggedServiceIdToValuePlanMap;
28
+ #taggedServiceIdToValuePlanMap;
28
29
  #subscribers;
29
30
  constructor() {
30
31
  this.#serviceIdToValuePlanMap = this.#buildInitializedMapArray();
31
32
  this.#namedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
32
33
  this.#namedTaggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
33
34
  this.#taggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
34
- this.#subscribers = [];
35
+ this.#subscribers = new WeakList_1.WeakList();
35
36
  }
36
37
  clearCache() {
37
38
  for (const map of this.#getMaps()) {
@@ -1 +1 @@
1
- {"version":3,"file":"PlanResultCacheService.js","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanResultCacheService.js","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ interface BaseBinding<TType extends BindingType, TActivated> {
23
23
  readonly moduleId: number | undefined;
24
24
  readonly serviceIdentifier: ServiceIdentifier<TActivated>;
25
25
  readonly type: TType;
26
- isSatisfiedBy(constraints: BindingConstraints): boolean;
26
+ readonly isSatisfiedBy: (constraints: BindingConstraints) => boolean;
27
27
  }
28
28
 
29
29
  type Resolved<TActivated> = SyncResolved<TActivated> | Promise<SyncResolved<TActivated>>;
@@ -156,6 +156,7 @@ declare class BindingService implements Cloneable<BindingService> {
156
156
  static build(parent: BindingService | undefined): BindingService;
157
157
  clone(): BindingService;
158
158
  get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
159
+ getBoundServices(): Iterable<ServiceIdentifier>;
159
160
  getById<TResolved>(id: number): Iterable<Binding<TResolved>> | undefined;
160
161
  getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
161
162
  getNonParentBindings<TResolved>(serviceId: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
@@ -375,4 +376,4 @@ declare function resolveModuleDeactivations(params: DeactivationParams, moduleId
375
376
  declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
376
377
 
377
378
  export { ActivationsService, BindingService, ClassElementMetadataKind, DeactivationsService, PlanResultCacheService, ResolvedValueElementMetadataKind, bindingScopeValues, bindingTypeValues, decorate, getBindingId, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
378
- 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 };
379
+ 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, InstanceBindingNode, 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,setReflectMetadata as t,updateOwnReflectMetadata 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="@inversifyjs/container/bindingId";function c(){const i=e(Object,s)??0;return i===Number.MAX_SAFE_INTEGER?t(Object,s,Number.MIN_SAFE_INTEGER):n(Object,s,(()=>i),(e=>e+1)),i}const u={Request:"Request",Singleton:"Singleton",Transient:"Transient"},d={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ResolvedValue:"ResolvedValue",ServiceRedirection:"ServiceRedirection"};function*l(...e){for(const t of e)yield*t}class p{#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 p(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 f,g,m;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class h{#c;#u;constructor(e,t){this.#c=t??new p({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,t){this.#c.add(e,t)}clone(){return new h(this.#u,this.#c.clone())}get(e){const t=[],n=this.#c.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 l(...t)}removeAllByModuleId(e){this.#c.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(f.serviceId,e)}}!function(e){e.id="id",e.moduleId="moduleId",e.serviceId="serviceId"}(g||(g={}));class v{#d;#u;constructor(e,t){this.#d=t??new p({id:{isOptional:!1},moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new v(e)}clone(){return new v(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getById(e){return this.#d.get(g.id,e)??this.#u?.getById(e)}getByModuleId(e){return this.#d.get(g.moduleId,e)??this.#u?.getByModuleId(e)}getNonParentBindings(e){return this.#d.get(g.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(g.serviceId)}removeById(e){this.#d.removeByRelation(g.id,e)}removeAllByModuleId(e){this.#d.removeByRelation(g.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(g.serviceId,e)}set(e){const t={[g.id]:e.id,[g.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[g.moduleId]=e.moduleId),this.#d.add(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(m||(m={}));class y{#l;#u;constructor(e,t){this.#l=t??new p({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new y(e)}add(e,t){this.#l.add(e,t)}clone(){return new y(this.#u,this.#l.clone())}get(e){const t=[],n=this.#l.get(m.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 l(...t)}removeAllByModuleId(e){this.#l.removeByRelation(m.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(m.serviceId,e)}}function M(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 I="@inversifyjs/core/classMetadataReflectKey";function w(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const b="@inversifyjs/core/pendingClassMetadataCountReflectKey";const j=Symbol.for("@inversifyjs/core/InversifyCoreError");class T extends Error{[j];kind;constructor(e,t,n){super(t,n),this[j]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[j]}static isErrorOfKind(e,t){return T.is(e)&&e.kind===t}}var S,A,C;function $(t){const n=e(t,I)??w();if(!function(t){const n=e(t,b);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new T(S.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 T(S.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!==A.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===A.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 T(S.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 T(S.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function x(){return 0}function R(e){return t=>{void 0!==t&&t.kind===A.unknown&&n(e,b,x,(e=>e-1))}}function B(e,t){return(...n)=>i=>{if(void 0===i)return e(...n);if(i.kind===C.unmanaged)throw new T(S.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function k(e){if(e.kind!==A.unknown&&!0!==e.isFromTypescriptParamType)throw new T(S.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"}(S||(S={})),function(e){e[e.unknown=32]="unknown"}(A||(A={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const P=B((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return k(e),{...e,kind:t,value:n}}));function D(e,t){return n=>{const i=n.properties.get(t);return n.properties.set(t,e(i)),n}}var F;function O(e,t,n,i){if(T.isErrorOfKind(i,S.injectionDecoratorConflict)){const o=function(e,t,n){if(void 0===n){if(void 0===t)throw new T(S.unknown,"Unexpected undefined property and index values");return{kind:F.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:F.parameter,targetClass:e}:{kind:F.method,method:t,targetClass:e}}(e,t,n);throw new T(S.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${i.message}\n\nDetails\n\n${function(e){switch(e.kind){case F.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case F.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case F.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function V(e,t){return(i,o,r)=>{try{void 0===r?function(e,t){const i=E(e,t);return(e,t)=>{n(e.constructor,I,w,D(i(e),t))}}(e,t)(i,o):"number"==typeof r?function(e,t){const i=E(e,t);return(e,t,o)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,t))throw new T(S.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${t?.toString()??""}" at class "${e.constructor.name}"`);n(e,I,w,function(e,t){return n=>{const i=n.constructorArguments[t];return n.constructorArguments[t]=e(i),n}}(i(e),o))}}(e,t)(i,o,r):function(e,t){const i=E(e,t);return(e,t,o)=>{if(!function(e){return void 0!==e.set}(o))throw new T(S.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${t.toString()}" at class "${e.constructor.name}"`);n(e.constructor,I,w,D(i(e),t))}}(e,t)(i,o,r)}catch(e){O(i,o,r,e)}}}function E(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function N(e){return V(P(C.singleInjection,e),R)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(F||(F={}));const U="@inversifyjs/core/classIsInjectableFlagReflectKey";const K=[Array,BigInt,Boolean,Function,Number,Object,String];function q(t){const i=e(t,"design:paramtypes");void 0!==i&&n(t,I,w,function(e){return t=>(e.forEach(((e,n)=>{var i;void 0!==t.constructorArguments[n]||(i=e,K.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 z(i){return o=>{!function(n){if(void 0!==e(n,U))throw new T(S.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${n.name}"`);t(n,U,!0)}(o),q(o),void 0!==i&&n(o,I,w,(e=>({...e,scope:i})))}}function G(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 _(e,t,n){let i;return i=e.extendProperties??!0?new Map(l(t.properties,n.properties)):n.properties,i}function X(e){return t=>{const i=$(e.type);n(t,I,w,function(e,t){const n=n=>({constructorArguments:G(e,t,n),lifecycle:n.lifecycle,properties:_(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 T(S.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);X({...e,type:n})(t)}}function J(e){return V(P(C.multipleInjection,e),R)}function L(e){return t=>{void 0===t&&n(e,b,x,(e=>e+1))}}function Q(e){return t=>{const n=t??{kind:A.unknown,name:void 0,optional:!1,tags:new Map};if(n.kind===C.unmanaged)throw new T(S.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 T(S.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return V(t,L)}function Y(e){if(e.optional)throw new T(S.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Z(){return V(Q(Y),L)}function ee(){return(e,t,i)=>{try{n(e.constructor,I,w,(o=t,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new T(S.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=o,e}))}catch(n){O(e,t,void 0,n)}var o}}function te(){return(e,t,i)=>{try{n(e.constructor,I,w,(o=t,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new T(S.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=o,e}))}catch(n){O(e,t,void 0,n)}var o}}function ne(e,t){const n=Q(function(e,t){return n=>{if(n.tags.has(e))throw new T(S.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return V(n,L)}function ie(){return{kind:C.unmanaged}}const oe=B(ie,(function(e){if(k(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new T(S.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return ie()}));function re(){return V(oe(),R)}var ae;!function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection"}(ae||(ae={}));class se{#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 se(this.#p.previous)}}class ce{last;constructor(e){this.last=e}concat(e){return new ce({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 ue(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){const n=$(t),i=n.scope??e.scope;return{cache:{isRight:!1,value:void 0},id:c(),implementationType:t,isSatisfiedBy:()=>!0,moduleId:void 0,onActivation:void 0,onDeactivation:void 0,scope:i,serviceIdentifier:t,type:d.Instance}}(e.autobindOptions,i);e.setBinding(t),o.push(t)}return o}function de(e){return void 0!==e.redirections}function le(e,t,n,i){let r,a;de(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 d.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case d.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 "${fe(n,i)}".\n\n${ge(r)}`;throw new T(S.planning,t)}t||pe(n,i,r)}(e,t,r,a,i):function(e,t,n,i,o){if(void 0!==e||t)return;pe(n,i,o)}(e,t,r,a,i)}function pe(e,t,n){const i=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${fe(e,t)}".\n\n${ge(n)}`;throw new T(S.planning,i)}function fe(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function ge(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 me(e,t,n){if(1!==e.redirections.length)le(e.redirections,t,e,n);else{const[i]=e.redirections;de(i)&&me(i,t,n)}}function he(e,t,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[i]=e.bindings;de(i)&&me(i,t,n)}else le(e.bindings,t,e,n)}function ve(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 T(S.planning,`Circular dependency found: ${n}`,{cause:t})}throw t}function ye(e){try{const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ce({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new se(n.last),o=ue(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...je(e,n,o,a)),!e.rootConstraints.isMultiple){he(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}catch(t){ve(e,t)}}function Me(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return Se({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function Ie(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 se(o.last),s=ue(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...je(e,o,s,u)),n.kind===C.singleInjection){he(u,n.optional,a);const[e]=c;u.bindings=e}return u}function we(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 se(o.last),s=ue(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...je(e,o,s,u)),n.kind===ae.singleInjection){he(u,n.optional,a);const[e]=c;u.bindings=e}return u}function be(e,t,n,i){const o={binding:t,params:[],parent:i};return Se({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function je(e,t,n,i){const o=de(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;e.servicesBranch.push(o);const r=[];for(const o of n)switch(o.type){case d.Instance:r.push(Me(e,o,t,i));break;case d.ResolvedValue:r.push(be(e,o,t,i));break;case d.ServiceRedirection:{const n=Te(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.pop(),r}function Te(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=ue(e,new se(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...je(e,t,r,o)),o}function Se(e,t){return e.node.binding.type===d.Instance?function(e,t,n){const i=t.classMetadata;for(const[o,r]of i.constructorArguments.entries())t.constructorParams[o]=Ie(e,n,r);for(const[o,r]of i.properties){const i=Ie(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]=we(e,n,r);return e.node}(e,e.node,t)}var Ae;!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"}(Ae||(Ae={}));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(Ae.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?Ae.multipleOptional:Ae.multipleMandatory:!0===e.optional?Ae.singleOptional:Ae.singleMandatory}}function $e(e,t){return a(t)?(e.cache={isRight:!0,value:t},t.then((t=>xe(e,t)))):xe(e,t)}function xe(e,t){return e.cache={isRight:!0,value:t},t}function Re(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?Be(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 Be(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function Be(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 ke(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 Re(e,t.serviceIdentifier,i)}function Pe(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;return $e(n,ke(t,n,e(t,n)))}}const De=Pe((function(e,t){return t.value}));function Fe(e){return e}function Oe(e,t){return(n,i)=>{const o=e(i);switch(o.scope){case u.Singleton:if(o.cache.isRight)return o.cache.value;return $e(o,ke(n,o,t(n,i)));case u.Request:{if(n.requestScopeCache.has(o.id))return n.requestScopeCache.get(o.id);const e=ke(n,o,t(n,i));return n.requestScopeCache.set(o.id,e),e}case u.Transient:return ke(n,o,t(n,i))}}}const Ve=(e=>Oe(Fe,e))((function(e,t){return t.value(e.context)}));const Ee=Pe((function(e,t){return t.factory(e.context)}));function Ne(e,t,n){const i=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new T(S.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new T(S.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 T(S.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 T(S.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 Ue(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>Ne(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):Ne(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Ke=Pe((function(e,t){return t.provider(e.context)}));function qe(e){return e.binding}function ze(e){return e.binding}const Ge=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 T(S.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((()=>{}))}}(Ye),_e=function(e){return function t(n,i){const o=[];for(const r of i.redirections)de(r)?o.push(...t(n,r)):o.push(e(n,r));return o}}(We),Xe=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}}(Ye),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(Ue(Ge)),Ue(Ge)),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}}(Ye)),Je=(e=>Oe(qe,e))(Xe),Le=(e=>Oe(ze,e))(He);function Qe(e){return Ye(e,e.planResult.tree.root)}function We(e,t){switch(t.binding.type){case d.ConstantValue:return De(e,t.binding);case d.DynamicValue:return Ve(e,t.binding);case d.Factory:return Ee(e,t.binding);case d.Instance:return Je(e,t);case d.Provider:return Ke(e,t.binding);case d.ResolvedValue:return Le(e,t)}}function Ye(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const i of t)de(i)?n.push(..._e(e,i)):n.push(We(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(de(t)){const n=_e(e,t);if(1===n.length)return n[0];throw new T(S.resolution,"Unexpected multiple resolved values on single injection")}return We(e,t)}(e,t.bindings)}function Ze(e){return void 0!==e.scope}function et(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function tt(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?nt(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return nt(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function nt(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function it(e,t){const n=function(e,t){if(t.type===d.Instance){const n=e.getClassMetadata(t.implementationType),i=t.cache.value;return a(i)?i.then((e=>et(n,e))):et(n,i)}}(e,t);return void 0===n?ot(e,t):n.then((()=>ot(e,t)))}function ot(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>rt(e,t,n))):rt(e,t,n.value)}function rt(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?tt(e,t.serviceIdentifier,n):i.then((()=>tt(e,t.serviceIdentifier,n)))}function at(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Ze(n)&&n.scope===u.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=it(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function st(e,t){const n=e.getBindingsFromModule(t);return at(e,n)}function ct(e,t){const n=e.getBindings(t);return at(e,n)}export{h as ActivationsService,v as BindingService,C as ClassElementMetadataKind,y as DeactivationsService,Ce as PlanResultCacheService,ae as ResolvedValueElementMetadataKind,u as bindingScopeValues,d as bindingTypeValues,M as decorate,c as getBindingId,$ as getClassMetadata,N as inject,H as injectFromBase,z as injectable,J as multiInject,W as named,Z as optional,ye as plan,ee as postConstruct,te as preDestroy,Qe as resolve,at as resolveBindingsDeactivations,st as resolveModuleDeactivations,ct as resolveServiceDeactivations,ne as tagged,re as unmanaged};
1
+ import{getOwnReflectMetadata as e,setReflectMetadata as t,updateOwnReflectMetadata 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="@inversifyjs/container/bindingId";function c(){const i=e(Object,s)??0;return i===Number.MAX_SAFE_INTEGER?t(Object,s,Number.MIN_SAFE_INTEGER):n(Object,s,(()=>i),(e=>e+1)),i}const u={Request:"Request",Singleton:"Singleton",Transient:"Transient"},d={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ResolvedValue:"ResolvedValue",ServiceRedirection:"ServiceRedirection"};function*l(...e){for(const t of e)yield*t}class p{#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=this._buildNewInstance(this.#n);this.#r(this.#e,t.#e);for(const n of e)this.#a(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.#s(n,o);this.#e.delete(n)}}_buildNewInstance(e){return new p(e)}_cloneModel(e){return e}_cloneRelation(e){return e}#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}#a(e,t){for(const[n,i]of e){const e=new Array;for(const t of i)e.push(this._cloneModel(t));t.set(n,e)}}#r(e,t){for(const[n,i]of e){const e=new Array;for(const t of i)e.push(this._cloneRelation(t));t.set(n,e)}}#s(e,t){for(const n of Reflect.ownKeys(t))this.#c(e,n,t[n])}#c(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 f,g,h;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class m{#u;#d;constructor(e,t){this.#u=t??new p({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#d=e}static build(e){return new m(e)}add(e,t){this.#u.add(e,t)}clone(){return new m(this.#d,this.#u.clone())}get(e){const t=[],n=this.#u.get(f.serviceId,e);void 0!==n&&t.push(n);const i=this.#d?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return l(...t)}removeAllByModuleId(e){this.#u.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#u.removeByRelation(f.serviceId,e)}}function v(e){return e.isRight?{isRight:!0,value:e.value}:e}function y(e){switch(e.type){case d.ConstantValue:case d.DynamicValue:return function(e){return{cache:v(e.cache),id:e.id,isSatisfiedBy:e.isSatisfiedBy,moduleId:e.moduleId,onActivation:e.onActivation,onDeactivation:e.onDeactivation,scope:e.scope,serviceIdentifier:e.serviceIdentifier,type:e.type,value:e.value}}(e);case d.Factory:return function(e){return{cache:v(e.cache),factory:e.factory,id:e.id,isSatisfiedBy:e.isSatisfiedBy,moduleId:e.moduleId,onActivation:e.onActivation,onDeactivation:e.onDeactivation,scope:e.scope,serviceIdentifier:e.serviceIdentifier,type:e.type}}(e);case d.Instance:return function(e){return{cache:v(e.cache),id:e.id,implementationType:e.implementationType,isSatisfiedBy:e.isSatisfiedBy,moduleId:e.moduleId,onActivation:e.onActivation,onDeactivation:e.onDeactivation,scope:e.scope,serviceIdentifier:e.serviceIdentifier,type:e.type}}(e);case d.Provider:return function(e){return{cache:v(e.cache),id:e.id,isSatisfiedBy:e.isSatisfiedBy,moduleId:e.moduleId,onActivation:e.onActivation,onDeactivation:e.onDeactivation,provider:e.provider,scope:e.scope,serviceIdentifier:e.serviceIdentifier,type:e.type}}(e);case d.ResolvedValue:return function(e){return{cache:v(e.cache),factory:e.factory,id:e.id,isSatisfiedBy:e.isSatisfiedBy,metadata:e.metadata,moduleId:e.moduleId,onActivation:e.onActivation,onDeactivation:e.onDeactivation,scope:e.scope,serviceIdentifier:e.serviceIdentifier,type:e.type}}(e);case d.ServiceRedirection:return function(e){return{id:e.id,isSatisfiedBy:e.isSatisfiedBy,moduleId:e.moduleId,serviceIdentifier:e.serviceIdentifier,targetServiceIdentifier:e.targetServiceIdentifier,type:e.type}}(e)}}!function(e){e.id="id",e.moduleId="moduleId",e.serviceId="serviceId"}(g||(g={}));class M extends p{_buildNewInstance(e){return new M(e)}_cloneModel(e){return y(e)}}class I{#l;#d;constructor(e,t){this.#l=t??new M({id:{isOptional:!1},moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#d=e}static build(e){return new I(e)}clone(){return new I(this.#d,this.#l.clone())}get(e){return this.getNonParentBindings(e)??this.#d?.get(e)}getBoundServices(){const e=new Set(this.#l.getAllKeys(g.serviceId));if(void 0!==this.#d)for(const t of this.#d.getBoundServices())e.add(t);return e}getById(e){return this.#l.get(g.id,e)??this.#d?.getById(e)}getByModuleId(e){return this.#l.get(g.moduleId,e)??this.#d?.getByModuleId(e)}getNonParentBindings(e){return this.#l.get(g.serviceId,e)}getNonParentBoundServices(){return this.#l.getAllKeys(g.serviceId)}removeById(e){this.#l.removeByRelation(g.id,e)}removeAllByModuleId(e){this.#l.removeByRelation(g.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(g.serviceId,e)}set(e){const t={[g.id]:e.id,[g.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[g.moduleId]=e.moduleId),this.#l.add(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(h||(h={}));class w{#p;#d;constructor(e,t){this.#p=t??new p({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#d=e}static build(e){return new w(e)}add(e,t){this.#p.add(e,t)}clone(){return new w(this.#d,this.#p.clone())}get(e){const t=[],n=this.#p.get(h.serviceId,e);void 0!==n&&t.push(n);const i=this.#d?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return l(...t)}removeAllByModuleId(e){this.#p.removeByRelation(h.moduleId,e)}removeAllByServiceId(e){this.#p.removeByRelation(h.serviceId,e)}}function b(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 S="@inversifyjs/core/classMetadataReflectKey";function j(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const A="@inversifyjs/core/pendingClassMetadataCountReflectKey";const T=Symbol.for("@inversifyjs/core/InversifyCoreError");class R extends Error{[T];kind;constructor(e,t,n){super(t,n),this[T]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[T]}static isErrorOfKind(e,t){return R.is(e)&&e.kind===t}}var B,C,$;function x(t){const n=e(t,S)??j();if(!function(t){const n=e(t,A);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new R(B.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 R(B.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!==C.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===C.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 R(B.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 R(B.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function D(){return 0}function k(e){return t=>{void 0!==t&&t.kind===C.unknown&&n(e,A,D,(e=>e-1))}}function P(e,t){return(...n)=>i=>{if(void 0===i)return e(...n);if(i.kind===$.unmanaged)throw new R(B.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function O(e){if(e.kind!==C.unknown&&!0!==e.isFromTypescriptParamType)throw new R(B.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"}(B||(B={})),function(e){e[e.unknown=32]="unknown"}(C||(C={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}($||($={}));const V=P((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return O(e),{...e,kind:t,value:n}}));function F(e,t){return n=>{const i=n.properties.get(t);return n.properties.set(t,e(i)),n}}var N;function E(e,t,n,i){if(R.isErrorOfKind(i,B.injectionDecoratorConflict)){const o=function(e,t,n){if(void 0===n){if(void 0===t)throw new R(B.unknown,"Unexpected undefined property and index values");return{kind:N.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:N.parameter,targetClass:e}:{kind:N.method,method:t,targetClass:e}}(e,t,n);throw new R(B.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${i.message}\n\nDetails\n\n${function(e){switch(e.kind){case N.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case N.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case N.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function U(e,t){return(i,o,r)=>{try{void 0===r?function(e,t){const i=K(e,t);return(e,t)=>{n(e.constructor,S,j,F(i(e),t))}}(e,t)(i,o):"number"==typeof r?function(e,t){const i=K(e,t);return(e,t,o)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,t))throw new R(B.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${t?.toString()??""}" at class "${e.constructor.name}"`);n(e,S,j,function(e,t){return n=>{const i=n.constructorArguments[t];return n.constructorArguments[t]=e(i),n}}(i(e),o))}}(e,t)(i,o,r):function(e,t){const i=K(e,t);return(e,t,o)=>{if(!function(e){return void 0!==e.set}(o))throw new R(B.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${t.toString()}" at class "${e.constructor.name}"`);n(e.constructor,S,j,F(i(e),t))}}(e,t)(i,o,r)}catch(e){E(i,o,r,e)}}}function K(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function _(e){return U(V($.singleInjection,e),k)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(N||(N={}));const q="@inversifyjs/core/classIsInjectableFlagReflectKey";const z=[Array,BigInt,Boolean,Function,Number,Object,String];function G(t){const i=e(t,"design:paramtypes");void 0!==i&&n(t,S,j,function(e){return t=>(e.forEach(((e,n)=>{var i;void 0!==t.constructorArguments[n]||(i=e,z.includes(i))||(t.constructorArguments[n]=function(e){return{isFromTypescriptParamType:!0,kind:$.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),t)}(i))}function L(i){return o=>{!function(n){if(void 0!==e(n,q))throw new R(B.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${n.name}"`);t(n,q,!0)}(o),G(o),void 0!==i&&n(o,S,j,(e=>({...e,scope:i})))}}function W(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 X(e,t,n){let i;return i=e.extendProperties??!0?new Map(l(t.properties,n.properties)):n.properties,i}function H(e){return t=>{const i=x(e.type);n(t,S,j,function(e,t){const n=n=>({constructorArguments:W(e,t,n),lifecycle:n.lifecycle,properties:X(e,t,n),scope:n.scope});return n}(e,i))}}function J(e){return t=>{const n=i(t);if(void 0===n)throw new R(B.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);H({...e,type:n})(t)}}function Q(e){return U(V($.multipleInjection,e),k)}function Y(e){return t=>{void 0===t&&n(e,A,D,(e=>e+1))}}function Z(e){return t=>{const n=t??{kind:C.unknown,name:void 0,optional:!1,tags:new Map};if(n.kind===$.unmanaged)throw new R(B.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function ee(e){const t=Z(function(e){return t=>{if(void 0!==t.name)throw new R(B.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return U(t,Y)}function te(e){if(e.optional)throw new R(B.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function ne(){return U(Z(te),Y)}function ie(){return(e,t,i)=>{try{n(e.constructor,S,j,(o=t,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new R(B.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=o,e}))}catch(n){E(e,t,void 0,n)}var o}}function oe(){return(e,t,i)=>{try{n(e.constructor,S,j,(o=t,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new R(B.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=o,e}))}catch(n){E(e,t,void 0,n)}var o}}function re(e,t){const n=Z(function(e,t){return n=>{if(n.tags.has(e))throw new R(B.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return U(n,Y)}function ae(){return{kind:$.unmanaged}}const se=P(ae,(function(e){if(O(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new R(B.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return ae()}));function ce(){return U(se(),k)}var ue;!function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection"}(ue||(ue={}));class de{#f;constructor(e){this.#f=e}get name(){return this.#f.elem.name}get serviceIdentifier(){return this.#f.elem.serviceIdentifier}get tags(){return this.#f.elem.tags}getAncestor(){if(void 0!==this.#f.previous)return new de(this.#f.previous)}}class le{last;constructor(e){this.last=e}concat(e){return new le({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 pe(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){const n=x(t),i=n.scope??e.scope;return{cache:{isRight:!1,value:void 0},id:c(),implementationType:t,isSatisfiedBy:()=>!0,moduleId:void 0,onActivation:void 0,onDeactivation:void 0,scope:i,serviceIdentifier:t,type:d.Instance}}(e.autobindOptions,i);e.setBinding(t),o.push(t)}return o}function fe(e){return void 0!==e.redirections}function ge(e,t,n,i){let r,a;fe(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 d.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case d.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 "${me(n,i)}".\n\n${ve(r)}`;throw new R(B.planning,t)}t||he(n,i,r)}(e,t,r,a,i):function(e,t,n,i,o){if(void 0!==e||t)return;he(n,i,o)}(e,t,r,a,i)}function he(e,t,n){const i=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${me(e,t)}".\n\n${ve(n)}`;throw new R(B.planning,i)}function me(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function ve(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 ye(e,t,n){if(1!==e.redirections.length)ge(e.redirections,t,e,n);else{const[i]=e.redirections;fe(i)&&ye(i,t,n)}}function Me(e,t,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[i]=e.bindings;fe(i)&&ye(i,t,n)}else ge(e.bindings,t,e,n)}function Ie(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 R(B.planning,`Circular dependency found: ${n}`,{cause:t})}throw t}function we(e){try{const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new le({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new de(n.last),o=pe(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...Te(e,n,o,a)),!e.rootConstraints.isMultiple){Me(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}catch(t){Ie(e,t)}}function be(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return Be({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function Se(e,t,n){if(n.kind===$.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 de(o.last),s=pe(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...Te(e,o,s,u)),n.kind===$.singleInjection){Me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function je(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 de(o.last),s=pe(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...Te(e,o,s,u)),n.kind===ue.singleInjection){Me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Ae(e,t,n,i){const o={binding:t,params:[],parent:i};return Be({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function Te(e,t,n,i){const o=fe(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;e.servicesBranch.push(o);const r=[];for(const o of n)switch(o.type){case d.Instance:r.push(be(e,o,t,i));break;case d.ResolvedValue:r.push(Ae(e,o,t,i));break;case d.ServiceRedirection:{const n=Re(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.pop(),r}function Re(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=pe(e,new de(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...Te(e,t,r,o)),o}function Be(e,t){return e.node.binding.type===d.Instance?function(e,t,n){const i=t.classMetadata;for(const[o,r]of i.constructorArguments.entries())t.constructorParams[o]=Se(e,n,r);for(const[o,r]of i.properties){const i=Se(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]=je(e,n,r);return e.node}(e,e.node,t)}class Ce{#g;#h;#m;constructor(){this.#g=[],this.#h=8,this.#m=1024}*[Symbol.iterator](){let e=0;for(const t of this.#g){const n=t.deref();void 0===n?++e:yield n}this.#g.length>=this.#h&&this.#v(e)&&this.#y(e)}push(e){const t=new WeakRef(e);if(this.#g.push(t),this.#g.length>=this.#h&&this.#g.length%this.#m===0){let e=0;for(const t of this.#g)void 0===t.deref()&&++e;this.#v(e)&&this.#y(e)}}#y(e){const t=new Array(this.#g.length-e);let n=0;for(const e of this.#g)e.deref()&&(t[n++]=e);this.#g=t}#v(e){return e>=.5*this.#g.length}}var $e;!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"}($e||($e={}));class xe{#M;#I;#w;#b;#S;constructor(){this.#M=this.#j(),this.#I=this.#j(),this.#w=this.#j(),this.#b=this.#j(),this.#S=new Ce}clearCache(){for(const e of this.#A())e.clear();for(const e of this.#S)e.clearCache()}get(e){return void 0===e.name?void 0===e.tag?this.#T(this.#M,e).get(e.serviceIdentifier):this.#T(this.#b,e).get(e.serviceIdentifier)?.get(e.tag.key)?.get(e.tag.value):void 0===e.tag?this.#T(this.#I,e).get(e.serviceIdentifier)?.get(e.name):this.#T(this.#w,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.#T(this.#M,e).set(e.serviceIdentifier,t):this.#R(this.#R(this.#T(this.#b,e),e.serviceIdentifier),e.tag.key).set(e.tag.value,t):void 0===e.tag?this.#R(this.#T(this.#I,e),e.serviceIdentifier).set(e.name,t):this.#R(this.#R(this.#R(this.#T(this.#w,e),e.serviceIdentifier),e.name),e.tag.key).set(e.tag.value,t)}subscribe(e){this.#S.push(e)}#j(){const e=new Array($e.length);for(let t=0;t<e.length;++t)e[t]=new Map;return e}#R(e,t){let n=e.get(t);return void 0===n&&(n=new Map,e.set(t,n)),n}#T(e,t){return e[this.#B(t)]}#A(){return[...this.#M,...this.#I,...this.#w,...this.#b]}#B(e){return e.isMultiple?!0===e.optional?$e.multipleOptional:$e.multipleMandatory:!0===e.optional?$e.singleOptional:$e.singleMandatory}}function De(e,t){return a(t)?(e.cache={isRight:!0,value:t},t.then((t=>ke(e,t)))):ke(e,t)}function ke(e,t){return e.cache={isRight:!0,value:t},t}function Pe(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?Oe(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 Oe(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function Oe(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 Ve(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 Pe(e,t.serviceIdentifier,i)}function Fe(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;return De(n,Ve(t,n,e(t,n)))}}const Ne=Fe((function(e,t){return t.value}));function Ee(e){return e}function Ue(e,t){return(n,i)=>{const o=e(i);switch(o.scope){case u.Singleton:if(o.cache.isRight)return o.cache.value;return De(o,Ve(n,o,t(n,i)));case u.Request:{if(n.requestScopeCache.has(o.id))return n.requestScopeCache.get(o.id);const e=Ve(n,o,t(n,i));return n.requestScopeCache.set(o.id,e),e}case u.Transient:return Ve(n,o,t(n,i))}}}const Ke=(e=>Ue(Ee,e))((function(e,t){return t.value(e.context)}));const _e=Fe((function(e,t){return t.factory(e.context)}));function qe(e,t,n){const i=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new R(B.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new R(B.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 R(B.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 R(B.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 ze(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>qe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):qe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Ge=Fe((function(e,t){return t.provider(e.context)}));function Le(e){return e.binding}function We(e){return e.binding}const Xe=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 R(B.resolution,`Expecting metadata at property "${r.toString()}", none found`);c.kind!==$.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((()=>{}))}}(nt),He=function(e){return function t(n,i){const o=[];for(const r of i.redirections)fe(r)?o.push(...t(n,r)):o.push(e(n,r));return o}}(tt),Je=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}}(nt),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(ze(Xe)),ze(Xe)),Qe=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}}(nt)),Ye=(e=>Ue(Le,e))(Je),Ze=(e=>Ue(We,e))(Qe);function et(e){return nt(e,e.planResult.tree.root)}function tt(e,t){switch(t.binding.type){case d.ConstantValue:return Ne(e,t.binding);case d.DynamicValue:return Ke(e,t.binding);case d.Factory:return _e(e,t.binding);case d.Instance:return Ye(e,t);case d.Provider:return Ge(e,t.binding);case d.ResolvedValue:return Ze(e,t)}}function nt(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const i of t)fe(i)?n.push(...He(e,i)):n.push(tt(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(fe(t)){const n=He(e,t);if(1===n.length)return n[0];throw new R(B.resolution,"Unexpected multiple resolved values on single injection")}return tt(e,t)}(e,t.bindings)}function it(e){return void 0!==e.scope}function ot(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function rt(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?at(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return at(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function at(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function st(e,t){const n=function(e,t){if(t.type===d.Instance){const n=e.getClassMetadata(t.implementationType),i=t.cache.value;return a(i)?i.then((e=>ot(n,e))):ot(n,i)}}(e,t);return void 0===n?ct(e,t):n.then((()=>ct(e,t)))}function ct(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>ut(e,t,n))):ut(e,t,n.value)}function ut(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?rt(e,t.serviceIdentifier,n):i.then((()=>rt(e,t.serviceIdentifier,n)))}function dt(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)it(n)&&n.scope===u.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=st(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function lt(e,t){const n=e.getBindingsFromModule(t);return dt(e,n)}function pt(e,t){const n=e.getBindings(t);return dt(e,n)}export{m as ActivationsService,I as BindingService,$ as ClassElementMetadataKind,w as DeactivationsService,xe as PlanResultCacheService,ue as ResolvedValueElementMetadataKind,u as bindingScopeValues,d as bindingTypeValues,b as decorate,c as getBindingId,x as getClassMetadata,_ as inject,J as injectFromBase,L as injectable,Q as multiInject,ee as named,ne as optional,we as plan,ie as postConstruct,oe as preDestroy,et as resolve,dt as resolveBindingsDeactivations,lt as resolveModuleDeactivations,pt as resolveServiceDeactivations,re as tagged,ce as unmanaged};
2
2
  //# sourceMappingURL=index.js.map