@inversifyjs/core 3.4.0 → 3.5.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 (76) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/cjs/binding/models/Binding.d.ts +2 -1
  3. package/lib/cjs/binding/models/Binding.d.ts.map +1 -1
  4. package/lib/cjs/binding/models/BindingType.d.ts +1 -1
  5. package/lib/cjs/binding/models/BindingType.d.ts.map +1 -1
  6. package/lib/cjs/binding/models/BindingType.js +1 -0
  7. package/lib/cjs/binding/models/BindingType.js.map +1 -1
  8. package/lib/cjs/binding/models/ResolvedValueBinding.d.ts +9 -0
  9. package/lib/cjs/binding/models/ResolvedValueBinding.d.ts.map +1 -0
  10. package/lib/cjs/binding/models/ResolvedValueBinding.js +3 -0
  11. package/lib/cjs/binding/models/ResolvedValueBinding.js.map +1 -0
  12. package/lib/cjs/index.d.ts +7 -2
  13. package/lib/cjs/index.d.ts.map +1 -1
  14. package/lib/cjs/index.js +3 -1
  15. package/lib/cjs/index.js.map +1 -1
  16. package/lib/cjs/metadata/models/BaseResolvedValueElementMetadata.d.ts +4 -0
  17. package/lib/cjs/metadata/models/BaseResolvedValueElementMetadata.d.ts.map +1 -0
  18. package/lib/cjs/metadata/models/BaseResolvedValueElementMetadata.js +3 -0
  19. package/lib/cjs/metadata/models/BaseResolvedValueElementMetadata.js.map +1 -0
  20. package/lib/cjs/metadata/models/ResolvedValueElementMetadata.d.ts +12 -0
  21. package/lib/cjs/metadata/models/ResolvedValueElementMetadata.d.ts.map +1 -0
  22. package/lib/cjs/metadata/models/ResolvedValueElementMetadata.js +3 -0
  23. package/lib/cjs/metadata/models/ResolvedValueElementMetadata.js.map +1 -0
  24. package/lib/cjs/metadata/models/ResolvedValueElementMetadataKind.d.ts +5 -0
  25. package/lib/cjs/metadata/models/ResolvedValueElementMetadataKind.d.ts.map +1 -0
  26. package/lib/cjs/metadata/models/ResolvedValueElementMetadataKind.js +9 -0
  27. package/lib/cjs/metadata/models/ResolvedValueElementMetadataKind.js.map +1 -0
  28. package/lib/cjs/metadata/models/ResolvedValueMetadata.d.ts +5 -0
  29. package/lib/cjs/metadata/models/ResolvedValueMetadata.d.ts.map +1 -0
  30. package/lib/cjs/metadata/models/ResolvedValueMetadata.js +3 -0
  31. package/lib/cjs/metadata/models/ResolvedValueMetadata.js.map +1 -0
  32. package/lib/cjs/planning/calculations/isInstanceBindingNode.d.ts +4 -0
  33. package/lib/cjs/planning/calculations/isInstanceBindingNode.d.ts.map +1 -0
  34. package/lib/cjs/planning/calculations/isInstanceBindingNode.js +8 -0
  35. package/lib/cjs/planning/calculations/isInstanceBindingNode.js.map +1 -0
  36. package/lib/cjs/planning/calculations/isInstanceBindingNode.spec.d.ts +2 -0
  37. package/lib/cjs/planning/calculations/isInstanceBindingNode.spec.d.ts.map +1 -0
  38. package/lib/cjs/planning/calculations/plan.d.ts.map +1 -1
  39. package/lib/cjs/planning/calculations/plan.js +65 -3
  40. package/lib/cjs/planning/calculations/plan.js.map +1 -1
  41. package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts +3 -1
  42. package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts.map +1 -1
  43. package/lib/cjs/planning/models/ResolvedValueBindingNode.d.ts +7 -0
  44. package/lib/cjs/planning/models/ResolvedValueBindingNode.d.ts.map +1 -0
  45. package/lib/cjs/planning/models/ResolvedValueBindingNode.js +3 -0
  46. package/lib/cjs/planning/models/ResolvedValueBindingNode.js.map +1 -0
  47. package/lib/cjs/resolution/actions/resolve.d.ts.map +1 -1
  48. package/lib/cjs/resolution/actions/resolve.js +9 -0
  49. package/lib/cjs/resolution/actions/resolve.js.map +1 -1
  50. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.d.ts +6 -0
  51. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.d.ts.map +1 -0
  52. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.js +14 -0
  53. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.js.map +1 -0
  54. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.spec.d.ts +2 -0
  55. package/lib/cjs/resolution/actions/resolveResolvedValueBindingNode.spec.d.ts.map +1 -0
  56. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.d.ts +6 -0
  57. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.d.ts.map +1 -0
  58. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.js +16 -0
  59. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.js.map +1 -0
  60. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.spec.d.ts +2 -0
  61. package/lib/cjs/resolution/actions/resolveResolvedValueBindingParams.spec.d.ts.map +1 -0
  62. package/lib/cjs/resolution/actions/resolveScopedResolvedValueBindingNode.d.ts +6 -0
  63. package/lib/cjs/resolution/actions/resolveScopedResolvedValueBindingNode.d.ts.map +1 -0
  64. package/lib/cjs/resolution/actions/resolveScopedResolvedValueBindingNode.js +8 -0
  65. package/lib/cjs/resolution/actions/resolveScopedResolvedValueBindingNode.js.map +1 -0
  66. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.d.ts +4 -0
  67. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.d.ts.map +1 -0
  68. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.js +7 -0
  69. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.js.map +1 -0
  70. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.spec.d.ts +2 -0
  71. package/lib/cjs/resolution/calculations/getResolvedValueNodeBinding.spec.d.ts.map +1 -0
  72. package/lib/esm/index.d.ts +33 -4
  73. package/lib/esm/index.d.ts.map +1 -1
  74. package/lib/esm/index.js +1 -1
  75. package/lib/esm/index.js.map +1 -1
  76. package/package.json +5 -5
