@inversifyjs/core 3.2.0 → 3.4.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 (35) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/cjs/common/models/OneToManyMapStar.d.ts +2 -1
  3. package/lib/cjs/common/models/OneToManyMapStar.d.ts.map +1 -1
  4. package/lib/cjs/error/models/InversifyCoreError.d.ts +2 -1
  5. package/lib/cjs/error/models/InversifyCoreError.d.ts.map +1 -1
  6. package/lib/cjs/error/models/InversifyCoreError.js +5 -5
  7. package/lib/cjs/error/models/InversifyCoreError.js.map +1 -1
  8. package/lib/cjs/index.d.ts +3 -2
  9. package/lib/cjs/index.d.ts.map +1 -1
  10. package/lib/cjs/index.js +3 -1
  11. package/lib/cjs/index.js.map +1 -1
  12. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts.map +1 -1
  13. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +27 -1
  14. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -1
  15. package/lib/cjs/planning/calculations/plan.js +2 -0
  16. package/lib/cjs/planning/calculations/plan.js.map +1 -1
  17. package/lib/cjs/planning/models/BasePlanParams.d.ts +3 -0
  18. package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -1
  19. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts +5 -0
  20. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts.map +1 -0
  21. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.js +3 -0
  22. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.js.map +1 -0
  23. package/lib/cjs/planning/services/PlanResultCacheService.d.ts +35 -0
  24. package/lib/cjs/planning/services/PlanResultCacheService.d.ts.map +1 -0
  25. package/lib/cjs/planning/services/PlanResultCacheService.js +138 -0
  26. package/lib/cjs/planning/services/PlanResultCacheService.js.map +1 -0
  27. package/lib/cjs/planning/services/PlanResultCacheService.spec.d.ts +2 -0
  28. package/lib/cjs/planning/services/PlanResultCacheService.spec.d.ts.map +1 -0
  29. package/lib/cjs/resolution/models/GetOptions.d.ts +1 -0
  30. package/lib/cjs/resolution/models/GetOptions.d.ts.map +1 -1
  31. package/lib/esm/index.d.ts +38 -1
  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 +6 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @inversifyjs/core
2
2
 
3
+ ## 3.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b1a18b6: Added `PlanResultCacheService`
8
+
9
+ ## 3.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 9c713eb: Updated `GetOptions` with autobind
14
+
3
15
  ## 3.2.0
4
16
 