@@ -0,0 +1,6 @@
1
+ import { ResolvedValueBinding } from '../../binding/models/ResolvedValueBinding';
2
+ import { PlanServiceNode } from '../../planning/models/PlanServiceNode';
3
+ import { ResolvedValueBindingNode } from '../../planning/models/ResolvedValueBindingNode';
4
+ import { ResolutionParams } from '../models/ResolutionParams';
5
+ export declare function resolveResolvedValueBindingParams<TActivated, TBinding extends ResolvedValueBinding<TActivated> = ResolvedValueBinding<TActivated>>(resolveServiceNode: (params: ResolutionParams, serviceNode: PlanServiceNode) => unknown): (params: ResolutionParams, node: ResolvedValueBindingNode<TBinding>) => unknown[] | Promise<unknown[]>;
6
+ //# sourceMappingURL=resolveResolvedValueBindingParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveResolvedValueBindingParams.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/resolveResolvedValueBindingParams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,wBAAgB,iCAAiC,CAC/C,UAAU,EACV,QAAQ,SACN,oBAAoB,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,EAErE,kBAAkB,EAAE,CAClB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,eAAe,KACzB,OAAO,GACX,CACD,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,wBAAwB,CAAC,QAAQ,CAAC,KACrC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAelC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveResolvedValueBindingParams = resolveResolvedValueBindingParams;
4
+ const common_1 = require("@inversifyjs/common");
5
+ function resolveResolvedValueBindingParams(resolveServiceNode) {
6
+ return (params, node) => {
7
+ const paramsResolvedValues = [];
8
+ for (const param of node.params) {
9
+ paramsResolvedValues.push(resolveServiceNode(params, param));
10
+ }
11
+ return paramsResolvedValues.some(common_1.isPromise)
12
+ ? Promise.all(paramsResolvedValues)
13
+ : paramsResolvedValues;
14
+ };
15
+ }
16
+ //# sourceMappingURL=resolveResolvedValueBindingParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveResolvedValueBindingParams.js","sourceRoot":"","sources":["../../../../src/resolution/actions/resolveResolvedValueBindingParams.ts"],"names":[],"mappings":";;AAOA,8EA2BC;AAlCD,gDAAgD;AAOhD,SAAgB,iCAAiC,CAK/C,kBAGY;IAKZ,OAAO,CACL,MAAwB,EACxB,IAAwC,EACR,EAAE;QAClC,MAAM,oBAAoB,GAAc,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,oBAAoB,CAAC,IAAI,CAAC,kBAAS,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACnC,CAAC,CAAC,oBAAoB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolveResolvedValueBindingParams.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveResolvedValueBindingParams.spec.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/resolveResolvedValueBindingParams.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ResolvedValueBinding } from '../../binding/models/ResolvedValueBinding';
2
+ import { ResolvedValueBindingNode } from '../../planning/models/ResolvedValueBindingNode';
3
+ import { ResolutionParams } from '../models/ResolutionParams';
4
+ import { Resolved } from '../models/Resolved';
5
+ export declare const resolveScopedResolvedValueBindingNode: <TActivated>(resolve: (params: ResolutionParams, node: ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>) => Resolved<TActivated>) => (params: ResolutionParams, node: ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>) => Resolved<TActivated>;
6
+ //# sourceMappingURL=resolveScopedResolvedValueBindingNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveScopedResolvedValueBindingNode.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/resolveScopedResolvedValueBindingNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,qCAAqC,EAAE,CAAC,UAAU,EAC7D,OAAO,EAAE,CACP,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,KAC7D,QAAQ,CAAC,UAAU,CAAC,KACtB,CACH,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,KAC7D,QAAQ,CAAC,UAAU,CAKgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveScopedResolvedValueBindingNode = void 0;
4
+ const getResolvedValueNodeBinding_1 = require("../calculations/getResolvedValueNodeBinding");
5
+ const resolveScoped_1 = require("./resolveScoped");
6
+ const resolveScopedResolvedValueBindingNode = (resolve) => (0, resolveScoped_1.resolveScoped)(getResolvedValueNodeBinding_1.getResolvedValueNodeBinding, resolve);
7
+ exports.resolveScopedResolvedValueBindingNode = resolveScopedResolvedValueBindingNode;
8
+ //# sourceMappingURL=resolveScopedResolvedValueBindingNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveScopedResolvedValueBindingNode.js","sourceRoot":"","sources":["../../../../src/resolution/actions/resolveScopedResolvedValueBindingNode.ts"],"names":[],"mappings":";;;AAEA,6FAA0F;AAG1F,mDAAgD;AAEzC,MAAM,qCAAqC,GAQtB,CAC1B,OAGyB,EACzB,EAAE,CAAC,IAAA,6BAAa,EAAC,yDAA2B,EAAE,OAAO,CAAC,CAAC;AAb5C,QAAA,qCAAqC,yCAaO"}
@@ -0,0 +1,4 @@
1
+ import { ResolvedValueBinding } from '../../binding/models/ResolvedValueBinding';
2
+ import { ResolvedValueBindingNode } from '../../planning/models/ResolvedValueBindingNode';
3
+ export declare function getResolvedValueNodeBinding<TActivated>(node: ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>): ResolvedValueBinding<TActivated>;
4
+ //# sourceMappingURL=getResolvedValueNodeBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResolvedValueNodeBinding.d.ts","sourceRoot":"","sources":["../../../../src/resolution/calculations/getResolvedValueNodeBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,wBAAgB,2BAA2B,CAAC,UAAU,EACpD,IAAI,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAC/D,oBAAoB,CAAC,UAAU,CAAC,CAElC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResolvedValueNodeBinding = getResolvedValueNodeBinding;
4
+ function getResolvedValueNodeBinding(node) {
5
+ return node.binding;
6
+ }
7
+ //# sourceMappingURL=getResolvedValueNodeBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResolvedValueNodeBinding.js","sourceRoot":"","sources":["../../../../src/resolution/calculations/getResolvedValueNodeBinding.ts"],"names":[],"mappings":";;AAGA,kEAIC;AAJD,SAAgB,2BAA2B,CACzC,IAAgE;IAEhE,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getResolvedValueNodeBinding.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResolvedValueNodeBinding.spec.d.ts","sourceRoot":"","sources":["../../../../src/resolution/calculations/getResolvedValueNodeBinding.spec.ts"],"names":[],"mappings":""}
@@ -11,7 +11,7 @@ interface BindingMetadata {
11
11
  getAncestor(): BindingMetadata | undefined;
12
12
  }
13
13
 
14
- type BindingType = 'ConstantValue' | 'DynamicValue' | 'Factory' | 'Instance' | 'Provider' | 'ServiceRedirection';
14
+ type BindingType = 'ConstantValue' | 'DynamicValue' | 'Factory' | 'Instance' | 'Provider' | 'ResolvedValue' | 'ServiceRedirection';
15
15
  declare const bindingTypeValues: {
16
16
  [TKey in BindingType]: TKey;
17
17
  };
@@ -94,11 +94,36 @@ interface ProviderBinding<TActivated extends Provider<unknown>> extends ScopedBi
94
94
  readonly provider: (context: ResolutionContext) => TActivated;
95
95
  }
96
96
 
97
+ interface BaseResolvedValueElementMetadata<TKind> {
98
+ kind: TKind;
99
+ }
100
+
101
+ declare enum ResolvedValueElementMetadataKind {
102
+ multipleInjection = 0,
103
+ singleInjection = 1
104
+ }
105
+
106
+ interface ResolvedValueElementMetadata extends BaseResolvedValueElementMetadata<ResolvedValueElementMetadataKind> {
107
+ name: MetadataName | undefined;
108
+ optional: boolean;
109
+ tags: Map<MetadataTag, unknown>;
110
+ value: ServiceIdentifier | LazyServiceIdentifier;
111
+ }
112
+
113
+ interface ResolvedValueMetadata {
114
+ arguments: ResolvedValueElementMetadata[];
115
+ }
116
+
117
+ interface ResolvedValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.ResolvedValue, BindingScope, TActivated> {
118
+ readonly factory: (...args: any[]) => TActivated | Promise<TActivated>;
119
+ readonly metadata: ResolvedValueMetadata;
120
+ }
121
+
97
122
  interface ServiceRedirectionBinding<TActivated> extends BaseBinding<typeof bindingTypeValues.ServiceRedirection, TActivated> {
98
123
  targetServiceIdentifier: ServiceIdentifier;
99
124
  }
100
125
 
101
- type Binding<TActivated = any> = ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | InstanceBinding<TActivated> | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never) | ServiceRedirectionBinding<TActivated>;
126
+ type Binding<TActivated = any> = ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | InstanceBinding<TActivated> | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never) | ResolvedValueBinding<TActivated> | ServiceRedirectionBinding<TActivated>;
102
127
 
103
128
  interface Cloneable<T> {
104
129
  clone(): T;
@@ -269,7 +294,11 @@ interface InstanceBindingNode<TBinding extends InstanceBinding<any> = InstanceBi
269
294
  readonly propertyParams: Map<string | symbol, PlanServiceNode>;
270
295
  }
271
296
 
272
- type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>>;
297
+ interface ResolvedValueBindingNode<TBinding extends ResolvedValueBinding<any> = ResolvedValueBinding<any>> extends BaseBindingNode<TBinding> {
298
+ readonly params: PlanServiceNode[];
299
+ }
300
+
301
+ type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>> | ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>;
273
302
 
274
303
  type PlanBindingNode = PlanServiceNodeParent | PlanServiceRedirectionBindingNode | LeafBindingNode;
275
304
 