5
17
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  import { Cloneable } from './Cloneable';
2
- export type OneToManyMapStartSpec<TRelation extends object> = {
2
+ type OneToManyMapStartSpec<TRelation extends object> = {
3
3
  [TKey in keyof TRelation]: {
4
4
  isOptional: undefined extends TRelation[TKey] ? true : false;
5
5
  };
@@ -16,4 +16,5 @@ export declare class OneToManyMapStar<TModel, TRelation extends object> implemen
16
16
  getAllKeys<TKey extends keyof TRelation>(key: TKey): Iterable<TRelation[TKey]>;
17
17
  removeByRelation<TKey extends keyof TRelation>(key: TKey, value: Required<TRelation>[TKey]): void;
18
18
  }
19
+ export {};
19
20
  //# sourceMappingURL=OneToManyMapStar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyMapStar.d.ts","sourceRoot":"","sources":["../../../../src/common/models/OneToManyMapStar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,MAAM,IAAI;KAC3D,IAAI,IAAI,MAAM,SAAS,GAAG;QACzB,UAAU,EAAE,SAAS,SAAS,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;KAC9D;CACF,CAAC;AAMF;;GAEG;AACH,qBAAa,gBAAgB,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,CAC5D,YAAW,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;;gBAM7C,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAY3C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI;IAY7C,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC;IAwB5C,GAAG,CAAC,IAAI,SAAS,MAAM,SAAS,EACrC,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS;IAIxB,UAAU,CAAC,IAAI,SAAS,MAAM,SAAS,EAC5C,GAAG,EAAE,IAAI,GACR,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAIrB,gBAAgB,CAAC,IAAI,SAAS,MAAM,SAAS,EAClD,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAC/B,IAAI;CAiGR"}
1
+ {"version":3,"file":"OneToManyMapStar.d.ts","sourceRoot":"","sources":["../../../../src/common/models/OneToManyMapStar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,KAAK,qBAAqB,CAAC,SAAS,SAAS,MAAM,IAAI;KACpD,IAAI,IAAI,MAAM,SAAS,GAAG;QACzB,UAAU,EAAE,SAAS,SAAS,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;KAC9D;CACF,CAAC;AAMF;;GAEG;AACH,qBAAa,gBAAgB,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,CAC5D,YAAW,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;;gBAM7C,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAY3C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI;IAY7C,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC;IAwB5C,GAAG,CAAC,IAAI,SAAS,MAAM,SAAS,EACrC,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS;IAIxB,UAAU,CAAC,IAAI,SAAS,MAAM,SAAS,EAC5C,GAAG,EAAE,IAAI,GACR,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAIrB,gBAAgB,CAAC,IAAI,SAAS,MAAM,SAAS,EAClD,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAC/B,IAAI;CAiGR"}
@@ -1,5 +1,5 @@
1
1
  import { InversifyCoreErrorKind } from './InversifyCoreErrorKind';
2
- export declare const isAppErrorSymbol: unique symbol;
2
+ declare const isAppErrorSymbol: unique symbol;
3
3
  export declare class InversifyCoreError extends Error {
4
4
  [isAppErrorSymbol]: true;
5
5
  kind: InversifyCoreErrorKind;
@@ -7,4 +7,5 @@ export declare class InversifyCoreError extends Error {
7
7
  static is(value: unknown): value is InversifyCoreError;
8
8
  static isErrorOfKind(value: unknown, kind: InversifyCoreErrorKind): value is InversifyCoreError;
9
9
  }
10
+ export {};
10
11
  //# sourceMappingURL=InversifyCoreError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InversifyCoreError.d.ts","sourceRoot":"","sources":["../../../../src/error/models/InversifyCoreError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAErC,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,KAAK;IACpC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAEzB,IAAI,EAAE,sBAAsB,CAAC;gBAGlC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY;WAQV,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB;WAQ/C,aAAa,CACzB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,sBAAsB,GAC3B,KAAK,IAAI,kBAAkB;CAG/B"}
1
+ {"version":3,"file":"InversifyCoreError.d.ts","sourceRoot":"","sources":["../../../../src/error/models/InversifyCoreError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,QAAA,MAAM,gBAAgB,EAAE,OAAO,MAE9B,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,KAAK;IACpC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAEzB,IAAI,EAAE,sBAAsB,CAAC;gBAGlC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY;WAQV,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB;WAQ/C,aAAa,CACzB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,sBAAsB,GAC3B,KAAK,IAAI,kBAAkB;CAG/B"}
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InversifyCoreError = exports.isAppErrorSymbol = void 0;
4
- exports.isAppErrorSymbol = Symbol.for('@inversifyjs/core/InversifyCoreError');
3
+ exports.InversifyCoreError = void 0;
4
+ const isAppErrorSymbol = Symbol.for('@inversifyjs/core/InversifyCoreError');
5
5
  class InversifyCoreError extends Error {
6
- [exports.isAppErrorSymbol];
6
+ [isAppErrorSymbol];
7
7
  kind;
8
8
  constructor(kind, message, options) {
9
9
  super(message, options);
10
- this[exports.isAppErrorSymbol] = true;
10
+ this[isAppErrorSymbol] = true;
11
11
  this.kind = kind;
12
12
  }
13
13
  static is(value) {
14
14
  return (typeof value === 'object' &&
15
15
  value !== null &&
16
- value[exports.isAppErrorSymbol] === true);
16
+ value[isAppErrorSymbol] === true);
17
17
  }
18
18
  static isErrorOfKind(value, kind) {
19
19
  return InversifyCoreError.is(value) && value.kind === kind;
@@ -1 +1 @@
1
- {"version":3,"file":"InversifyCoreError.js","sourceRoot":"","sources":["../../../../src/error/models/InversifyCoreError.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CACvD,sCAAsC,CACvC,CAAC;AAEF,MAAa,kBAAmB,SAAQ,KAAK;IACpC,CAAC,wBAAgB,CAAC,CAAO;IAEzB,IAAI,CAAyB;IAEpC,YACE,IAA4B,EAC5B,OAAgB,EAChB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,wBAAgB,CAAC,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAc;QAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAA0C,CAAC,wBAAgB,CAAC,KAAK,IAAI,CACvE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,KAAc,EACd,IAA4B;QAE5B,OAAO,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IAC7D,CAAC;CACF;AA9BD,gDA8BC"}
1
+ {"version":3,"file":"InversifyCoreError.js","sourceRoot":"","sources":["../../../../src/error/models/InversifyCoreError.ts"],"names":[],"mappings":";;;AAEA,MAAM,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CAChD,sCAAsC,CACvC,CAAC;AAEF,MAAa,kBAAmB,SAAQ,KAAK;IACpC,CAAC,gBAAgB,CAAC,CAAO;IAEzB,IAAI,CAAyB;IAEpC,YACE,IAA4B,EAC5B,OAAgB,EAChB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAc;QAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAA0C,CAAC,gBAAgB,CAAC,KAAK,IAAI,CACvE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,KAAc,EACd,IAA4B;QAE5B,OAAO,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IAC7D,CAAC;CACF;AA9BD,gDA8BC"}
@@ -51,6 +51,7 @@ import { PlanServiceNode } from './planning/models/PlanServiceNode';
51
51
  import { PlanServiceNodeParent } from './planning/models/PlanServiceNodeParent';
52
52
  import { PlanServiceRedirectionBindingNode } from './planning/models/PlanServiceRedirectionBindingNode';
53
53
  import { PlanTree } from './planning/models/PlanTree';
54
+ import { GetPlanOptions, PlanResultCacheService } from './planning/services/PlanResultCacheService';
54
55
  import { resolve } from './resolution/actions/resolve';
55
56
  import { resolveModuleDeactivations } from './resolution/actions/resolveModuleDeactivations';
56
57
  import { resolveServiceDeactivations } from './resolution/actions/resolveServiceDeactivations';
@@ -61,6 +62,6 @@ import { OptionalGetOptions } from './resolution/models/OptionalGetOptions';
61
62
  import { ResolutionContext } from './resolution/models/ResolutionContext';
62
63
  import { ResolutionParams } from './resolution/models/ResolutionParams';
63
64
  import { Resolved } from './resolution/models/Resolved';
64
- export type { BaseBinding, BaseBindingNode, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingDeactivation, BindingDeactivationRelation, BindingMetadata, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetOptions, GetOptionsTagConstraint, InstanceBinding, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ScopedBinding, ServiceRedirectionBinding, UnmanagedClassElementMetadata, };
65
- export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, ClassElementMetadataKind, DeactivationsService, decorate, getClassMetadata, multiInject, inject, injectable, injectFromBase, named, optional, postConstruct, plan, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, };
65
+ export type { BaseBinding, BaseBindingNode, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingDeactivation, BindingDeactivationRelation, BindingMetadata, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetPlanOptions, GetOptions, GetOptionsTagConstraint, InstanceBinding, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ScopedBinding, ServiceRedirectionBinding, UnmanagedClassElementMetadata, };
66
+ export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, ClassElementMetadataKind, DeactivationsService, decorate, getClassMetadata, multiInject, inject, injectable, injectFromBase, named, optional, postConstruct, plan, preDestroy, PlanResultCacheService, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, };
66
67
  //# 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.resolve = exports.preDestroy = exports.plan = exports.postConstruct = exports.optional = exports.named = exports.injectFromBase = exports.injectable = exports.inject = exports.multiInject = 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.resolve = exports.PlanResultCacheService = exports.preDestroy = exports.plan = exports.postConstruct = exports.optional = exports.named = exports.injectFromBase = exports.injectable = exports.inject = exports.multiInject = 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");
@@ -39,6 +39,8 @@ const ClassElementMetadataKind_1 = require("./metadata/models/ClassElementMetada
39
39
  Object.defineProperty(exports, "ClassElementMetadataKind", { enumerable: true, get: function () { return ClassElementMetadataKind_1.ClassElementMetadataKind; } });
40
40
  const plan_1 = require("./planning/calculations/plan");
41
41
  Object.defineProperty(exports, "plan", { enumerable: true, get: function () { return plan_1.plan; } });
42
+ const PlanResultCacheService_1 = require("./planning/services/PlanResultCacheService");
43
+ Object.defineProperty(exports, "PlanResultCacheService", { enumerable: true, get: function () { return PlanResultCacheService_1.PlanResultCacheService; } });
42
44
  const resolve_1 = require("./resolution/actions/resolve");
43
45
  Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return resolve_1.resolve; } });
44
46
  const resolveModuleDeactivations_1 = require("./resolution/actions/resolveModuleDeactivations");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gEAGuC;AAmHrC,mGApHA,iCAAkB,OAoHA;AAlHpB,8DAA8E;AAoH5E,kGApHoB,+BAAiB,OAoHpB;AAzGnB,8EAG+C;AAmG7C,mGArGA,uCAAkB,OAqGA;AAlGpB,sEAAmE;AAoGjE,+FApGO,+BAAc,OAoGP;AAnGhB,kFAGiD;AAmG/C,qGApGA,2CAAoB,OAoGA;AAlGtB,2DAAwD;AAmGtD,yFAnGO,mBAAQ,OAmGP;AAlGV,+EAA4E;AAmG1E,iGAnGO,mCAAgB,OAmGP;AAlGlB,yDAAsD;AAoGpD,uFApGO,eAAM,OAoGP;AAnGR,iEAA8D;AAoG5D,2FApGO,uBAAU,OAoGP;AAnGZ,yEAAsE;AAoGpE,+FApGO,+BAAc,OAoGP;AAnGhB,mEAAgE;AAgG9D,4FAhGO,yBAAW,OAgGP;AA/Fb,uDAAoD;AAmGlD,sFAnGO,aAAK,OAmGP;AAlGP,6DAA0D;AAmGxD,yFAnGO,mBAAQ,OAmGP;AAlGV,uEAAoE;AAmGlE,8FAnGO,6BAAa,OAmGP;AAlGf,iEAA8D;AAoG5D,2FApGO,uBAAU,OAoGP;AAnGZ,yDAAsD;AAuGpD,uFAvGO,eAAM,OAuGP;AAtGR,+DAA4D;AAuG1D,0FAvGO,qBAAS,OAuGP;AArGX,yFAAsF;AAoFpF,yGApFO,mDAAwB,OAoFP;AA7E1B,uDAAoD;AAwFlD,qFAxFO,WAAI,OAwFP;AA3EN,0DAAuD;AA6ErD,wFA7EO,iBAAO,OA6EP;AA5ET,gGAA6F;AA6E3F,2GA7EO,uDAA0B,OA6EP;AA5E5B,kGAA+F;AA6E7F,4GA7EO,yDAA2B,OA6EP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gEAGuC;AAwHrC,mGAzHA,iCAAkB,OAyHA;AAvHpB,8DAA8E;AAyH5E,kGAzHoB,+BAAiB,OAyHpB;AA9GnB,8EAG+C;AAwG7C,mGA1GA,uCAAkB,OA0GA;AAvGpB,sEAAmE;AAyGjE,+FAzGO,+BAAc,OAyGP;AAxGhB,kFAGiD;AAwG/C,qGAzGA,2CAAoB,OAyGA;AAvGtB,2DAAwD;AAwGtD,yFAxGO,mBAAQ,OAwGP;AAvGV,+EAA4E;AAwG1E,iGAxGO,mCAAgB,OAwGP;AAvGlB,yDAAsD;AAyGpD,uFAzGO,eAAM,OAyGP;AAxGR,iEAA8D;AAyG5D,2FAzGO,uBAAU,OAyGP;AAxGZ,yEAAsE;AAyGpE,+FAzGO,+BAAc,OAyGP;AAxGhB,mEAAgE;AAqG9D,4FArGO,yBAAW,OAqGP;AApGb,uDAAoD;AAwGlD,sFAxGO,aAAK,OAwGP;AAvGP,6DAA0D;AAwGxD,yFAxGO,mBAAQ,OAwGP;AAvGV,uEAAoE;AAwGlE,8FAxGO,6BAAa,OAwGP;AAvGf,iEAA8D;AAyG5D,2FAzGO,uBAAU,OAyGP;AAxGZ,yDAAsD;AA6GpD,uFA7GO,eAAM,OA6GP;AA5GR,+DAA4D;AA6G1D,0FA7GO,qBAAS,OA6GP;AA3GX,yFAAsF;AAyFpF,yGAzFO,mDAAwB,OAyFP;AAlF1B,uDAAoD;AA6FlD,qFA7FO,WAAI,OA6FP;AAhFN,uFAGoD;AA+ElD,uGAhFA,+CAAsB,OAgFA;AA9ExB,0DAAuD;AA+ErD,wFA/EO,iBAAO,OA+EP;AA9ET,gGAA6F;AA+E3F,2GA/EO,uDAA0B,OA+EP;AA9E5B,kGAA+F;AA+E7F,4GA/EO,yDAA2B,OA+EP"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildFilteredServiceBindings.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/buildFilteredServiceBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,mCAAmC;IAClD,uBAAuB,CAAC,EAAE,iBAAiB,CAAC;CAC7C;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,mCAAmC,GAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,CAWpB"}
1
+ {"version":3,"file":"buildFilteredServiceBindings.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/buildFilteredServiceBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,WAAW,mCAAmC;IAClD,uBAAuB,CAAC,EAAE,iBAAiB,CAAC;CAC7C;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,mCAAmC,GAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,CA6BpB"}
@@ -1,11 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildFilteredServiceBindings = buildFilteredServiceBindings;
4
+ const BindingType_1 = require("../../binding/models/BindingType");
4
5
  function buildFilteredServiceBindings(params, bindingMetadata, options) {
5
6
  const serviceIdentifier = options?.customServiceIdentifier ?? bindingMetadata.serviceIdentifier;
6
7
  const serviceBindings = [
7
8
  ...(params.getBindings(serviceIdentifier) ?? []),
8
9
  ];
9
- return serviceBindings.filter((binding) => binding.isSatisfiedBy(bindingMetadata));
10
+ const filteredBindings = serviceBindings.filter((binding) => binding.isSatisfiedBy(bindingMetadata));
11
+ if (filteredBindings.length === 0 &&
12
+ params.autobindOptions !== undefined &&
13
+ typeof serviceIdentifier === 'function') {
14
+ const binding = buildInstanceBinding(params.autobindOptions, serviceIdentifier);
15
+ params.setBinding(binding);
16
+ filteredBindings.push(binding);
17
+ }
18
+ return filteredBindings;
19
+ }
20
+ function buildInstanceBinding(autobindOptions, serviceIdentifier) {
21
+ return {
22
+ cache: {
23
+ isRight: false,
24
+ value: undefined,
25
+ },
26
+ id: 0,
27
+ implementationType: serviceIdentifier,
28
+ isSatisfiedBy: () => true,
29
+ moduleId: undefined,
30
+ onActivation: undefined,
31
+ onDeactivation: undefined,
32
+ scope: autobindOptions.scope,
33
+ serviceIdentifier,
34
+ type: BindingType_1.bindingTypeValues.Instance,
35
+ };
10
36
  }
11
37
  //# sourceMappingURL=buildFilteredServiceBindings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFilteredServiceBindings.js","sourceRoot":"","sources":["../../../../src/planning/calculations/buildFilteredServiceBindings.ts"],"names":[],"mappings":";;AAUA,oEAeC;AAfD,SAAgB,4BAA4B,CAC1C,MAAsB,EACtB,eAAgC,EAChC,OAA6C;IAE7C,MAAM,iBAAiB,GACrB,OAAO,EAAE,uBAAuB,IAAI,eAAe,CAAC,iBAAiB,CAAC;IAExE,MAAM,eAAe,GAAuB;QAC1C,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KACjD,CAAC;IAEF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,OAAyB,EAAW,EAAE,CACnE,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"buildFilteredServiceBindings.js","sourceRoot":"","sources":["../../../../src/planning/calculations/buildFilteredServiceBindings.ts"],"names":[],"mappings":";;AAaA,oEAiCC;AA1CD,kEAAqE;AASrE,SAAgB,4BAA4B,CAC1C,MAAsB,EACtB,eAAgC,EAChC,OAA6C;IAE7C,MAAM,iBAAiB,GACrB,OAAO,EAAE,uBAAuB,IAAI,eAAe,CAAC,iBAAiB,CAAC;IAExE,MAAM,eAAe,GAAuB;QAC1C,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KACjD,CAAC;IAEF,MAAM,gBAAgB,GAAuB,eAAe,CAAC,MAAM,CACjE,CAAC,OAAyB,EAAW,EAAE,CACrC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CACzC,CAAC;IAEF,IACE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,OAAO,iBAAiB,KAAK,UAAU,EACvC,CAAC;QACD,MAAM,OAAO,GAA6B,oBAAoB,CAC5D,MAAM,CAAC,eAAe,EACtB,iBAA4B,CAC7B,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE3B,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAC3B,eAA8C,EAC9C,iBAA0B;IAE1B,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,SAAS;SACjB;QACD,EAAE,EAAE,CAAC;QACL,kBAAkB,EAAE,iBAAiB;QACrC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;QACzB,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,SAAS;QACzB,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,iBAAiB;QACjB,IAAI,EAAE,+BAAiB,CAAC,QAAQ;KACjC,CAAC;AACJ,CAAC"}
@@ -53,10 +53,12 @@ function buildInstancePlanBindingNode(params, binding, bindingMetadataList, pare
53
53
  propertyParams: new Map(),
54
54
  };
55
55
  const subplanParams = {
56
+ autobindOptions: params.autobindOptions,
56
57
  getBindings: params.getBindings,
57
58
  getClassMetadata: params.getClassMetadata,
58
59
  node: childNode,
59
60
  servicesBranch: params.servicesBranch,
61
+ setBinding: params.setBinding,
60
62
  };
61
63
  return subplan(subplanParams, bindingMetadataList);
62
64
  }
@@ -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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"}
@@ -1,9 +1,12 @@
1
1
  import { Newable, ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { Binding } from '../../binding/models/Binding';
3
3
  import { ClassMetadata } from '../../metadata/models/ClassMetadata';
4
+ import { BasePlanParamsAutobindOptions } from './BasePlanParamsAutobindOptions';
4
5
  export interface BasePlanParams {
6
+ autobindOptions: BasePlanParamsAutobindOptions | undefined;
5
7
  getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
6
8
  getClassMetadata: (type: Newable) => ClassMetadata;
7
9
  servicesBranch: Set<ServiceIdentifier>;
10
+ setBinding: <TInstance>(binding: Binding<TInstance>) => void;
8
11
  }
9
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;AAEpE,MAAM,WAAW,cAAc;IAC7B,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;CACxC"}
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"}
@@ -0,0 +1,5 @@
1
+ import { BindingScope } from '../../binding/models/BindingScope';
2
+ export interface BasePlanParamsAutobindOptions {
3
+ scope: BindingScope;
4
+ }
5
+ //# sourceMappingURL=BasePlanParamsAutobindOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePlanParamsAutobindOptions.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/BasePlanParamsAutobindOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,YAAY,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BasePlanParamsAutobindOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePlanParamsAutobindOptions.js","sourceRoot":"","sources":["../../../../src/planning/models/BasePlanParamsAutobindOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { ServiceIdentifier } from '@inversifyjs/common';
2
+ import { MetadataName } from '../../metadata/models/MetadataName';
3
+ import { MetadataTag } from '../../metadata/models/MetadataTag';
4
+ import { PlanResult } from '../models/PlanResult';
5
+ interface GetPlanOptionsTagConstraint {
6
+ key: MetadataTag;
7
+ value: unknown;
8
+ }
9
+ export interface GetPlanOptions {
10
+ serviceIdentifier: ServiceIdentifier;
11
+ isMultiple: boolean;
12
+ name: MetadataName | undefined;
13
+ optional: boolean | undefined;
14
+ tag: GetPlanOptionsTagConstraint | undefined;
15
+ }
16
+ /**
17
+ * Service to cache plans.
18
+ *
19
+ * This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
20
+ * The cache should be cleared when a new binding is registered or when a binding is unregistered.
21
+ *
22
+ * Subscribers are supposed to be plan services from child containers.
23
+ *
24
+ * Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
25
+ */
26
+ export declare class PlanResultCacheService {
27
+ #private;
28
+ constructor();
29
+ clearCache(): void;
30
+ get(options: GetPlanOptions): PlanResult | undefined;
31
+ set(options: GetPlanOptions, planResult: PlanResult): void;
32
+ subscribe(subscriber: PlanResultCacheService): void;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=PlanResultCacheService.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlanResultCacheService = void 0;
4
+ var GetPlanBooleanOptionsMask;
5
+ (function (GetPlanBooleanOptionsMask) {
6
+ GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["singleMandatory"] = 0] = "singleMandatory";
7
+ GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["singleOptional"] = 1] = "singleOptional";
8
+ GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["multipleMandatory"] = 2] = "multipleMandatory";
9
+ GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["multipleOptional"] = 3] = "multipleOptional";
10
+ // Must be the last one
11
+ GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["length"] = 4] = "length";
12
+ })(GetPlanBooleanOptionsMask || (GetPlanBooleanOptionsMask = {}));
13
+ /**
14
+ * Service to cache plans.
15
+ *
16
+ * This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
17
+ * The cache should be cleared when a new binding is registered or when a binding is unregistered.
18
+ *
19
+ * Subscribers are supposed to be plan services from child containers.
20
+ *
21
+ * Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
22
+ */
23
+ class PlanResultCacheService {
24
+ #serviceIdToValuePlanMap;
25
+ #namedServiceIdToValuePlanMap;
26
+ #taggedServiceIdToValuePlanMap;
27
+ #namedTaggedServiceIdToValuePlanMap;
28
+ #subscribers;
29
+ constructor() {
30
+ this.#serviceIdToValuePlanMap = this.#buildInitializedMapArray();
31
+ this.#namedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
32
+ this.#namedTaggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
33
+ this.#taggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
34
+ this.#subscribers = [];
35
+ }
36
+ clearCache() {
37
+ for (const map of this.#getMaps()) {
38
+ map.clear();
39
+ }
40
+ for (const subscriber of this.#subscribers) {
41
+ subscriber.clearCache();
42
+ }
43
+ }
44
+ get(options) {
45
+ if (options.name === undefined) {
46
+ if (options.tag === undefined) {
47
+ return this.#getMapFromMapArray(this.#serviceIdToValuePlanMap, options).get(options.serviceIdentifier);
48
+ }
49
+ else {
50
+ return this.#getMapFromMapArray(this.#taggedServiceIdToValuePlanMap, options)
51
+ .get(options.serviceIdentifier)
52
+ ?.get(options.tag.key)
53
+ ?.get(options.tag.value);
54
+ }
55
+ }
56
+ else {
57
+ if (options.tag === undefined) {
58
+ return this.#getMapFromMapArray(this.#namedServiceIdToValuePlanMap, options)
59
+ .get(options.serviceIdentifier)
60
+ ?.get(options.name);
61
+ }
62
+ else {
63
+ return this.#getMapFromMapArray(this.#namedTaggedServiceIdToValuePlanMap, options)
64
+ .get(options.serviceIdentifier)
65
+ ?.get(options.name)
66
+ ?.get(options.tag.key)
67
+ ?.get(options.tag.value);
68
+ }
69
+ }
70
+ }
71
+ set(options, planResult) {
72
+ if (options.name === undefined) {
73
+ if (options.tag === undefined) {
74
+ this.#getMapFromMapArray(this.#serviceIdToValuePlanMap, options).set(options.serviceIdentifier, planResult);
75
+ }
76
+ else {
77
+ this.#getOrBuildMapValueFromMapMap(this.#getOrBuildMapValueFromMapMap(this.#getMapFromMapArray(this.#taggedServiceIdToValuePlanMap, options), options.serviceIdentifier), options.tag.key).set(options.tag.value, planResult);
78
+ }
79
+ }
80
+ else {
81
+ if (options.tag === undefined) {
82
+ this.#getOrBuildMapValueFromMapMap(this.#getMapFromMapArray(this.#namedServiceIdToValuePlanMap, options), options.serviceIdentifier).set(options.name, planResult);
83
+ }
84
+ else {
85
+ this.#getOrBuildMapValueFromMapMap(this.#getOrBuildMapValueFromMapMap(this.#getOrBuildMapValueFromMapMap(this.#getMapFromMapArray(this.#namedTaggedServiceIdToValuePlanMap, options), options.serviceIdentifier), options.name), options.tag.key).set(options.tag.value, planResult);
86
+ }
87
+ }
88
+ }
89
+ subscribe(subscriber) {
90
+ this.#subscribers.push(subscriber);
91
+ }
92
+ #buildInitializedMapArray() {
93
+ const mapArray = new Array(GetPlanBooleanOptionsMask.length);
94
+ for (let i = 0; i < mapArray.length; ++i) {
95
+ mapArray[i] = new Map();
96
+ }
97
+ return mapArray;
98
+ }
99
+ #getOrBuildMapValueFromMapMap(map, key) {
100
+ let valueMap = map.get(key);
101
+ if (valueMap === undefined) {
102
+ valueMap = new Map();
103
+ map.set(key, valueMap);
104
+ }
105
+ return valueMap;
106
+ }
107
+ #getMapFromMapArray(mapArray, options) {
108
+ return mapArray[this.#getMapArrayIndex(options)];
109
+ }
110
+ #getMaps() {
111
+ return [
112
+ ...this.#serviceIdToValuePlanMap,
113
+ ...this.#namedServiceIdToValuePlanMap,
114
+ ...this.#namedTaggedServiceIdToValuePlanMap,
115
+ ...this.#taggedServiceIdToValuePlanMap,
116
+ ];
117
+ }
118
+ #getMapArrayIndex(options) {
119
+ if (options.isMultiple) {
120
+ if (options.optional === true) {
121
+ return GetPlanBooleanOptionsMask.multipleOptional;
122
+ }
123
+ else {
124
+ return GetPlanBooleanOptionsMask.multipleMandatory;
125
+ }
126
+ }
127
+ else {
128
+ if (options.optional === true) {
129
+ return GetPlanBooleanOptionsMask.singleOptional;
130
+ }
131
+ else {
132
+ return GetPlanBooleanOptionsMask.singleMandatory;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ exports.PlanResultCacheService = PlanResultCacheService;
138
+ //# sourceMappingURL=PlanResultCacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanResultCacheService.js","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlanResultCacheService.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanResultCacheService.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.spec.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { MetadataName } from '../../metadata/models/MetadataName';
2
2
  import { GetOptionsTagConstraint } from './GetOptionsTagConstraint';
3
3
  export interface GetOptions {
4
+ autobind?: boolean;
4
5
  name?: MetadataName;
5
6
  optional?: boolean;
6
7
  tag?: GetOptionsTagConstraint;
@@ -1 +1 @@
1
- {"version":3,"file":"GetOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolution/models/GetOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,uBAAuB,CAAC;CAC/B"}
1
+ {"version":3,"file":"GetOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolution/models/GetOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,uBAAuB,CAAC;CAC/B"}
@@ -38,6 +38,7 @@ interface GetOptionsTagConstraint {
38
38
  }
39
39
 
40
40
  interface GetOptions {
41
+ autobind?: boolean;
41
42
  name?: MetadataName;
42
43
  optional?: boolean;
43
44
  tag?: GetOptionsTagConstraint;
@@ -220,10 +221,16 @@ declare function tagged(key: MetadataTag, value: unknown): MethodDecorator & Par
220
221
 
221
222
  declare function unmanaged(): MethodDecorator & ParameterDecorator & PropertyDecorator;
222
223
 
224
+ interface BasePlanParamsAutobindOptions {
225
+ scope: BindingScope;
226
+ }
227
+
223
228
  interface BasePlanParams {
229
+ autobindOptions: BasePlanParamsAutobindOptions | undefined;
224
230
  getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
225
231
  getClassMetadata: (type: Newable) => ClassMetadata;
226
232
  servicesBranch: Set<ServiceIdentifier>;
233
+ setBinding: <TInstance>(binding: Binding<TInstance>) => void;
227
234
  }
228
235
 
229
236
  interface PlanParamsTagConstraint {
@@ -282,6 +289,36 @@ interface PlanResult {
282
289
 
283
290
  declare function plan(params: PlanParams): PlanResult;
284
291
 
292
+ interface GetPlanOptionsTagConstraint {
293
+ key: MetadataTag;
294
+ value: unknown;
295
+ }
296
+ interface GetPlanOptions {
297
+ serviceIdentifier: ServiceIdentifier;
298
+ isMultiple: boolean;
299
+ name: MetadataName | undefined;
300
+ optional: boolean | undefined;
301
+ tag: GetPlanOptionsTagConstraint | undefined;
302
+ }
303
+ /**
304
+ * Service to cache plans.
305
+ *
306
+ * This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
307
+ * The cache should be cleared when a new binding is registered or when a binding is unregistered.
308
+ *
309
+ * Subscribers are supposed to be plan services from child containers.
310
+ *
311
+ * Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
312
+ */
313
+ declare class PlanResultCacheService {
314
+ #private;
315
+ constructor();
316
+ clearCache(): void;
317
+ get(options: GetPlanOptions): PlanResult | undefined;
318
+ set(options: GetPlanOptions, planResult: PlanResult): void;
319
+ subscribe(subscriber: PlanResultCacheService): void;
320
+ }
321
+
285
322
  interface ResolutionParams {
286
323
  context: ResolutionContext;
287
324
  getActivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingActivation<TActivated>> | undefined;
@@ -302,4 +339,4 @@ declare function resolveModuleDeactivations(params: DeactivationParams, moduleId
302
339
 
303
340
  declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
304
341
 
305
- export { ActivationsService, type BaseBinding, type BaseBindingNode, type BasePlanParams, type Binding, type BindingActivation, type BindingActivationRelation, type BindingDeactivation, type BindingDeactivationRelation, type BindingMetadata, 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 InstanceBinding, type LeafBindingNode, type ManagedClassElementMetadata, type MetadataName, type MetadataTag, type OptionalGetOptions, type PlanBindingNode, type PlanParams, type PlanParamsConstraint, type PlanParamsTagConstraint, type PlanResult, type PlanServiceNode, type PlanServiceNodeParent, type PlanServiceRedirectionBindingNode, type PlanTree, type Provider, type ProviderBinding, type ResolutionContext, type ResolutionParams, type Resolved, type ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
342
+ export { ActivationsService, type BaseBinding, type BaseBindingNode, type BasePlanParams, type Binding, type BindingActivation, type BindingActivationRelation, type BindingDeactivation, type BindingDeactivationRelation, type BindingMetadata, 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 ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
@@ -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 n,setReflectMetadata as t}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as o}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as i,LazyServiceIdentifier as r,isPromise as s}from"@inversifyjs/common";const c={Request:"Request",Singleton:"Singleton",Transient:"Transient"},a={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const n of e)yield*n}class d{#e;#n;#t;constructor(e){this.#e=new Map,this.#n={};for(const n of Reflect.ownKeys(e))this.#n[n]=new Map;this.#t=e}add(e,n){this.#o(e).push(n);for(const t of Reflect.ownKeys(n))this.#i(t,n[t]).push(e)}clone(){const e=Reflect.ownKeys(this.#t),n=new d(this.#t);this.#r(this.#e,n.#e);for(const t of e)this.#r(this.#n[t],n.#n[t]);return n}get(e,n){return this.#n[e].get(n)}getAllKeys(e){return this.#n[e].keys()}removeByRelation(e,n){const t=this.get(e,n);if(void 0===t)return;const o=new Set(t);for(const t of o){const o=this.#e.get(t);if(void 0===o)throw new Error("Expecting model relation, none found");for(const i of o)i[e]===n&&this.#s(t,i);this.#e.delete(t)}}#o(e){let n=this.#e.get(e);return void 0===n&&(n=[],this.#e.set(e,n)),n}#i(e,n){let t=this.#n[e].get(n);return void 0===t&&(t=[],this.#n[e].set(n,t)),t}#r(e,n){for(const[t,o]of e)n.set(t,[...o])}#s(e,n){for(const t of Reflect.ownKeys(n))this.#c(e,t,n[t])}#c(e,n,t){const o=this.#n[n].get(t);if(void 0!==o){const i=o.indexOf(e);-1!==i&&o.splice(i,1),0===o.length&&this.#n[n].delete(t)}}}var l,f,p;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class m{#a;#u;constructor(e,n){this.#a=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new m(e)}add(e,n){this.#a.add(e,n)}clone(){return new m(this.#u,this.#a.clone())}get(e){const n=[],t=this.#a.get(l.serviceId,e);void 0!==t&&n.push(t);const o=this.#u?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#a.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#a.removeByRelation(l.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class g{#d;#u;constructor(e,n){this.#d=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new g(e)}clone(){return new g(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getNonParentBindings(e){return this.#d.get(f.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(f.serviceId)}getByModuleId(e){return this.#d.get(f.moduleId,e)??this.#u?.getByModuleId(e)}removeAllByModuleId(e){this.#d.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(f.serviceId,e)}set(e){const n={[f.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(n[f.moduleId]=e.moduleId),this.#d.add(e,n)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class h{#l;#u;constructor(e,n){this.#l=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,n){this.#l.add(e,n)}clone(){return new h(this.#u,this.#l.clone())}get(e){const n=[],t=this.#l.get(p.serviceId,e);void 0!==t&&n.push(t);const o=this.#u?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#l.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(p.serviceId,e)}}function v(e,n,t){const o=Array.isArray(e)?e:[e];if(void 0!==t)if("number"!=typeof t)Reflect.decorate(o,n.prototype,t);else for(const e of o)e(n,void 0,t);else Reflect.decorate(o,n)}const y="@inversifyjs/core/classMetadataReflectKey";function w(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const M="@inversifyjs/core/pendingClassMetadataCountReflectKey";const I=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[I];kind;constructor(e,n,t){super(n,t),this[I]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[I]}static isErrorOfKind(e,n){return b.is(e)&&e.kind===n}}var j,C,$;function x(n){const t=e(n,y)??w();if(!function(n){const t=e(n,M);return void 0!==t&&0!==t}(n))return function(e,n){const t=[];if(n.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 ${n.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<n.length;++e)void 0===n[e]&&t.push(e);if(t.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${t.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`)}(n,t.constructorArguments),t;!function(e,n){const t=[];for(let o=0;o<n.constructorArguments.length;++o){const i=n.constructorArguments[o];void 0!==i&&i.kind!==C.unknown||t.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${o.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[o,i]of n.properties)i.kind===C.unknown&&t.push(` - Missing or incomplete metadata for type "${e.name}" at property "${o.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===t.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${t.join("\n\n")}`)}(n,t)}function S(){return 0}function R(e){return t=>{void 0!==t&&t.kind===C.unknown&&n(e,M,S,(e=>e-1))}}function A(e,n){return(...t)=>o=>{if(void 0===o)return e(...t);if(o.kind===$.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return n(o,...t)}}function T(e){if(e.kind!==C.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"}(C||(C={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}($||($={}));const D=A((function(e,n){return{kind:e,name:void 0,optional:!1,tags:new Map,value:n}}),(function(e,n,t){return T(e),{...e,kind:n,value:t}}));function k(e,n){return t=>{const o=t.properties.get(n);return t.properties.set(n,e(o)),t}}var B;function F(e,n,t,o){if(b.isErrorOfKind(o,j.injectionDecoratorConflict)){const i=function(e,n,t){if(void 0===t){if(void 0===n)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:B.property,property:n,targetClass:e.constructor}}return"number"==typeof t?{index:t,kind:B.parameter,targetClass:e}:{kind:B.method,method:n,targetClass:e}}(e,n,t);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${o.message}\n\nDetails\n\n${function(e){switch(e.kind){case B.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case B.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case B.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(i)}`,{cause:o})}throw o}function P(e,t){return(o,i,r)=>{try{void 0===r?function(e,t){const o=N(e,t);return(e,t)=>{n(e.constructor,y,w,k(o(e),t))}}(e,t)(o,i):"number"==typeof r?function(e,t){const o=N(e,t);return(e,t,i)=>{if(!function(e,n){return"function"==typeof e&&void 0===n}(e,t))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${t?.toString()??""}" at class "${e.constructor.name}"`);n(e,y,w,function(e,n){return t=>{const o=t.constructorArguments[n];return t.constructorArguments[n]=e(o),t}}(o(e),i))}}(e,t)(o,i,r):function(e,t){const o=N(e,t);return(e,t,i)=>{if(!function(e){return void 0!==e.set}(i))throw new b(j.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,y,w,k(o(e),t))}}(e,t)(o,i,r)}catch(e){F(o,i,r,e)}}}function N(e,n){return t=>{const o=n(t);return n=>(o(n),e(n))}}function E(e){return P(D($.singleInjection,e),R)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(B||(B={}));const O="@inversifyjs/core/classIsInjectableFlagReflectKey";const U=[Array,BigInt,Boolean,Function,Number,Object,String];function K(t){const o=e(t,"design:paramtypes");void 0!==o&&n(t,y,w,function(e){return n=>(e.forEach(((e,t)=>{var o;void 0!==n.constructorArguments[t]||(o=e,U.includes(o))||(n.constructorArguments[t]=function(e){return{isFromTypescriptParamType:!0,kind:$.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),n)}(o))}function q(o){return i=>{!function(n){if(void 0!==e(n,O))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${n.name}"`);t(n,O,!0)}(i),K(i),void 0!==o&&n(i,y,w,(e=>({...e,scope:o})))}}function V(e,n,t){let o;return e.extendConstructorArguments??!0?(o=[...n.constructorArguments],t.constructorArguments.map(((e,n)=>{o[n]=e}))):o=t.constructorArguments,o}function G(e,n,t){let o;return o=e.extendProperties??!0?new Map(u(n.properties,t.properties)):t.properties,o}function z(e){return t=>{const o=x(e.type);n(t,y,w,function(e,n){const t=t=>({constructorArguments:V(e,n,t),lifecycle:t.lifecycle,properties:G(e,n,t),scope:t.scope});return t}(e,o))}}function H(e){return n=>{const t=o(n);if(void 0===t)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${n.name}", none found.`);z({...e,type:t})(n)}}function J(e){return P(D($.multipleInjection,e),R)}function L(e){return t=>{void 0===t&&n(e,M,S,(e=>e+1))}}function Q(e){return n=>{const t=n??{kind:C.unknown,name:void 0,optional:!1,tags:new Map};if(t.kind===$.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(t)}}function W(e){const n=Q(function(e){return n=>{if(void 0!==n.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return n.name=e,n}}(e));return P(n,L)}function X(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Y(){return P(Q(X),L)}function Z(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=i,e}))}catch(n){F(e,t,void 0,n)}var i}}function _(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=i,e}))}catch(n){F(e,t,void 0,n)}var i}}function ee(e,n){const t=Q(function(e,n){return t=>{if(t.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return t.tags.set(e,n),t}}(e,n));return P(t,L)}function ne(){return{kind:$.unmanaged}}const te=A(ne,(function(e){if(T(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 ne()}));function oe(){return P(te(),R)}class ie{#f;constructor(e){this.#f=e}get name(){return this.#f.elem.name}get tags(){return this.#f.elem.tags}get serviceIdentifier(){return this.#f.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#f.previous)return new ie(this.#f.previous)}}class re{last;constructor(e){this.last=e}concat(e){return new re({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const n=e.elem;return e=e.previous,{done:!1,value:n}}}}}function se(e,n){e.servicesBranch.has(n)&&function(e,n){const t=(o=[...e.servicesBranch,n],[...o].map(i).join(" -> "));var o;throw new b(j.planning,`Circular dependency found: ${t}`)}(e,n),e.servicesBranch.add(n)}function ce(e,n,t){const o=t?.customServiceIdentifier??n.serviceIdentifier;return[...e.getBindings(o)??[]].filter((e=>e.isSatisfiedBy(n)))}function ae(e){return void 0!==e.redirections}function ue(e,n,t,o){let r,s;ae(t)?(r=t.binding.targetServiceIdentifier,s=t.binding.serviceIdentifier):(r=t.serviceIdentifier,s=t.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,n,t,o,r){if(0!==e.length){const n=`Ambiguous bindings found for service: "${i(t)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case a.Instance:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case a.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", redirection: "${i(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${le(t,o)}".\n\n${fe(r)}`;throw new b(j.planning,n)}n||de(t,o,r)}(e,n,r,s,o):function(e,n,t,o,i){if(void 0!==e||n)return;de(t,o,i)}(e,n,r,s,o)}function de(e,n,t){const o=`No bindings found for service: "${i(e)}".\n\nTrying to resolve bindings for "${le(e,n)}".\n\n${fe(t)}`;throw new b(j.planning,o)}function le(e,n){return void 0===n?`${i(e)} (Root service)`:i(n)}function fe(e){const n=0===e.tags.size?"":`\n- tags:\n - ${[...e.tags.keys()].map((e=>e.toString())).join("\n - ")}`;return`Binding metadata:\n- service identifier: ${i(e.serviceIdentifier)}\n- name: ${e.name?.toString()??"-"}${n}`}function pe(e,n,t){if(1!==e.redirections.length)ue(e.redirections,n,e,t);else{const[o]=e.redirections;ae(o)&&pe(o,n,t)}}function me(e,n,t){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[o]=e.bindings;ae(o)&&pe(o,n,t)}else ue(e.bindings,n,e,t)}function ge(e){const n=new Map;void 0!==e.rootConstraints.tag&&n.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const t=new re({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:n},previous:void 0}),o=new ie(t.last),i=ce(e,o),r=[],s={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...ye(e,t,i,s)),!e.rootConstraints.isMultiple){me(s,e.rootConstraints.isOptional??!1,o);const[n]=r;s.bindings=n}return{tree:{root:s}}}function he(e,n,t,o){const i={binding:n,classMetadata:e.getClassMetadata(n.implementationType),constructorParams:[],parent:o,propertyParams:new Map};return function(e,n){const t=e.node.classMetadata;for(const[o,i]of t.constructorArguments.entries())e.node.constructorParams[o]=ve(e,n,i);for(const[o,i]of t.properties){const t=ve(e,n,i);void 0!==t&&e.node.propertyParams.set(o,t)}return e.node}({getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:i,servicesBranch:e.servicesBranch},t)}function ve(e,n,t){if(t.kind===$.unmanaged)return;const o=r.is(t.value)?t.value.unwrap():t.value,i=n.concat({name:t.name,serviceIdentifier:o,tags:t.tags}),s=new ie(i.last),c=ce(e,s),a=[],u={bindings:a,parent:e.node,serviceIdentifier:o};if(a.push(...ye(e,i,c,u)),t.kind===$.singleInjection){me(u,t.optional,s);const[e]=a;u.bindings=e}return u}function ye(e,n,t,o){const i=ae(o)?o.binding.targetServiceIdentifier:o.serviceIdentifier;se(e,i);const r=[];for(const i of t)switch(i.type){case a.Instance:r.push(he(e,i,n,o));break;case a.ServiceRedirection:{const t=we(e,n,i,o);r.push(t);break}default:r.push({binding:i,parent:o})}return e.servicesBranch.delete(i),r}function we(e,n,t,o){const i={binding:t,parent:o,redirections:[]},r=ce(e,new ie(n.last),{customServiceIdentifier:t.targetServiceIdentifier});return i.redirections.push(...ye(e,n,r,i)),i}function Me(e,n,t){const o=e.getActivations(n);return void 0===o?t:s(t)?Ie(e,t,o[Symbol.iterator]()):function(e,n,t){let o=n,i=t.next();for(;!0!==i.done;){const n=i.value(e.context,o);if(s(n))return Ie(e,n,t);o=n,i=t.next()}return o}(e,t,o[Symbol.iterator]())}async function Ie(e,n,t){let o=await n,i=t.next();for(;!0!==i.done;)o=await i.value(e.context,o),i=t.next();return o}function be(e,n,t){let o=t;if(void 0!==n.onActivation){const t=n.onActivation;o=s(o)?o.then((n=>t(e.context,n))):t(e.context,o)}return Me(e,n.serviceIdentifier,o)}function je(e){return(n,t)=>{if(t.cache.isRight)return t.cache.value;const o=be(n,t,e(n,t));return t.cache={isRight:!0,value:o},o}}const Ce=je((function(e,n){return n.value}));function $e(e){return e}function xe(e,n){return(t,o)=>{const i=e(o);switch(i.scope){case c.Singleton:{if(i.cache.isRight)return i.cache.value;const e=Se(t,o,i,n);return i.cache={isRight:!0,value:e},e}case c.Request:{if(t.requestScopeCache.has(i.id))return t.requestScopeCache.get(i.id);const e=Se(t,o,i,n);return t.requestScopeCache.set(i.id,e),e}case c.Transient:return Se(t,o,i,n)}}}function Se(e,n,t,o){return be(e,t,o(e,n))}const Re=(e=>xe($e,e))((function(e,n){return n.value(e.context)}));const Ae=je((function(e,n){return n.factory(e.context)}));function Te(e,n,t){const o=function(e,n,t){if(void 0===t)return;if(!(t in e))throw new b(j.resolution,`Expecting a "${t.toString()}" property when resolving "${n.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[t])throw new b(j.resolution,`Expecting a "${t.toString()}" method when resolving "${n.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let o;try{o=e[t]()}catch(e){throw new b(j.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${n.implementationType.name}"`,{cause:e})}if(s(o))return async function(e,n,t){try{await t}catch(t){throw new b(j.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:t})}}(n,t,o)}}(e,n,t);return s(o)?o.then((()=>e)):e}function De(e){return(n,t,o)=>{const i=new o.binding.implementationType(...n),r=e(t,i,o);return s(r)?r.then((()=>Te(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName))):Te(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName)}}const ke=je((function(e,n){return n.provider(e.context)}));function Be(e){return e.binding}const Fe=function(e){return(n,t,o)=>{const i=[];for(const[r,c]of o.propertyParams){const a=o.classMetadata.properties.get(r);if(void 0===a)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);a.kind!==$.unmanaged&&void 0!==c.bindings&&(t[r]=e(n,c),s(t[r])&&i.push((async()=>{t[r]=await t[r]})()))}if(i.length>0)return Promise.all(i).then((()=>{}))}}(Ke),Pe=function(e){return function n(t,o){const i=[];for(const r of o.redirections)ae(r)?i.push(...n(t,r)):i.push(e(t,r));return i}}(Ue),Ne=function(e,n,t){return(o,i)=>{const r=e(o,i);return s(r)?n(r,o,i):t(r,o,i)}}(function(e){return(n,t)=>{const o=[];for(const i of t.constructorParams)void 0===i?o.push(void 0):o.push(e(n,i));return o.some(s)?Promise.all(o):o}}(Ke),function(e){return async(n,t,o)=>{const i=await n;return e(i,t,o)}}(De(Fe)),De(Fe)),Ee=(e=>xe(Be,e))(Ne);function Oe(e){return Ke(e,e.planResult.tree.root)}function Ue(e,n){switch(n.binding.type){case a.ConstantValue:return Ce(e,n.binding);case a.DynamicValue:return Re(e,n.binding);case a.Factory:return Ae(e,n.binding);case a.Instance:return Ee(e,n);case a.Provider:return ke(e,n.binding)}}function Ke(e,n){if(void 0!==n.bindings)return Array.isArray(n.bindings)?function(e,n){const t=[];for(const o of n)ae(o)?t.push(...Pe(e,o)):t.push(Ue(e,o));if(t.some(s))return Promise.all(t);return t}(e,n.bindings):function(e,n){if(ae(n)){const t=Pe(e,n);if(1===t.length)return t[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return Ue(e,n)}(e,n.bindings)}function qe(e){return void 0!==e.scope}function Ve(e,n){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof n[e.lifecycle.preDestroyMethodName])return n[e.lifecycle.preDestroyMethodName]()}function Ge(e,n,t){const o=e.getDeactivations(n);if(void 0!==o)return s(t)?ze(t,o[Symbol.iterator]()):function(e,n){let t=n.next();for(;!0!==t.done;){const o=t.value(e);if(s(o))return ze(e,n);t=n.next()}}(t,o[Symbol.iterator]())}async function ze(e,n){const t=await e;let o=n.next();for(;!0!==o.done;)await o.value(t),o=n.next()}function He(e,n){const t=function(e,n){if(n.type===a.Instance){const t=e.getClassMetadata(n.implementationType),o=n.cache.value;return s(o)?o.then((e=>Ve(t,e))):Ve(t,o)}}(e,n);return void 0===t?Je(e,n):t.then((()=>Je(e,n)))}function Je(e,n){const t=n.cache;return s(t.value)?t.value.then((t=>Le(e,n,t))):Le(e,n,t.value)}function Le(e,n,t){let o;if(void 0!==n.onDeactivation){o=(0,n.onDeactivation)(t)}return void 0===o?Ge(e,n.serviceIdentifier,t):o.then((()=>Ge(e,n.serviceIdentifier,t)))}function Qe(e,n){if(void 0===n)return;const t=function(e){const n=[];for(const t of e)qe(t)&&t.scope===c.Singleton&&t.cache.isRight&&n.push(t);return n}(n),o=[];for(const n of t){const t=He(e,n);void 0!==t&&o.push(t)}return o.length>0?Promise.all(o).then((()=>{})):void 0}function We(e,n){const t=e.getBindingsFromModule(n);return Qe(e,t)}function Xe(e,n){const t=e.getBindings(n);return Qe(e,t)}export{m as ActivationsService,g as BindingService,$ as ClassElementMetadataKind,h as DeactivationsService,c as bindingScopeValues,a as bindingTypeValues,v as decorate,x as getClassMetadata,E as inject,H as injectFromBase,q as injectable,J as multiInject,W as named,Y as optional,ge as plan,Z as postConstruct,_ as preDestroy,Oe as resolve,We as resolveModuleDeactivations,Xe as resolveServiceDeactivations,ee as tagged,oe 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",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,S;function C(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===S.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function R(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"}(S||(S={}));const B=x((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return R(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 D;function P(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:D.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:D.parameter,targetClass:e}:{kind:D.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 D.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case D.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case D.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function F(e,n){return(i,o,r)=>{try{void 0===r?function(e,n){const i=V(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=V(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=V(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){P(i,o,r,e)}}}function V(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function O(e){return F(B(S.singleInjection,e),$)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(D||(D={}));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:S.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=C(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 F(B(S.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===S.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 F(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 F(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){P(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){P(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 F(n,L)}function te(){return{kind:S.unmanaged}}const ne=x(te,(function(e){if(R(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 F(ne(),$)}class oe{#p;constructor(e){this.#p=e}get name(){return this.#p.elem.name}get tags(){return this.#p.elem.tags}get serviceIdentifier(){return this.#p.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#p.previous)return new oe(this.#p.previous)}}class re{last;constructor(e){this.last=e}concat(e){return new re({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 ae(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 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 metadata:\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){const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new re({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new oe(n.last),o=se(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...ye(e,n,o,a)),!e.rootConstraints.isMultiple){ge(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}function he(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return function(e,t){const n=e.node.classMetadata;for(const[i,o]of n.constructorArguments.entries())e.node.constructorParams[i]=ve(e,t,o);for(const[i,o]of n.properties){const n=ve(e,t,o);void 0!==n&&e.node.propertyParams.set(i,n)}return e.node}({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function ve(e,t,n){if(n.kind===S.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 oe(o.last),s=se(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...ye(e,o,s,u)),n.kind===S.singleInjection){ge(u,n.optional,a);const[e]=c;u.bindings=e}return u}function ye(e,t,n,i){const o=ce(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;ae(e,o);const r=[];for(const o of n)switch(o.type){case c.Instance:r.push(he(e,o,t,i));break;case c.ServiceRedirection:{const n=Me(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.delete(o),r}function Me(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=se(e,new oe(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...ye(e,t,r,o)),o}var Ie;!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"}(Ie||(Ie={}));class we{#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(Ie.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?Ie.multipleOptional:Ie.multipleMandatory:!0===e.optional?Ie.singleOptional:Ie.singleMandatory}}function be(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?je(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 je(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function je(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 Te(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 be(e,t.serviceIdentifier,i)}function Se(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;const i=Te(t,n,e(t,n));return n.cache={isRight:!0,value:i},i}}const Ce=Se((function(e,t){return t.value}));function Ae(e){return e}function $e(e,t){return(n,i)=>{const o=e(i);switch(o.scope){case s.Singleton:{if(o.cache.isRight)return o.cache.value;const e=xe(n,i,o,t);return o.cache={isRight:!0,value:e},e}case s.Request:{if(n.requestScopeCache.has(o.id))return n.requestScopeCache.get(o.id);const e=xe(n,i,o,t);return n.requestScopeCache.set(o.id,e),e}case s.Transient:return xe(n,i,o,t)}}}function xe(e,t,n,i){return Te(e,n,i(e,t))}const Re=(e=>$e(Ae,e))((function(e,t){return t.value(e.context)}));const Be=Se((function(e,t){return t.factory(e.context)}));function ke(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 De(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>ke(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):ke(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Pe=Se((function(e,t){return t.provider(e.context)}));function Fe(e){return e.binding}const Ve=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!==S.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((()=>{}))}}(qe),Oe=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}}(Ke),Ne=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}}(qe),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(De(Ve)),De(Ve)),Ee=(e=>$e(Fe,e))(Ne);function Ue(e){return qe(e,e.planResult.tree.root)}function Ke(e,t){switch(t.binding.type){case c.ConstantValue:return Ce(e,t.binding);case c.DynamicValue:return Re(e,t.binding);case c.Factory:return Be(e,t.binding);case c.Instance:return Ee(e,t);case c.Provider:return Pe(e,t.binding)}}function qe(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(...Oe(e,i)):n.push(Ke(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ce(t)){const n=Oe(e,t);if(1===n.length)return n[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return Ke(e,t)}(e,t.bindings)}function ze(e){return void 0!==e.scope}function Ge(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function He(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?Je(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return Je(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function Je(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function Le(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=>Ge(n,e))):Ge(n,i)}}(e,t);return void 0===n?Qe(e,t):n.then((()=>Qe(e,t)))}function Qe(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>We(e,t,n))):We(e,t,n.value)}function We(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?He(e,t.serviceIdentifier,n):i.then((()=>He(e,t.serviceIdentifier,n)))}function Xe(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)ze(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=Le(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function Ye(e,t){const n=e.getBindingsFromModule(t);return Xe(e,n)}function Ze(e,t){const n=e.getBindings(t);return Xe(e,n)}export{g as ActivationsService,m as BindingService,S as ClassElementMetadataKind,h as DeactivationsService,we as PlanResultCacheService,s as bindingScopeValues,c as bindingTypeValues,v as decorate,C as getClassMetadata,O as inject,H as injectFromBase,K as injectable,J as multiInject,W as named,Y as optional,me as plan,Z as postConstruct,_ as preDestroy,Ue as resolve,Ye as resolveModuleDeactivations,Ze 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/binding/models/BindingMetadataImplementation.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/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/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/resolveScopedInstanceBindingNode.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],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","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","BindingMetadataImplementation","node","elem","getAncestor","previous","SingleInmutableLinkedList","last","concat","iterator","next","done","addBranchService","servicesBranch","stringifiedCircularDependencies","serviceIdentifiers","stringifyServiceIdentifier","planning","throwError","buildFilteredServiceBindings","bindingMetadata","customServiceIdentifier","getBindings","filter","isSatisfiedBy","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","implementationType","stringifyBinding","stringifyParentServiceIdentifier","stringifyBindingMetadata","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","stringifiedTags","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","plan","rootConstraints","tag","bindingMetadataList","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","elementMetadata","entries","buildPlanServiceNodeFromClassElementMetadata","planServiceNode","subplan","LazyServiceIdentifier","unwrap","updatedBindingMetadataList","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","resolveBindingServiceActivations","getActivations","isPromise","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","onActivation","then","resolved","resolveSingletonScopedBinding","resolve","cache","isRight","resolvedValue","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","resolveAndActivate","requestScopeCache","id","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","planResult","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","onDeactivation","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filteredBindings","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/binding/models/BindingMetadataImplementation.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/services/PlanResultCacheService.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/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/resolveScopedInstanceBindingNode.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],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","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","BindingMetadataImplementation","node","elem","getAncestor","previous","SingleInmutableLinkedList","last","concat","iterator","next","done","addBranchService","servicesBranch","stringifiedCircularDependencies","serviceIdentifiers","stringifyServiceIdentifier","planning","throwError","buildFilteredServiceBindings","bindingMetadata","customServiceIdentifier","filteredBindings","getBindings","filter","isSatisfiedBy","autobindOptions","cache","isRight","id","implementationType","onActivation","onDeactivation","buildInstanceBinding","setBinding","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","stringifyBinding","stringifyParentServiceIdentifier","stringifyBindingMetadata","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","stringifiedTags","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","plan","rootConstraints","tag","bindingMetadataList","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","elementMetadata","entries","buildPlanServiceNodeFromClassElementMetadata","planServiceNode","subplan","LazyServiceIdentifier","unwrap","updatedBindingMetadataList","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","GetPlanBooleanOptionsMask","PlanResultCacheService","serviceIdToValuePlanMap","namedServiceIdToValuePlanMap","taggedServiceIdToValuePlanMap","namedTaggedServiceIdToValuePlanMap","subscribers","buildInitializedMapArray","clearCache","getMaps","clear","subscriber","getMapFromMapArray","planResult","getOrBuildMapValueFromMapMap","subscribe","mapArray","valueMap","getMapArrayIndex","multipleOptional","multipleMandatory","singleOptional","singleMandatory","resolveBindingServiceActivations","getActivations","isPromise","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","then","resolved","resolveSingletonScopedBinding","resolve","resolvedValue","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","resolveAndActivate","requestScopeCache","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","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
@@ -6,27 +6,23 @@
6
6
  "description": "InversifyJs core package",
7
7
  "dependencies": {
8
8
  "@inversifyjs/common": "1.5.0",
9
- "@inversifyjs/prototype-utils": "0.1.0",
10
- "@inversifyjs/reflect-metadata-utils": "1.1.0"
9
+ "@inversifyjs/reflect-metadata-utils": "1.1.0",
10
+ "@inversifyjs/prototype-utils": "0.1.0"
11
11
  },
12
12
  "devDependencies": {
13
- "@eslint/js": "9.18.0",
14
13
  "@jest/globals": "29.7.0",
15
14
  "@stryker-mutator/core": "8.7.1",
16
15
  "@stryker-mutator/jest-runner": "8.7.1",
17
16
  "@stryker-mutator/typescript-checker": "8.7.1",
18
- "@types/node": "22.10.7",
19
- "@typescript-eslint/eslint-plugin": "8.20.0",
20
- "@typescript-eslint/parser": "8.20.0",
21
- "eslint": "9.18.0",
17
+ "@types/node": "22.10.10",
18
+ "eslint": "9.19.0",
22
19
  "jest": "29.7.0",
23
20
  "prettier": "3.4.2",
24
21
  "reflect-metadata": "0.2.2",
25
22
  "rimraf": "6.0.1",
26
- "rollup": "4.30.1",
23
+ "rollup": "4.32.0",
27
24
  "ts-loader": "9.5.2",
28
25
  "ts-jest": "29.2.5",
29
- "ts-node": "10.9.2",
30
26
  "tslib": "2.8.1",
31
27
  "typescript": "5.7.3"
32
28
  },
@@ -62,7 +58,7 @@
62
58
  "type": "git",
63
59
  "url": "git+https://github.com/inversify/monorepo.git"
64
60
  },
65
- "version": "3.2.0",
61
+ "version": "3.4.0",
66
62
  "scripts": {
67
63
  "build": "pnpm run build:cjs && pnpm run build:esm",
68
64
  "build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",