@@ -339,4 +368,4 @@ declare function resolveModuleDeactivations(params: DeactivationParams, moduleId
339
368
 
340
369
  declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
341
370
 
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 };
371
+ 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 ResolvedValueBinding, type ResolvedValueBindingNode, type ResolvedValueElementMetadata, ResolvedValueElementMetadataKind, type ResolvedValueMetadata, type ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{getOwnReflectMetadata as e,updateOwnReflectMetadata as t,setReflectMetadata as n}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as i}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as r,isPromise as a}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",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};
1
+ import{getOwnReflectMetadata as e,updateOwnReflectMetadata as t,setReflectMetadata as n}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as i}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as r,isPromise as a}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ResolvedValue:"ResolvedValue",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const t of e)yield*t}class d{#e;#t;#n;constructor(e){this.#e=new Map,this.#t={};for(const t of Reflect.ownKeys(e))this.#t[t]=new Map;this.#n=e}add(e,t){this.#i(e).push(t);for(const n of Reflect.ownKeys(t))this.#o(n,t[n]).push(e)}clone(){const e=Reflect.ownKeys(this.#n),t=new d(this.#n);this.#r(this.#e,t.#e);for(const n of e)this.#r(this.#t[n],t.#t[n]);return t}get(e,t){return this.#t[e].get(t)}getAllKeys(e){return this.#t[e].keys()}removeByRelation(e,t){const n=this.get(e,t);if(void 0===n)return;const i=new Set(n);for(const n of i){const i=this.#e.get(n);if(void 0===i)throw new Error("Expecting model relation, none found");for(const o of i)o[e]===t&&this.#a(n,o);this.#e.delete(n)}}#i(e){let t=this.#e.get(e);return void 0===t&&(t=[],this.#e.set(e,t)),t}#o(e,t){let n=this.#t[e].get(t);return void 0===n&&(n=[],this.#t[e].set(t,n)),n}#r(e,t){for(const[n,i]of e)t.set(n,[...i])}#a(e,t){for(const n of Reflect.ownKeys(t))this.#s(e,n,t[n])}#s(e,t,n){const i=this.#t[t].get(n);if(void 0!==i){const o=i.indexOf(e);-1!==o&&i.splice(o,1),0===i.length&&this.#t[t].delete(n)}}}var l,p,f;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class g{#c;#u;constructor(e,t){this.#c=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new g(e)}add(e,t){this.#c.add(e,t)}clone(){return new g(this.#u,this.#c.clone())}get(e){const t=[],n=this.#c.get(l.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#c.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(l.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class m{#d;#u;constructor(e,t){this.#d=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new m(e)}clone(){return new m(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getNonParentBindings(e){return this.#d.get(p.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(p.serviceId)}getByModuleId(e){return this.#d.get(p.moduleId,e)??this.#u?.getByModuleId(e)}removeAllByModuleId(e){this.#d.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(p.serviceId,e)}set(e){const t={[p.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[p.moduleId]=e.moduleId),this.#d.add(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class h{#l;#u;constructor(e,t){this.#l=t??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,t){this.#l.add(e,t)}clone(){return new h(this.#u,this.#l.clone())}get(e){const t=[],n=this.#l.get(f.serviceId,e);void 0!==n&&t.push(n);const i=this.#u?.get(e);if(void 0!==i&&t.push(i),0!==t.length)return u(...t)}removeAllByModuleId(e){this.#l.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(f.serviceId,e)}}function v(e,t,n){const i=Array.isArray(e)?e:[e];if(void 0!==n)if("number"!=typeof n)Reflect.decorate(i,t.prototype,n);else for(const e of i)e(t,void 0,n);else Reflect.decorate(i,t)}const y="@inversifyjs/core/classMetadataReflectKey";function M(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const I="@inversifyjs/core/pendingClassMetadataCountReflectKey";const w=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[w];kind;constructor(e,t,n){super(t,n),this[w]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[w]}static isErrorOfKind(e,t){return b.is(e)&&e.kind===t}}var j,T,C;function S(t){const n=e(t,y)??M();if(!function(t){const n=e(t,I);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${t.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<t.length;++e)void 0===t[e]&&n.push(e);if(n.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(t,n.constructorArguments),n;!function(e,t){const n=[];for(let i=0;i<t.constructorArguments.length;++i){const o=t.constructorArguments[i];void 0!==o&&o.kind!==T.unknown||n.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${i.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[i,o]of t.properties)o.kind===T.unknown&&n.push(` - Missing or incomplete metadata for type "${e.name}" at property "${i.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===n.length)throw new b(j.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new b(j.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function A(){return 0}function $(e){return n=>{void 0!==n&&n.kind===T.unknown&&t(e,I,A,(e=>e-1))}}function x(e,t){return(...n)=>i=>{if(void 0===i)return e(...n);if(i.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(i,...n)}}function B(e){if(e.kind!==T.unknown&&!0!==e.isFromTypescriptParamType)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(j||(j={})),function(e){e[e.unknown=32]="unknown"}(T||(T={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const R=x((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,value:t}}),(function(e,t,n){return B(e),{...e,kind:t,value:n}}));function k(e,t){return n=>{const i=n.properties.get(t);return n.properties.set(t,e(i)),n}}var P;function D(e,t,n,i){if(b.isErrorOfKind(i,j.injectionDecoratorConflict)){const o=function(e,t,n){if(void 0===n){if(void 0===t)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:P.property,property:t,targetClass:e.constructor}}return"number"==typeof n?{index:n,kind:P.parameter,targetClass:e}:{kind:P.method,method:t,targetClass:e}}(e,t,n);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${i.message}\n\nDetails\n\n${function(e){switch(e.kind){case P.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case P.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case P.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(o)}`,{cause:i})}throw i}function V(e,n){return(i,o,r)=>{try{void 0===r?function(e,n){const i=F(e,n);return(e,n)=>{t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o):"number"==typeof r?function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,n))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${n?.toString()??""}" at class "${e.constructor.name}"`);t(e,y,M,function(e,t){return n=>{const i=n.constructorArguments[t];return n.constructorArguments[t]=e(i),n}}(i(e),o))}}(e,n)(i,o,r):function(e,n){const i=F(e,n);return(e,n,o)=>{if(!function(e){return void 0!==e.set}(o))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${n.toString()}" at class "${e.constructor.name}"`);t(e.constructor,y,M,k(i(e),n))}}(e,n)(i,o,r)}catch(e){D(i,o,r,e)}}}function F(e,t){return n=>{const i=t(n);return t=>(i(t),e(t))}}function O(e){return V(R(C.singleInjection,e),$)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(P||(P={}));const N="@inversifyjs/core/classIsInjectableFlagReflectKey";const E=[Array,BigInt,Boolean,Function,Number,Object,String];function U(n){const i=e(n,"design:paramtypes");void 0!==i&&t(n,y,M,function(e){return t=>(e.forEach(((e,n)=>{var i;void 0!==t.constructorArguments[n]||(i=e,E.includes(i))||(t.constructorArguments[n]=function(e){return{isFromTypescriptParamType:!0,kind:C.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),t)}(i))}function K(i){return o=>{!function(t){if(void 0!==e(t,N))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${t.name}"`);n(t,N,!0)}(o),U(o),void 0!==i&&t(o,y,M,(e=>({...e,scope:i})))}}function q(e,t,n){let i;return e.extendConstructorArguments??!0?(i=[...t.constructorArguments],n.constructorArguments.map(((e,t)=>{i[t]=e}))):i=n.constructorArguments,i}function z(e,t,n){let i;return i=e.extendProperties??!0?new Map(u(t.properties,n.properties)):n.properties,i}function G(e){return n=>{const i=S(e.type);t(n,y,M,function(e,t){const n=n=>({constructorArguments:q(e,t,n),lifecycle:n.lifecycle,properties:z(e,t,n),scope:n.scope});return n}(e,i))}}function H(e){return t=>{const n=i(t);if(void 0===n)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);G({...e,type:n})(t)}}function J(e){return V(R(C.multipleInjection,e),$)}function L(e){return n=>{void 0===n&&t(e,I,A,(e=>e+1))}}function Q(e){return t=>{const n=t??{kind:T.unknown,name:void 0,optional:!1,tags:new Map};if(n.kind===C.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function W(e){const t=Q(function(e){return t=>{if(void 0!==t.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return V(t,L)}function X(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Y(){return V(Q(X),L)}function Z(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function _(){return(e,n,i)=>{try{t(e.constructor,y,M,(o=n,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=o,e}))}catch(t){D(e,n,void 0,t)}var o}}function ee(e,t){const n=Q(function(e,t){return n=>{if(n.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return V(n,L)}function te(){return{kind:C.unmanaged}}const ne=x(te,(function(e){if(B(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return te()}));function ie(){return V(ne(),$)}var oe;!function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection"}(oe||(oe={}));class re{#p;constructor(e){this.#p=e}get name(){return this.#p.elem.name}get tags(){return this.#p.elem.tags}get serviceIdentifier(){return this.#p.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#p.previous)return new re(this.#p.previous)}}class ae{last;constructor(e){this.last=e}concat(e){return new ae({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const t=e.elem;return e=e.previous,{done:!1,value:t}}}}}function se(e,t){e.servicesBranch.has(t)&&function(e,t){const n=(i=[...e.servicesBranch,t],[...i].map(o).join(" -> "));var i;throw new b(j.planning,`Circular dependency found: ${n}`)}(e,t),e.servicesBranch.add(t)}function ce(e,t,n){const i=n?.customServiceIdentifier??t.serviceIdentifier,o=[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(t)));if(0===o.length&&void 0!==e.autobindOptions&&"function"==typeof i){const t=function(e,t){return{cache:{isRight:!1,value:void 0},id:0,implementationType:t,isSatisfiedBy:()=>!0,moduleId:void 0,onActivation:void 0,onDeactivation:void 0,scope:e.scope,serviceIdentifier:t,type:c.Instance}}(e.autobindOptions,i);e.setBinding(t),o.push(t)}return o}function ue(e){return void 0!==e.redirections}function de(e,t,n,i){let r,a;ue(n)?(r=n.binding.targetServiceIdentifier,a=n.binding.serviceIdentifier):(r=n.serviceIdentifier,a=n.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,t,n,i,r){if(0!==e.length){const t=`Ambiguous bindings found for service: "${o(n)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case c.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case c.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", redirection: "${o(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${pe(n,i)}".\n\n${fe(r)}`;throw new b(j.planning,t)}t||le(n,i,r)}(e,t,r,a,i):function(e,t,n,i,o){if(void 0!==e||t)return;le(n,i,o)}(e,t,r,a,i)}function le(e,t,n){const i=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${pe(e,t)}".\n\n${fe(n)}`;throw new b(j.planning,i)}function pe(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function fe(e){const t=0===e.tags.size?"":`\n- tags:\n - ${[...e.tags.keys()].map((e=>e.toString())).join("\n - ")}`;return`Binding metadata:\n- service identifier: ${o(e.serviceIdentifier)}\n- name: ${e.name?.toString()??"-"}${t}`}function ge(e,t,n){if(1!==e.redirections.length)de(e.redirections,t,e,n);else{const[i]=e.redirections;ue(i)&&ge(i,t,n)}}function me(e,t,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[i]=e.bindings;ue(i)&&ge(i,t,n)}else de(e.bindings,t,e,n)}function he(e){const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ae({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),i=new re(n.last),o=ce(e,i),r=[],a={bindings:r,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(r.push(...we(e,n,o,a)),!e.rootConstraints.isMultiple){me(a,e.rootConstraints.isOptional??!1,i);const[t]=r;a.bindings=t}return{tree:{root:a}}}function ve(e,t,n,i){const o={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:i,propertyParams:new Map};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function ye(e,t,n){if(n.kind===C.unmanaged)return;const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=ce(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===C.singleInjection){me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Me(e,t,n){const i=r.is(n.value)?n.value.unwrap():n.value,o=t.concat({name:n.name,serviceIdentifier:i,tags:n.tags}),a=new re(o.last),s=ce(e,a),c=[],u={bindings:c,parent:e.node,serviceIdentifier:i};if(c.push(...we(e,o,s,u)),n.kind===oe.singleInjection){me(u,n.optional,a);const[e]=c;u.bindings=e}return u}function Ie(e,t,n,i){const o={binding:t,params:[],parent:i};return je({autobindOptions:e.autobindOptions,getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:o,servicesBranch:e.servicesBranch,setBinding:e.setBinding},n)}function we(e,t,n,i){const o=ue(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;se(e,o);const r=[];for(const o of n)switch(o.type){case c.Instance:r.push(ve(e,o,t,i));break;case c.ResolvedValue:r.push(Ie(e,o,t,i));break;case c.ServiceRedirection:{const n=be(e,t,o,i);r.push(n);break}default:r.push({binding:o,parent:i})}return e.servicesBranch.delete(o),r}function be(e,t,n,i){const o={binding:n,parent:i,redirections:[]},r=ce(e,new re(t.last),{customServiceIdentifier:n.targetServiceIdentifier});return o.redirections.push(...we(e,t,r,o)),o}function je(e,t){return e.node.binding.type===c.Instance?function(e,t,n){const i=t.classMetadata;for(const[o,r]of i.constructorArguments.entries())t.constructorParams[o]=ye(e,n,r);for(const[o,r]of i.properties){const i=ye(e,n,r);void 0!==i&&t.propertyParams.set(o,i)}return e.node}(e,e.node,t):function(e,t,n){const i=t.binding.metadata;for(const[o,r]of i.arguments.entries())t.params[o]=Me(e,n,r);return e.node}(e,e.node,t)}var Te;!function(e){e[e.singleMandatory=0]="singleMandatory",e[e.singleOptional=1]="singleOptional",e[e.multipleMandatory=2]="multipleMandatory",e[e.multipleOptional=3]="multipleOptional",e[e.length=4]="length"}(Te||(Te={}));class Ce{#f;#g;#m;#h;#v;constructor(){this.#f=this.#y(),this.#g=this.#y(),this.#h=this.#y(),this.#m=this.#y(),this.#v=[]}clearCache(){for(const e of this.#M())e.clear();for(const e of this.#v)e.clearCache()}get(e){return void 0===e.name?void 0===e.tag?this.#I(this.#f,e).get(e.serviceIdentifier):this.#I(this.#m,e).get(e.serviceIdentifier)?.get(e.tag.key)?.get(e.tag.value):void 0===e.tag?this.#I(this.#g,e).get(e.serviceIdentifier)?.get(e.name):this.#I(this.#h,e).get(e.serviceIdentifier)?.get(e.name)?.get(e.tag.key)?.get(e.tag.value)}set(e,t){void 0===e.name?void 0===e.tag?this.#I(this.#f,e).set(e.serviceIdentifier,t):this.#w(this.#w(this.#I(this.#m,e),e.serviceIdentifier),e.tag.key).set(e.tag.value,t):void 0===e.tag?this.#w(this.#I(this.#g,e),e.serviceIdentifier).set(e.name,t):this.#w(this.#w(this.#w(this.#I(this.#h,e),e.serviceIdentifier),e.name),e.tag.key).set(e.tag.value,t)}subscribe(e){this.#v.push(e)}#y(){const e=new Array(Te.length);for(let t=0;t<e.length;++t)e[t]=new Map;return e}#w(e,t){let n=e.get(t);return void 0===n&&(n=new Map,e.set(t,n)),n}#I(e,t){return e[this.#b(t)]}#M(){return[...this.#f,...this.#g,...this.#h,...this.#m]}#b(e){return e.isMultiple?!0===e.optional?Te.multipleOptional:Te.multipleMandatory:!0===e.optional?Te.singleOptional:Te.singleMandatory}}function Se(e,t,n){const i=e.getActivations(t);return void 0===i?n:a(n)?Ae(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 Ae(e,t,n);i=t,o=n.next()}return i}(e,n,i[Symbol.iterator]())}async function Ae(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 $e(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 Se(e,t.serviceIdentifier,i)}function xe(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;const i=$e(t,n,e(t,n));return n.cache={isRight:!0,value:i},i}}const Be=xe((function(e,t){return t.value}));function Re(e){return e}function ke(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=Pe(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=Pe(n,i,o,t);return n.requestScopeCache.set(o.id,e),e}case s.Transient:return Pe(n,i,o,t)}}}function Pe(e,t,n,i){return $e(e,n,i(e,t))}const De=(e=>ke(Re,e))((function(e,t){return t.value(e.context)}));const Ve=xe((function(e,t){return t.factory(e.context)}));function Fe(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 Oe(e){return(t,n,i)=>{const o=new i.binding.implementationType(...t),r=e(n,o,i);return a(r)?r.then((()=>Fe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName))):Fe(o,i.binding,i.classMetadata.lifecycle.postConstructMethodName)}}const Ne=xe((function(e,t){return t.provider(e.context)}));function Ee(e){return e.binding}function Ue(e){return e.binding}const Ke=function(e){return(t,n,i)=>{const o=[];for(const[r,s]of i.propertyParams){const c=i.classMetadata.properties.get(r);if(void 0===c)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);c.kind!==C.unmanaged&&void 0!==s.bindings&&(n[r]=e(t,s),a(n[r])&&o.push((async()=>{n[r]=await n[r]})()))}if(o.length>0)return Promise.all(o).then((()=>{}))}}(We),qe=function(e){return function t(n,i){const o=[];for(const r of i.redirections)ue(r)?o.push(...t(n,r)):o.push(e(n,r));return o}}(Qe),ze=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}}(We),function(e){return async(t,n,i)=>{const o=await t;return e(o,n,i)}}(Oe(Ke)),Oe(Ke)),Ge=function(e){return(t,n)=>{const i=e(t,n);return a(i)?i.then((e=>n.binding.factory(...e))):n.binding.factory(...i)}}(function(e){return(t,n)=>{const i=[];for(const o of n.params)i.push(e(t,o));return i.some(a)?Promise.all(i):i}}(We)),He=(e=>ke(Ee,e))(ze),Je=(e=>ke(Ue,e))(Ge);function Le(e){return We(e,e.planResult.tree.root)}function Qe(e,t){switch(t.binding.type){case c.ConstantValue:return Be(e,t.binding);case c.DynamicValue:return De(e,t.binding);case c.Factory:return Ve(e,t.binding);case c.Instance:return He(e,t);case c.Provider:return Ne(e,t.binding);case c.ResolvedValue:return Je(e,t)}}function We(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const i of t)ue(i)?n.push(...qe(e,i)):n.push(Qe(e,i));if(n.some(a))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ue(t)){const n=qe(e,t);if(1===n.length)return n[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return Qe(e,t)}(e,t.bindings)}function Xe(e){return void 0!==e.scope}function Ye(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function Ze(e,t,n){const i=e.getDeactivations(t);if(void 0!==i)return a(n)?_e(n,i[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const i=n.value(e);if(a(i))return _e(e,t);n=t.next()}}(n,i[Symbol.iterator]())}async function _e(e,t){const n=await e;let i=t.next();for(;!0!==i.done;)await i.value(n),i=t.next()}function et(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=>Ye(n,e))):Ye(n,i)}}(e,t);return void 0===n?tt(e,t):n.then((()=>tt(e,t)))}function tt(e,t){const n=t.cache;return a(n.value)?n.value.then((n=>nt(e,t,n))):nt(e,t,n.value)}function nt(e,t,n){let i;if(void 0!==t.onDeactivation){i=(0,t.onDeactivation)(n)}return void 0===i?Ze(e,t.serviceIdentifier,n):i.then((()=>Ze(e,t.serviceIdentifier,n)))}function it(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Xe(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),i=[];for(const t of n){const n=et(e,t);void 0!==n&&i.push(n)}return i.length>0?Promise.all(i).then((()=>{})):void 0}function ot(e,t){const n=e.getBindingsFromModule(t);return it(e,n)}function rt(e,t){const n=e.getBindings(t);return it(e,n)}export{g as ActivationsService,m as BindingService,C as ClassElementMetadataKind,h as DeactivationsService,Ce as PlanResultCacheService,oe as ResolvedValueElementMetadataKind,s as bindingScopeValues,c as bindingTypeValues,v as decorate,S as getClassMetadata,O as inject,H as injectFromBase,K as injectable,J as multiInject,W as named,Y as optional,he as plan,Z as postConstruct,_ as preDestroy,Le as resolve,ot as resolveModuleDeactivations,rt 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/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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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/binding/models/BindingScope.ts","../../src/binding/models/BindingType.ts","../../src/common/calculations/chain.ts","../../src/common/models/OneToManyMapStar.ts","../../src/binding/services/ActivationsService.ts","../../src/binding/services/BindingService.ts","../../src/binding/services/DeactivationsService.ts","../../src/decorator/actions/decorate.ts","../../src/reflectMetadata/data/classMetadataReflectKey.ts","../../src/metadata/calculations/getDefaultClassMetadata.ts","../../src/reflectMetadata/data/pendingClassMetadataCountReflectKey.ts","../../src/error/models/InversifyCoreError.ts","../../src/error/models/InversifyCoreErrorKind.ts","../../src/metadata/models/MaybeClassElementMetadataKind.ts","../../src/metadata/models/ClassElementMetadataKind.ts","../../src/metadata/calculations/getClassMetadata.ts","../../src/metadata/calculations/isPendingClassMetadata.ts","../../src/metadata/calculations/validateConstructorMetadataArray.ts","../../src/metadata/calculations/throwAtInvalidClassMetadata.ts","../../src/metadata/calculations/getDefaultPendingClassMetadataCount.ts","../../src/metadata/actions/decrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/assertMetadataFromTypescriptIfManaged.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultManagedMetadata.ts","../../src/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/actions/updateMaybeClassMetadataProperty.ts","../../src/decorator/models/DecoratorInfoKind.ts","../../src/metadata/calculations/handleInjectionError.ts","../../src/decorator/calculations/getDecoratorInfo.ts","../../src/decorator/calculations/stringifyDecoratorInfo.ts","../../src/metadata/decorators/injectBase.ts","../../src/metadata/actions/updateMaybeClassMetadataConstructorArgument.ts","../../src/metadata/decorators/inject.ts","../../src/reflectMetadata/data/classIsInjectableFlagReflectKey.ts","../../src/metadata/calculations/isUserlandEmittedType.ts","../../src/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.ts","../../src/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.ts","../../src/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.ts","../../src/metadata/decorators/injectable.ts","../../src/metadata/actions/setIsInjectableFlag.ts","../../src/metadata/calculations/getExtendedConstructorArguments.ts","../../src/metadata/calculations/getExtendedProperties.ts","../../src/metadata/decorators/injectFrom.ts","../../src/metadata/decorators/injectFromBase.ts","../../src/metadata/decorators/multiInject.ts","../../src/metadata/actions/incrementPendingClassMetadataCount.ts","../../src/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildDefaultMaybeClassElementMetadata.ts","../../src/metadata/decorators/named.ts","../../src/metadata/actions/updateMetadataName.ts","../../src/metadata/actions/updateMetadataOptional.ts","../../src/metadata/decorators/optional.ts","../../src/metadata/decorators/postConstruct.ts","../../src/metadata/actions/updateMaybeClassMetadataPostConstructor.ts","../../src/metadata/decorators/preDestroy.ts","../../src/metadata/actions/updateMaybeClassMetadataPreDestroy.ts","../../src/metadata/decorators/tagged.ts","../../src/metadata/actions/updateMetadataTag.ts","../../src/metadata/calculations/buildDefaultUnmanagedMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.ts","../../src/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.ts","../../src/metadata/decorators/unmanaged.ts","../../src/metadata/models/ResolvedValueElementMetadataKind.ts","../../src/binding/models/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/calculations/isInstanceBindingNode.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/calculations/getResolvedValueNodeBinding.ts","../../src/resolution/actions/resolve.ts","../../src/resolution/actions/setInstanceProperties.ts","../../src/resolution/actions/resolveServiceRedirectionBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingConstructorParams.ts","../../src/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.ts","../../src/resolution/actions/resolveResolvedValueBindingNode.ts","../../src/resolution/actions/resolveResolvedValueBindingParams.ts","../../src/resolution/actions/resolveScopedInstanceBindingNode.ts","../../src/resolution/actions/resolveScopedResolvedValueBindingNode.ts","../../src/binding/calculations/isScopedBinding.ts","../../src/resolution/actions/resolveBindingPreDestroy.ts","../../src/resolution/actions/resolveBindingServiceDeactivations.ts","../../src/resolution/actions/resolveBindingDeactivations.ts","../../src/resolution/actions/resolveBindingsDeactivations.ts","../../src/resolution/actions/resolveModuleDeactivations.ts","../../src/resolution/actions/resolveServiceDeactivations.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","ResolvedValue","ServiceRedirection","chain","iterables","iterable","OneToManyMapStar","modelToRelationMap","relationToModelsMaps","spec","constructor","this","Map","specProperty","Reflect","ownKeys","add","model","relation","buildOrGetModelArray","push","relationKey","buildOrGetRelationModels","clone","properties","pushEntriesIntoMap","property","get","key","value","getAllKeys","keys","removeByRelation","models","undefined","uniqueModelsSet","Set","relations","Error","removeModelFromRelationMaps","delete","set","relationValue","source","target","removeModelFromRelationMap","relationModels","index","indexOf","splice","length","ActivationRelationKind","BindingRelationKind","DeactivationRelationKind","ActivationsService","activationMaps","parent","moduleId","isOptional","serviceId","build","activation","serviceIdentifier","activationIterables","activations","parentActivations","removeAllByModuleId","removeAllByServiceId","BindingService","bindingMaps","getNonParentBindings","getNonParentBoundServices","getByModuleId","binding","DeactivationsService","deactivationMaps","deactivation","deactivationIterables","deactivations","parentDeactivations","decorate","decorators","parameterIndexOrProperty","parsedDecorators","Array","isArray","prototype","decorator","classMetadataReflectKey","getDefaultClassMetadata","constructorArguments","lifecycle","postConstructMethodName","preDestroyMethodName","scope","pendingClassMetadataCountReflectKey","isAppErrorSymbol","Symbol","for","InversifyCoreError","kind","message","options","super","is","isErrorOfKind","InversifyCoreErrorKind","MaybeClassElementMetadataKind","ClassElementMetadataKind","getClassMetadata","type","classMetadata","getOwnReflectMetadata","pendingClassMetadataCount","isPendingClassMetadata","undefinedIndexes","missingInjectionDecorator","name","toString","i","join","validateConstructorMetadataArray","errors","constructorArgument","unknown","propertyKey","throwAtInvalidClassMetadata","getDefaultPendingClassMetadataCount","decrementPendingClassMetadataCount","metadata","updateOwnReflectMetadata","count","buildClassElementMetadataFromMaybeClassElementMetadata","buildDefaultMetadata","buildMetadataFromMaybeManagedMetadata","params","unmanaged","injectionDecoratorConflict","assertMetadataFromTypescriptIfManaged","isFromTypescriptParamType","buildManagedMetadataFromMaybeClassElementMetadata","optional","tags","updateMaybeClassMetadataProperty","updateMetadata","propertyMetadata","DecoratorInfoKind","handleInjectionError","parameterIndex","error","info","parameterIndexOrDescriptor","targetClass","parameter","method","getDecoratorInfo","decoratorTargetInfo","stringifyDecoratorInfo","cause","injectBase","updatePendingClassMetadataCount","buildComposedUpdateMetadataFromTarget","buildComposedUpdateMetadata","injectProperty","isConstructorParameter","updateMaybeClassMetadataConstructorArgument","injectParameter","descriptor","isPropertySetter","injectMethod","updateTargetPendingClassMetadataCount","inject","singleInjection","classIsInjectableFlagReflectKey","NON_USERLAND_TYPES","BigInt","Boolean","Function","Number","Object","String","updateClassMetadataWithTypescriptParameterTypes","typescriptConstructorArguments","forEach","constructorArgumentType","includes","buildClassElementMetadataFromTypescriptParameterType","updateMaybeClassMetadataWithTypescriptClassMetadata","injectable","setReflectMetadata","setIsInjectableFlag","getExtendedConstructorArguments","baseTypeClassMetadata","typeMetadata","extendedConstructorArguments","extendConstructorArguments","map","classElementMetadata","getExtendedProperties","extendedProperties","extendProperties","injectFrom","callback","composeUpdateReflectMetadataCallback","injectFromBase","baseType","getBaseType","multiInject","multipleInjection","incrementPendingClassMetadataCount","buildMaybeClassElementMetadataFromMaybeClassElementMetadata","definedMetadata","named","updateMetadataName","updateMetadataOptional","postConstruct","_descriptor","methodName","preDestroy","tagged","has","updateMetadataTag","buildDefaultUnmanagedMetadata","buildUnmanagedMetadataFromMaybeClassElementMetadata","size","hasManagedMetadata","ResolvedValueElementMetadataKind","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","subplan","buildPlanServiceNodeFromClassElementMetadata","elementMetadata","LazyServiceIdentifier","unwrap","updatedBindingMetadataList","buildPlanServiceNodeFromResolvedValueElementMetadata","buildResolvedValuePlanBindingNode","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","entries","planServiceNode","subplanInstanceBindingNode","resolvedValueMetadata","arguments","subplanResolvedValueBindingNode","GetPlanBooleanOptionsMask","PlanResultCacheService","serviceIdToValuePlanMap","namedServiceIdToValuePlanMap","taggedServiceIdToValuePlanMap","namedTaggedServiceIdToValuePlanMap","subscribers","buildInitializedMapArray","clearCache","getMaps","clear","subscriber","getMapFromMapArray","planResult","getOrBuildMapValueFromMapMap","subscribe","mapArray","valueMap","getMapArrayIndex","multipleOptional","multipleMandatory","singleOptional","singleMandatory","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","getResolvedValueNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveResolvedValueBindingNode","resolveResolvedValueBindingParams","paramValues","resolvedParamValues","curryResolveResolvedValueBindingNode","paramsResolvedValues","param","curryResolveResolvedValueBindingParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","resolveScopedResolvedValueBindingNode","curryResolveScopedResolvedValueBindingNode","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filterCachedSinglentonScopedBindings","deactivationPromiseResults","resolveModuleDeactivations","getBindingsFromModule","resolveServiceDeactivations"],"mappings":"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"}