@inversifyjs/core 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/cjs/binding/services/ActivationsService.js +1 -1
  3. package/lib/cjs/binding/services/BindingService.js +1 -1
  4. package/lib/cjs/binding/services/DeactivationsService.js +1 -1
  5. package/lib/cjs/common/models/OneToManyMapStar.d.ts +1 -1
  6. package/lib/cjs/common/models/OneToManyMapStar.d.ts.map +1 -1
  7. package/lib/cjs/common/models/OneToManyMapStar.js +36 -19
  8. package/lib/cjs/common/models/OneToManyMapStar.js.map +1 -1
  9. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts +1 -1
  10. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts.map +1 -1
  11. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js +4 -4
  12. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js.map +1 -1
  13. package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts +1 -0
  14. package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts.map +1 -1
  15. package/lib/cjs/decorator/calculations/getDecoratorInfo.js +12 -4
  16. package/lib/cjs/decorator/calculations/getDecoratorInfo.js.map +1 -1
  17. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts.map +1 -1
  18. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js +2 -0
  19. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js.map +1 -1
  20. package/lib/cjs/decorator/models/DecoratorInfo.d.ts +2 -1
  21. package/lib/cjs/decorator/models/DecoratorInfo.d.ts.map +1 -1
  22. package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts +3 -2
  23. package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts.map +1 -1
  24. package/lib/cjs/decorator/models/DecoratorInfoKind.js +3 -2
  25. package/lib/cjs/decorator/models/DecoratorInfoKind.js.map +1 -1
  26. package/lib/cjs/decorator/models/MethodDecoratorInfo.d.ts +6 -0
  27. package/lib/cjs/decorator/models/MethodDecoratorInfo.d.ts.map +1 -0
  28. package/lib/cjs/decorator/models/MethodDecoratorInfo.js +3 -0
  29. package/lib/cjs/decorator/models/MethodDecoratorInfo.js.map +1 -0
  30. package/lib/cjs/issues/classMetadataKindIsARuntimeDiscriminator.int.spec.d.ts +2 -0
  31. package/lib/cjs/issues/classMetadataKindIsARuntimeDiscriminator.int.spec.d.ts.map +1 -0
  32. package/lib/cjs/metadata/calculations/handleInjectionError.d.ts +1 -1
  33. package/lib/cjs/metadata/calculations/handleInjectionError.d.ts.map +1 -1
  34. package/lib/cjs/metadata/calculations/handleInjectionError.js.map +1 -1
  35. package/lib/cjs/metadata/decorators/inject.d.ts +1 -1
  36. package/lib/cjs/metadata/decorators/inject.d.ts.map +1 -1
  37. package/lib/cjs/metadata/decorators/inject.js +1 -14
  38. package/lib/cjs/metadata/decorators/inject.js.map +1 -1
  39. package/lib/cjs/metadata/decorators/injectBase.d.ts +2 -1
  40. package/lib/cjs/metadata/decorators/injectBase.d.ts.map +1 -1
  41. package/lib/cjs/metadata/decorators/injectBase.js +34 -6
  42. package/lib/cjs/metadata/decorators/injectBase.js.map +1 -1
  43. package/lib/cjs/metadata/decorators/multiInject.d.ts +1 -1
  44. package/lib/cjs/metadata/decorators/multiInject.d.ts.map +1 -1
  45. package/lib/cjs/metadata/decorators/multiInject.js +1 -14
  46. package/lib/cjs/metadata/decorators/multiInject.js.map +1 -1
  47. package/lib/cjs/metadata/decorators/named.d.ts +1 -1
  48. package/lib/cjs/metadata/decorators/named.d.ts.map +1 -1
  49. package/lib/cjs/metadata/decorators/named.js +1 -14
  50. package/lib/cjs/metadata/decorators/named.js.map +1 -1
  51. package/lib/cjs/metadata/decorators/optional.d.ts +1 -1
  52. package/lib/cjs/metadata/decorators/optional.d.ts.map +1 -1
  53. package/lib/cjs/metadata/decorators/optional.js +1 -14
  54. package/lib/cjs/metadata/decorators/optional.js.map +1 -1
  55. package/lib/cjs/metadata/decorators/tagged.d.ts +1 -1
  56. package/lib/cjs/metadata/decorators/tagged.d.ts.map +1 -1
  57. package/lib/cjs/metadata/decorators/tagged.js +1 -14
  58. package/lib/cjs/metadata/decorators/tagged.js.map +1 -1
  59. package/lib/cjs/metadata/decorators/unmanaged.d.ts +1 -1
  60. package/lib/cjs/metadata/decorators/unmanaged.d.ts.map +1 -1
  61. package/lib/cjs/metadata/decorators/unmanaged.js +1 -14
  62. package/lib/cjs/metadata/decorators/unmanaged.js.map +1 -1
  63. package/lib/esm/index.d.ts +6 -6
  64. package/lib/esm/index.js +1 -1
  65. package/lib/esm/index.js.map +1 -1
  66. package/package.json +4 -4
  67. package/lib/cjs/issues/classMetadataKindIsARuntimeDiscriminator.spec.d.ts +0 -2
  68. package/lib/cjs/issues/classMetadataKindIsARuntimeDiscriminator.spec.d.ts.map +0 -1
@@ -3,23 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.multiInject = multiInject;
4
4
  const decrementPendingClassMetadataCount_1 = require("../actions/decrementPendingClassMetadataCount");
5
5
  const buildManagedMetadataFromMaybeClassElementMetadata_1 = require("../calculations/buildManagedMetadataFromMaybeClassElementMetadata");
6
- const handleInjectionError_1 = require("../calculations/handleInjectionError");
7
6
  const ClassElementMetadataKind_1 = require("../models/ClassElementMetadataKind");
8
7
  const injectBase_1 = require("./injectBase");
9
8
  function multiInject(serviceIdentifier) {
10
9
  const updateMetadata = (0, buildManagedMetadataFromMaybeClassElementMetadata_1.buildManagedMetadataFromMaybeClassElementMetadata)(ClassElementMetadataKind_1.ClassElementMetadataKind.multipleInjection, serviceIdentifier);
11
- return (target, propertyKey, parameterIndex) => {
12
- try {
13
- if (parameterIndex === undefined) {
14
- (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount)(target, propertyKey);
15
- }
16
- else {
17
- (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount)(target, propertyKey, parameterIndex);
18
- }
19
- }
20
- catch (error) {
21
- (0, handleInjectionError_1.handleInjectionError)(target, propertyKey, parameterIndex, error);
22
- }
23
- };
10
+ return (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount);
24
11
  }
25
12
  //# sourceMappingURL=multiInject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiInject.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/multiInject.ts"],"names":[],"mappings":";;AAUA,kCAgCC;AAxCD,sGAAmG;AACnG,yIAAsI;AACtI,+EAA4E;AAE5E,iFAA8E;AAE9E,6CAA0C;AAE1C,SAAgB,WAAW,CACzB,iBAA4D;IAE5D,MAAM,cAAc,GAEQ,IAAA,qGAAiD,EAC3E,mDAAwB,CAAC,iBAAiB,EAC1C,iBAAiB,CAClB,CAAC;IAEF,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAuB,EACjB,EAAE;QACR,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAA8B,CAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,2CAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"multiInject.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/multiInject.ts"],"names":[],"mappings":";;AASA,kCAWC;AAlBD,sGAAmG;AACnG,yIAAsI;AAEtI,iFAA8E;AAE9E,6CAA0C;AAE1C,SAAgB,WAAW,CACzB,iBAA4D;IAE5D,MAAM,cAAc,GAEQ,IAAA,qGAAiD,EAC3E,mDAAwB,CAAC,iBAAiB,EAC1C,iBAAiB,CAClB,CAAC;IAEF,OAAO,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { MetadataName } from '../models/MetadataName';
2
- export declare function named(name: MetadataName): ParameterDecorator & PropertyDecorator;
2
+ export declare function named(name: MetadataName): MethodDecorator & ParameterDecorator & PropertyDecorator;
3
3
  //# sourceMappingURL=named.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"named.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/named.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,wBAAgB,KAAK,CACnB,IAAI,EAAE,YAAY,GACjB,kBAAkB,GAAG,iBAAiB,CA8BxC"}
1
+ {"version":3,"file":"named.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/named.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,wBAAgB,KAAK,CACnB,IAAI,EAAE,YAAY,GACjB,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,CAS1D"}
@@ -4,22 +4,9 @@ exports.named = named;
4
4
  const incrementPendingClassMetadataCount_1 = require("../actions/incrementPendingClassMetadataCount");
5
5
  const updateMetadataName_1 = require("../actions/updateMetadataName");
6
6
  const buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1 = require("../calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata");
7
- const handleInjectionError_1 = require("../calculations/handleInjectionError");
8
7
  const injectBase_1 = require("./injectBase");
9
8
  function named(name) {
10
9
  const updateMetadata = (0, buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1.buildMaybeClassElementMetadataFromMaybeClassElementMetadata)((0, updateMetadataName_1.updateMetadataName)(name));
11
- return (target, propertyKey, parameterIndex) => {
12
- try {
13
- if (parameterIndex === undefined) {
14
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey);
15
- }
16
- else {
17
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey, parameterIndex);
18
- }
19
- }
20
- catch (error) {
21
- (0, handleInjectionError_1.handleInjectionError)(target, propertyKey, parameterIndex, error);
22
- }
23
- };
10
+ return (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount);
24
11
  }
25
12
  //# sourceMappingURL=named.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"named.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/named.ts"],"names":[],"mappings":";;AAUA,sBAgCC;AA1CD,sGAAmG;AACnG,sEAAmE;AACnE,6JAA0J;AAC1J,+EAA4E;AAK5E,6CAA0C;AAE1C,SAAgB,KAAK,CACnB,IAAkB;IAElB,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,IAAA,uCAAkB,EAAC,IAAI,CAAC,CACzB,CAAC;IAEJ,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAuB,EACjB,EAAE;QACR,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAA8B,CAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,2CAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"named.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/named.ts"],"names":[],"mappings":";;AASA,sBAWC;AApBD,sGAAmG;AACnG,sEAAmE;AACnE,6JAA0J;AAK1J,6CAA0C;AAE1C,SAAgB,KAAK,CACnB,IAAkB;IAElB,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,IAAA,uCAAkB,EAAC,IAAI,CAAC,CACzB,CAAC;IAEJ,OAAO,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function optional(): ParameterDecorator & PropertyDecorator;
1
+ export declare function optional(): MethodDecorator & ParameterDecorator & PropertyDecorator;
2
2
  //# sourceMappingURL=optional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/optional.ts"],"names":[],"mappings":"AASA,wBAAgB,QAAQ,IAAI,kBAAkB,GAAG,iBAAiB,CA8BjE"}
1
+ {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/optional.ts"],"names":[],"mappings":"AAQA,wBAAgB,QAAQ,IAAI,eAAe,GACzC,kBAAkB,GAClB,iBAAiB,CASlB"}
@@ -4,22 +4,9 @@ exports.optional = optional;
4
4
  const incrementPendingClassMetadataCount_1 = require("../actions/incrementPendingClassMetadataCount");
5
5
  const updateMetadataOptional_1 = require("../actions/updateMetadataOptional");
6
6
  const buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1 = require("../calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata");
7
- const handleInjectionError_1 = require("../calculations/handleInjectionError");
8
7
  const injectBase_1 = require("./injectBase");
9
8
  function optional() {
10
9
  const updateMetadata = (0, buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1.buildMaybeClassElementMetadataFromMaybeClassElementMetadata)(updateMetadataOptional_1.updateMetadataOptional);
11
- return (target, propertyKey, parameterIndex) => {
12
- try {
13
- if (parameterIndex === undefined) {
14
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey);
15
- }
16
- else {
17
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey, parameterIndex);
18
- }
19
- }
20
- catch (error) {
21
- (0, handleInjectionError_1.handleInjectionError)(target, propertyKey, parameterIndex, error);
22
- }
23
- };
10
+ return (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount);
24
11
  }
25
12
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/optional.ts"],"names":[],"mappings":";;AASA,4BA8BC;AAvCD,sGAAmG;AACnG,8EAA2E;AAC3E,6JAA0J;AAC1J,+EAA4E;AAI5E,6CAA0C;AAE1C,SAAgB,QAAQ;IACtB,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,+CAAsB,CACvB,CAAC;IAEJ,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAuB,EACjB,EAAE;QACR,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAA8B,CAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,2CAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/optional.ts"],"names":[],"mappings":";;AAQA,4BAWC;AAnBD,sGAAmG;AACnG,8EAA2E;AAC3E,6JAA0J;AAI1J,6CAA0C;AAE1C,SAAgB,QAAQ;IAGtB,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,+CAAsB,CACvB,CAAC;IAEJ,OAAO,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { MetadataTag } from '../models/MetadataTag';
2
- export declare function tagged(key: MetadataTag, value: unknown): ParameterDecorator & PropertyDecorator;
2
+ export declare function tagged(key: MetadataTag, value: unknown): MethodDecorator & ParameterDecorator & PropertyDecorator;
3
3
  //# sourceMappingURL=tagged.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagged.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/tagged.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,wBAAgB,MAAM,CACpB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,iBAAiB,CA8BxC"}
1
+ {"version":3,"file":"tagged.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/tagged.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,wBAAgB,MAAM,CACpB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,CAS1D"}
@@ -4,22 +4,9 @@ exports.tagged = tagged;
4
4
  const incrementPendingClassMetadataCount_1 = require("../actions/incrementPendingClassMetadataCount");
5
5
  const updateMetadataTag_1 = require("../actions/updateMetadataTag");
6
6
  const buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1 = require("../calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata");
7
- const handleInjectionError_1 = require("../calculations/handleInjectionError");
8
7
  const injectBase_1 = require("./injectBase");
9
8
  function tagged(key, value) {
10
9
  const updateMetadata = (0, buildMaybeClassElementMetadataFromMaybeClassElementMetadata_1.buildMaybeClassElementMetadataFromMaybeClassElementMetadata)((0, updateMetadataTag_1.updateMetadataTag)(key, value));
11
- return (target, propertyKey, parameterIndex) => {
12
- try {
13
- if (parameterIndex === undefined) {
14
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey);
15
- }
16
- else {
17
- (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount)(target, propertyKey, parameterIndex);
18
- }
19
- }
20
- catch (error) {
21
- (0, handleInjectionError_1.handleInjectionError)(target, propertyKey, parameterIndex, error);
22
- }
23
- };
10
+ return (0, injectBase_1.injectBase)(updateMetadata, incrementPendingClassMetadataCount_1.incrementPendingClassMetadataCount);
24
11
  }
25
12
  //# sourceMappingURL=tagged.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagged.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/tagged.ts"],"names":[],"mappings":";;AAUA,wBAiCC;AA3CD,sGAAmG;AACnG,oEAAiE;AACjE,6JAA0J;AAC1J,+EAA4E;AAK5E,6CAA0C;AAE1C,SAAgB,MAAM,CACpB,GAAgB,EAChB,KAAc;IAEd,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,IAAA,qCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAC9B,CAAC;IAEJ,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAuB,EACjB,EAAE;QACR,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAA8B,CAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,2CAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tagged.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/tagged.ts"],"names":[],"mappings":";;AASA,wBAYC;AArBD,sGAAmG;AACnG,oEAAiE;AACjE,6JAA0J;AAK1J,6CAA0C;AAE1C,SAAgB,MAAM,CACpB,GAAgB,EAChB,KAAc;IAEd,MAAM,cAAc,GAGlB,IAAA,yHAA2D,EACzD,IAAA,qCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAC9B,CAAC;IAEJ,OAAO,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function unmanaged(): ParameterDecorator & PropertyDecorator;
1
+ export declare function unmanaged(): MethodDecorator & ParameterDecorator & PropertyDecorator;
2
2
  //# sourceMappingURL=unmanaged.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unmanaged.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/unmanaged.ts"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,IAAI,kBAAkB,GAAG,iBAAiB,CA4BlE"}
1
+ {"version":3,"file":"unmanaged.d.ts","sourceRoot":"","sources":["../../../../src/metadata/decorators/unmanaged.ts"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,IAAI,eAAe,GAC1C,kBAAkB,GAClB,iBAAiB,CAOlB"}
@@ -3,22 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.unmanaged = unmanaged;
4
4
  const decrementPendingClassMetadataCount_1 = require("../actions/decrementPendingClassMetadataCount");
5
5
  const buildUnmanagedMetadataFromMaybeClassElementMetadata_1 = require("../calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata");
6
- const handleInjectionError_1 = require("../calculations/handleInjectionError");
7
6
  const injectBase_1 = require("./injectBase");
8
7
  function unmanaged() {
9
8
  const updateMetadata = (0, buildUnmanagedMetadataFromMaybeClassElementMetadata_1.buildUnmanagedMetadataFromMaybeClassElementMetadata)();
10
- return (target, propertyKey, parameterIndex) => {
11
- try {
12
- if (parameterIndex === undefined) {
13
- (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount)(target, propertyKey);
14
- }
15
- else {
16
- (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount)(target, propertyKey, parameterIndex);
17
- }
18
- }
19
- catch (error) {
20
- (0, handleInjectionError_1.handleInjectionError)(target, propertyKey, parameterIndex, error);
21
- }
22
- };
9
+ return (0, injectBase_1.injectBase)(updateMetadata, decrementPendingClassMetadataCount_1.decrementPendingClassMetadataCount);
23
10
  }
24
11
  //# sourceMappingURL=unmanaged.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unmanaged.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/unmanaged.ts"],"names":[],"mappings":";;AAOA,8BA4BC;AAnCD,sGAAmG;AACnG,6IAA0I;AAC1I,+EAA4E;AAG5E,6CAA0C;AAE1C,SAAgB,SAAS;IACvB,MAAM,cAAc,GAGlB,IAAA,yGAAmD,GAAE,CAAC;IAExD,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAuB,EACjB,EAAE;QACR,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAA8B,CAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAC5D,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,2CAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unmanaged.js","sourceRoot":"","sources":["../../../../src/metadata/decorators/unmanaged.ts"],"names":[],"mappings":";;AAMA,8BASC;AAfD,sGAAmG;AACnG,6IAA0I;AAG1I,6CAA0C;AAE1C,SAAgB,SAAS;IAGvB,MAAM,cAAc,GAGlB,IAAA,yGAAmD,GAAE,CAAC;IAExD,OAAO,IAAA,uBAAU,EAAC,cAAc,EAAE,uEAAkC,CAAC,CAAC;AACxE,CAAC"}
@@ -195,7 +195,7 @@ interface ClassMetadata {
195
195
 
196
196
  declare function getClassMetadata(type: Newable): ClassMetadata;
197
197
 
198
- declare function inject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
198
+ declare function inject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): MethodDecorator & ParameterDecorator & PropertyDecorator;
199
199
 
200
200
  declare function injectable(scope?: BindingScope): ClassDecorator;
201
201
 
@@ -206,19 +206,19 @@ interface InjectFromBaseOptions {
206
206
 
207
207
  declare function injectFromBase(options?: InjectFromBaseOptions): ClassDecorator;
208
208
 
209
- declare function multiInject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
209
+ declare function multiInject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): MethodDecorator & ParameterDecorator & PropertyDecorator;
210
210
 
211
- declare function named(name: MetadataName): ParameterDecorator & PropertyDecorator;
211
+ declare function named(name: MetadataName): MethodDecorator & ParameterDecorator & PropertyDecorator;
212
212
 
213
- declare function optional(): ParameterDecorator & PropertyDecorator;
213
+ declare function optional(): MethodDecorator & ParameterDecorator & PropertyDecorator;
214
214
 
215
215
  declare function postConstruct(): MethodDecorator;
216
216
 
217
217
  declare function preDestroy(): MethodDecorator;
218
218
 
219
- declare function tagged(key: MetadataTag, value: unknown): ParameterDecorator & PropertyDecorator;
219
+ declare function tagged(key: MetadataTag, value: unknown): MethodDecorator & ParameterDecorator & PropertyDecorator;
220
220
 
221
- declare function unmanaged(): ParameterDecorator & PropertyDecorator;
221
+ declare function unmanaged(): MethodDecorator & ParameterDecorator & PropertyDecorator;
222
222
 
223
223
  interface BasePlanParams {
224
224
  getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
package/lib/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{getOwnReflectMetadata as e,updateOwnReflectMetadata as n,setReflectMetadata as t}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as o}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as i,LazyServiceIdentifier as r,isPromise as s}from"@inversifyjs/common";const c={Request:"Request",Singleton:"Singleton",Transient:"Transient"},a={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const n of e)yield*n}class d{#e;#n;#t;constructor(e){this.#e=new Map,this.#n={};for(const n of Reflect.ownKeys(e))this.#n[n]=new Map;this.#t=e}clone(){const e=Reflect.ownKeys(this.#t),n=new d(this.#t);this.#o(this.#e,n.#e);for(const t of e)this.#o(this.#n[t],n.#n[t]);return n}get(e,n){return this.#n[e].get(n)?.values()}getAllKeys(e){return this.#n[e].keys()}removeByRelation(e,n){const t=this.get(e,n);if(void 0!==t)for(const e of t){const n=this.#e.get(e);if(void 0===n)throw new Error("Expecting model relation, none found");this.#i(e,n),this.#e.delete(e)}}set(e,n){this.#e.set(e,n);for(const t of Reflect.ownKeys(n))this.#r(t,n[t]).add(e)}#r(e,n){let t=this.#n[e].get(n);return void 0===t&&(t=new Set,this.#n[e].set(n,t)),t}#o(e,n){for(const[t,o]of e)n.set(t,o)}#i(e,n){for(const t of Reflect.ownKeys(n))this.#s(e,t,n[t])}#s(e,n,t){const o=this.#n[n].get(t);void 0!==o&&(o.delete(e),0===o.size&&this.#n[n].delete(t))}}var l,f,p;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class g{#c;#a;constructor(e,n){this.#c=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new g(e)}add(e,n){this.#c.set(e,n)}clone(){return new g(this.#a,this.#c.clone())}get(e){const n=[],t=this.#c.get(l.serviceId,e);void 0!==t&&n.push(t);const o=this.#a?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#c.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(l.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class m{#u;#a;constructor(e,n){this.#u=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new m(e)}clone(){return new m(this.#a,this.#u.clone())}get(e){return this.getNonParentBindings(e)??this.#a?.get(e)}getNonParentBindings(e){return this.#u.get(f.serviceId,e)}getNonParentBoundServices(){return this.#u.getAllKeys(f.serviceId)}getByModuleId(e){return this.#u.get(f.moduleId,e)??this.#a?.getByModuleId(e)}removeAllByModuleId(e){this.#u.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#u.removeByRelation(f.serviceId,e)}set(e){const n={[f.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(n[f.moduleId]=e.moduleId),this.#u.set(e,n)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class v{#d;#a;constructor(e,n){this.#d=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new v(e)}add(e,n){this.#d.set(e,n)}clone(){return new v(this.#a,this.#d.clone())}get(e){const n=[],t=this.#d.get(p.serviceId,e);void 0!==t&&n.push(t);const o=this.#a?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#d.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(p.serviceId,e)}}function h(e,n,t){const o=Array.isArray(e)?e:[e];if(void 0!==t)if("number"!=typeof t)Reflect.decorate(o,n.prototype,t);else for(const e of o)e(n,void 0,t);else Reflect.decorate(o,n)}const y="@inversifyjs/core/classMetadataReflectKey";function w(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const M="@inversifyjs/core/pendingClassMetadataCountReflectKey";const I=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[I];kind;constructor(e,n,t){super(n,t),this[I]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[I]}static isErrorOfKind(e,n){return b.is(e)&&e.kind===n}}var j,C,x;function $(n){const t=e(n,y)??w();if(!function(n){const t=e(n,M);return void 0!==t&&0!==t}(n))return function(e,n){const t=[];if(n.length<e.length)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${n.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<n.length;++e)void 0===n[e]&&t.push(e);if(t.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${t.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(n,t.constructorArguments),t;!function(e,n){const t=[];for(let o=0;o<n.constructorArguments.length;++o){const i=n.constructorArguments[o];void 0!==i&&i.kind!==C.unknown||t.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${o.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[o,i]of n.properties)i.kind===C.unknown&&t.push(` - Missing or incomplete metadata for type "${e.name}" at property "${o.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===t.length)throw new b(j.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new b(j.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${t.join("\n\n")}`)}(n,t)}function R(){return 0}function S(e){return t=>{void 0!==t&&t.kind===C.unknown&&n(e,M,R,(e=>e-1))}}function A(e,n){return(...t)=>o=>{if(void 0===o)return e(...t);if(o.kind===x.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return n(o,...t)}}function T(e){if(e.kind!==C.unknown&&!0!==e.isFromTypescriptParamType)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(j||(j={})),function(e){e[e.unknown=32]="unknown"}(C||(C={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(x||(x={}));const D=A((function(e,n){return{kind:e,name:void 0,optional:!1,tags:new Map,value:n}}),(function(e,n,t){return T(e),{...e,kind:n,value:t}}));var k;function B(e,n,t,o){if(b.isErrorOfKind(o,j.injectionDecoratorConflict)){const i=function(e,n,t){if(void 0===t){if(void 0===n)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:k.property,property:n,targetClass:e.constructor}}return{index:t,kind:k.parameter,targetClass:e}}(e,n,t);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${o.message}\n\nDetails\n\n${function(e){switch(e.kind){case k.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case k.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(i)}`,{cause:o})}throw o}function P(e,t){return(o,i,r)=>{void 0===r?function(e,t){const o=F(e,t);return(e,t)=>{n(e.constructor,y,w,function(e,n){return t=>{const o=t.properties.get(n);return t.properties.set(n,e(o)),t}}(o(e),t))}}(e,t)(o,i):function(e,t){const o=F(e,t);return(e,t,i)=>{if(!function(e,n){return"function"==typeof e&&void 0===n}(e,t))throw new Error(`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${t?.toString()??""}" at class "${e.constructor.name}"`);n(e,y,w,function(e,n){return t=>{const o=t.constructorArguments[n];return t.constructorArguments[n]=e(o),t}}(o(e),i))}}(e,t)(o,i,r)}}function F(e,n){return t=>{const o=n(t);return n=>(o(n),e(n))}}function N(e){const n=D(x.singleInjection,e);return(e,t,o)=>{try{void 0===o?P(n,S)(e,t):P(n,S)(e,t,o)}catch(n){B(e,t,o,n)}}}!function(e){e[e.parameter=0]="parameter",e[e.property=1]="property"}(k||(k={}));const E="@inversifyjs/core/classIsInjectableFlagReflectKey";const U=[Array,BigInt,Boolean,Function,Number,Object,String];function O(t){const o=e(t,"design:paramtypes");void 0!==o&&n(t,y,w,function(e){return n=>(e.forEach(((e,t)=>{var o;void 0!==n.constructorArguments[t]||(o=e,U.includes(o))||(n.constructorArguments[t]=function(e){return{isFromTypescriptParamType:!0,kind:x.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),n)}(o))}function K(o){return i=>{!function(n){if(void 0!==e(n,E))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${n.name}"`);t(n,E,!0)}(i),O(i),void 0!==o&&n(i,y,w,(e=>({...e,scope:o})))}}function q(e,n,t){let o;return e.extendConstructorArguments??!1?(o=[...n.constructorArguments],t.constructorArguments.map(((e,n)=>{o[n]=e}))):o=t.constructorArguments,o}function V(e,n,t){let o;return o=e.extendProperties??!1?new Map(u(n.properties,t.properties)):t.properties,o}function z(e){return t=>{const o=$(e.type);n(t,y,w,function(e,n){const t=t=>({constructorArguments:q(e,n,t),lifecycle:t.lifecycle,properties:V(e,n,t),scope:t.scope});return t}(e,o))}}function G(e){return n=>{const t=o(n);if(void 0===t)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${n.name}", none found.`);z({...e,type:t})(n)}}function H(e){const n=D(x.multipleInjection,e);return(e,t,o)=>{try{void 0===o?P(n,S)(e,t):P(n,S)(e,t,o)}catch(n){B(e,t,o,n)}}}function J(e){return t=>{void 0===t&&n(e,M,R,(e=>e+1))}}function L(e){return n=>{const t=n??{kind:C.unknown,name:void 0,optional:!1,tags:new Map};if(t.kind===x.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(t)}}function Q(e){const n=L(function(e){return n=>{if(void 0!==n.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return n.name=e,n}}(e));return(e,t,o)=>{try{void 0===o?P(n,J)(e,t):P(n,J)(e,t,o)}catch(n){B(e,t,o,n)}}}function W(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function X(){const e=L(W);return(n,t,o)=>{try{void 0===o?P(e,J)(n,t):P(e,J)(n,t,o)}catch(e){B(n,t,o,e)}}}function Y(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=i,e}))}catch(n){B(e,t,void 0,n)}var i}}function Z(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=i,e}))}catch(n){B(e,t,void 0,n)}var i}}function _(e,n){const t=L(function(e,n){return t=>{if(t.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return t.tags.set(e,n),t}}(e,n));return(e,n,o)=>{try{void 0===o?P(t,J)(e,n):P(t,J)(e,n,o)}catch(t){B(e,n,o,t)}}}function ee(){return{kind:x.unmanaged}}const ne=A(ee,(function(e){if(T(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return ee()}));function te(){const e=ne();return(n,t,o)=>{try{void 0===o?P(e,S)(n,t):P(e,S)(n,t,o)}catch(e){B(n,t,o,e)}}}class oe{last;constructor(e){this.last=e}concat(e){return new oe({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const n=e.elem;return e=e.previous,{done:!1,value:n}}}}}function ie(e,n){e.servicesBranch.has(n)&&function(e,n){const t=(o=[...e.servicesBranch,n],[...o].map(i).join(" -> "));var o;throw new b(j.planning,`Circular dependency found: ${t}`)}(e,n),e.servicesBranch.add(n)}class re{#l;constructor(e){this.#l=e}get name(){return this.#l.elem.name}get tags(){return this.#l.elem.tags}get serviceIdentifier(){return this.#l.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#l.previous)return new re(this.#l.previous)}}function se(e,n,t){const o=new re(n.last),i=t?.customServiceIdentifier??o.serviceIdentifier;return[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(o)))}function ce(e){return void 0!==e.redirections}function ae(e,n,t){let o,r;ce(t)?(o=t.binding.targetServiceIdentifier,r=t.binding.serviceIdentifier):(o=t.serviceIdentifier,r=t.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,n,t,o){if(0!==e.length){const n=`Ambiguous bindings found for service: "${i(t)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case a.Instance:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case a.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", redirection: "${i(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${de(t,o)}".`;throw new b(j.planning,n)}n||ue(t,o)}(e,n,o,r):function(e,n,t,o){if(void 0!==e||n)return;ue(t,o)}(e,n,o,r)}function ue(e,n){const t=`No bindings found for service: "${i(e)}".\n\nTrying to resolve bindings for "${de(e,n)}".`;throw new b(j.planning,t)}function de(e,n){return void 0===n?`${i(e)} (Root service)`:i(n)}function le(e,n){if(1!==e.redirections.length)ae(e.redirections,n,e);else{const[t]=e.redirections;ce(t)&&le(t,n)}}function fe(e,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[t]=e.bindings;ce(t)&&le(t,n)}else ae(e.bindings,n,e)}function pe(e){const n=new Map;void 0!==e.rootConstraints.tag&&n.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const t=new oe({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:n},previous:void 0}),o=se(e,t),i=[],r={bindings:i,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(i.push(...ve(e,t,o,r)),!e.rootConstraints.isMultiple){fe(r,e.rootConstraints.isOptional??!1);const[n]=i;r.bindings=n}return{tree:{root:r}}}function ge(e,n,t,o){const i={binding:n,classMetadata:e.getClassMetadata(n.implementationType),constructorParams:[],parent:o,propertyParams:new Map};return function(e,n){const t=e.node.classMetadata;for(const[o,i]of t.constructorArguments.entries())e.node.constructorParams[o]=me(e,n,i);for(const[o,i]of t.properties){const t=me(e,n,i);void 0!==t&&e.node.propertyParams.set(o,t)}return e.node}({getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:i,servicesBranch:e.servicesBranch},t)}function me(e,n,t){if(t.kind===x.unmanaged)return;const o=r.is(t.value)?t.value.unwrap():t.value,i=n.concat({name:t.name,serviceIdentifier:o,tags:t.tags}),s=se(e,i),c=[],a={bindings:c,parent:e.node,serviceIdentifier:o};if(c.push(...ve(e,i,s,a)),t.kind===x.singleInjection){fe(a,t.optional);const[e]=c;a.bindings=e}return a}function ve(e,n,t,o){const i=ce(o)?o.binding.targetServiceIdentifier:o.serviceIdentifier;ie(e,i);const r=[];for(const i of t)switch(i.type){case a.Instance:r.push(ge(e,i,n,o));break;case a.ServiceRedirection:{const t=he(e,n,i,o);r.push(t);break}default:r.push({binding:i,parent:o})}return e.servicesBranch.delete(i),r}function he(e,n,t,o){const i={binding:t,parent:o,redirections:[]},r=se(e,n,{customServiceIdentifier:t.targetServiceIdentifier});return i.redirections.push(...ve(e,n,r,i)),i}function ye(e,n,t){const o=e.getActivations(n);return void 0===o?t:s(t)?we(e,t,o[Symbol.iterator]()):function(e,n,t){let o=n,i=t.next();for(;!0!==i.done;){const n=i.value(e.context,o);if(s(n))return we(e,n,t);o=n,i=t.next()}return o}(e,t,o[Symbol.iterator]())}async function we(e,n,t){let o=await n,i=t.next();for(;!0!==i.done;)o=await i.value(e.context,o),i=t.next();return o}function Me(e,n,t){let o=t;if(void 0!==n.onActivation){const t=n.onActivation;o=s(o)?o.then((n=>t(e.context,n))):t(e.context,o)}return ye(e,n.serviceIdentifier,o)}function Ie(e){return(n,t)=>{if(t.cache.isRight)return t.cache.value;const o=Me(n,t,e(n,t));return t.cache={isRight:!0,value:o},o}}const be=Ie((function(e,n){return n.value}));function je(e){return e}function Ce(e,n){return(t,o)=>{const i=e(o);switch(i.scope){case c.Singleton:{if(i.cache.isRight)return i.cache.value;const e=xe(t,o,i,n);return i.cache={isRight:!0,value:e},e}case c.Request:{if(t.requestScopeCache.has(i.id))return t.requestScopeCache.get(i.id);const e=xe(t,o,i,n);return t.requestScopeCache.set(i.id,e),e}case c.Transient:return xe(t,o,i,n)}}}function xe(e,n,t,o){return Me(e,t,o(e,n))}const $e=(e=>Ce(je,e))((function(e,n){return n.value(e.context)}));const Re=Ie((function(e,n){return n.factory(e.context)}));function Se(e,n,t){const o=function(e,n,t){if(void 0===t)return;if(!(t in e))throw new b(j.resolution,`Expecting a "${t.toString()}" property when resolving "${n.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[t])throw new b(j.resolution,`Expecting a "${t.toString()}" method when resolving "${n.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let o;try{o=e[t]()}catch(e){throw new b(j.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${n.implementationType.name}"`,{cause:e})}if(s(o))return async function(e,n,t){try{await t}catch(t){throw new b(j.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:t})}}(n,t,o)}}(e,n,t);return s(o)?o.then((()=>e)):e}function Ae(e){return(n,t,o)=>{const i=new o.binding.implementationType(...n),r=e(t,i,o);return s(r)?r.then((()=>Se(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName))):Se(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName)}}const Te=Ie((function(e,n){return n.provider(e.context)}));function De(e){return e.binding}const ke=function(e){return(n,t,o)=>{const i=[];for(const[r,c]of o.propertyParams){const a=o.classMetadata.properties.get(r);if(void 0===a)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);a.kind!==x.unmanaged&&void 0!==c.bindings&&(t[r]=e(n,c),s(t[r])&&i.push((async()=>{t[r]=await t[r]})()))}if(i.length>0)return Promise.all(i).then((()=>{}))}}(Ue),Be=function(e){return function n(t,o){const i=[];for(const r of o.redirections)ce(r)?i.push(...n(t,r)):i.push(e(t,r));return i}}(Ee),Pe=function(e,n,t){return(o,i)=>{const r=e(o,i);return s(r)?n(r,o,i):t(r,o,i)}}(function(e){return(n,t)=>{const o=[];for(const i of t.constructorParams)void 0===i?o.push(void 0):o.push(e(n,i));return o.some(s)?Promise.all(o):o}}(Ue),function(e){return async(n,t,o)=>{const i=await n;return e(i,t,o)}}(Ae(ke)),Ae(ke)),Fe=(e=>Ce(De,e))(Pe);function Ne(e){return Ue(e,e.planResult.tree.root)}function Ee(e,n){switch(n.binding.type){case a.ConstantValue:return be(e,n.binding);case a.DynamicValue:return $e(e,n.binding);case a.Factory:return Re(e,n.binding);case a.Instance:return Fe(e,n);case a.Provider:return Te(e,n.binding)}}function Ue(e,n){if(void 0!==n.bindings)return Array.isArray(n.bindings)?function(e,n){const t=[];for(const o of n)ce(o)?t.push(...Be(e,o)):t.push(Ee(e,o));if(t.some(s))return Promise.all(t);return t}(e,n.bindings):function(e,n){if(ce(n)){const t=Be(e,n);if(1===t.length)return t[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return Ee(e,n)}(e,n.bindings)}function Oe(e){return void 0!==e.scope}function Ke(e,n){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof n[e.lifecycle.preDestroyMethodName])return n[e.lifecycle.preDestroyMethodName]()}function qe(e,n,t){const o=e.getDeactivations(n);if(void 0!==o)return s(t)?Ve(t,o[Symbol.iterator]()):function(e,n){let t=n.next();for(;!0!==t.done;){const o=t.value(e);if(s(o))return Ve(e,n);t=n.next()}}(t,o[Symbol.iterator]())}async function Ve(e,n){const t=await e;let o=n.next();for(;!0!==o.done;)await o.value(t),o=n.next()}function ze(e,n){const t=function(e,n){if(n.type===a.Instance){const t=e.getClassMetadata(n.implementationType),o=n.cache.value;return s(o)?o.then((e=>Ke(t,e))):Ke(t,o)}}(e,n);return void 0===t?Ge(e,n):t.then((()=>Ge(e,n)))}function Ge(e,n){const t=n.cache;return s(t.value)?t.value.then((t=>He(e,n,t))):He(e,n,t.value)}function He(e,n,t){let o;if(void 0!==n.onDeactivation){o=(0,n.onDeactivation)(t)}return void 0===o?qe(e,n.serviceIdentifier,t):o.then((()=>qe(e,n.serviceIdentifier,t)))}function Je(e,n){if(void 0===n)return;const t=function(e){const n=[];for(const t of e)Oe(t)&&t.scope===c.Singleton&&t.cache.isRight&&n.push(t);return n}(n),o=[];for(const n of t){const t=ze(e,n);void 0!==t&&o.push(t)}return o.length>0?Promise.all(o).then((()=>{})):void 0}function Le(e,n){const t=e.getBindingsFromModule(n);return Je(e,t)}function Qe(e,n){const t=e.getBindings(n);return Je(e,t)}export{g as ActivationsService,m as BindingService,x as ClassElementMetadataKind,v as DeactivationsService,c as bindingScopeValues,a as bindingTypeValues,h as decorate,$ as getClassMetadata,N as inject,G as injectFromBase,K as injectable,H as multiInject,Q as named,X as optional,pe as plan,Y as postConstruct,Z as preDestroy,Ne as resolve,Le as resolveModuleDeactivations,Qe as resolveServiceDeactivations,_ as tagged,te as unmanaged};
1
+ import{getOwnReflectMetadata as e,updateOwnReflectMetadata as n,setReflectMetadata as t}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as o}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as i,LazyServiceIdentifier as r,isPromise as s}from"@inversifyjs/common";const c={Request:"Request",Singleton:"Singleton",Transient:"Transient"},a={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ServiceRedirection:"ServiceRedirection"};function*u(...e){for(const n of e)yield*n}class d{#e;#n;#t;constructor(e){this.#e=new Map,this.#n={};for(const n of Reflect.ownKeys(e))this.#n[n]=new Map;this.#t=e}add(e,n){this.#o(e).push(n);for(const t of Reflect.ownKeys(n))this.#i(t,n[t]).push(e)}clone(){const e=Reflect.ownKeys(this.#t),n=new d(this.#t);this.#r(this.#e,n.#e);for(const t of e)this.#r(this.#n[t],n.#n[t]);return n}get(e,n){return this.#n[e].get(n)}getAllKeys(e){return this.#n[e].keys()}removeByRelation(e,n){const t=this.get(e,n);if(void 0===t)return;const o=new Set(t);for(const t of o){const o=this.#e.get(t);if(void 0===o)throw new Error("Expecting model relation, none found");for(const i of o)i[e]===n&&this.#s(t,i);this.#e.delete(t)}}#o(e){let n=this.#e.get(e);return void 0===n&&(n=[],this.#e.set(e,n)),n}#i(e,n){let t=this.#n[e].get(n);return void 0===t&&(t=[],this.#n[e].set(n,t)),t}#r(e,n){for(const[t,o]of e)n.set(t,o)}#s(e,n){for(const t of Reflect.ownKeys(n))this.#c(e,t,n[t])}#c(e,n,t){const o=this.#n[n].get(t);if(void 0!==o){const i=o.indexOf(e);-1!==i&&o.splice(i,1),0===o.length&&this.#n[n].delete(t)}}}var l,f,p;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class m{#a;#u;constructor(e,n){this.#a=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new m(e)}add(e,n){this.#a.add(e,n)}clone(){return new m(this.#u,this.#a.clone())}get(e){const n=[],t=this.#a.get(l.serviceId,e);void 0!==t&&n.push(t);const o=this.#u?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#a.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#a.removeByRelation(l.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class g{#d;#u;constructor(e,n){this.#d=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new g(e)}clone(){return new g(this.#u,this.#d.clone())}get(e){return this.getNonParentBindings(e)??this.#u?.get(e)}getNonParentBindings(e){return this.#d.get(f.serviceId,e)}getNonParentBoundServices(){return this.#d.getAllKeys(f.serviceId)}getByModuleId(e){return this.#d.get(f.moduleId,e)??this.#u?.getByModuleId(e)}removeAllByModuleId(e){this.#d.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(f.serviceId,e)}set(e){const n={[f.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(n[f.moduleId]=e.moduleId),this.#d.add(e,n)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(p||(p={}));class h{#l;#u;constructor(e,n){this.#l=n??new d({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#u=e}static build(e){return new h(e)}add(e,n){this.#l.add(e,n)}clone(){return new h(this.#u,this.#l.clone())}get(e){const n=[],t=this.#l.get(p.serviceId,e);void 0!==t&&n.push(t);const o=this.#u?.get(e);if(void 0!==o&&n.push(o),0!==n.length)return u(...n)}removeAllByModuleId(e){this.#l.removeByRelation(p.moduleId,e)}removeAllByServiceId(e){this.#l.removeByRelation(p.serviceId,e)}}function v(e,n,t){const o=Array.isArray(e)?e:[e];if(void 0!==t)if("number"!=typeof t)Reflect.decorate(o,n.prototype,t);else for(const e of o)e(n,void 0,t);else Reflect.decorate(o,n)}const y="@inversifyjs/core/classMetadataReflectKey";function w(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const M="@inversifyjs/core/pendingClassMetadataCountReflectKey";const I=Symbol.for("@inversifyjs/core/InversifyCoreError");class b extends Error{[I];kind;constructor(e,n,t){super(n,t),this[I]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[I]}static isErrorOfKind(e,n){return b.is(e)&&e.kind===n}}var j,C,$;function x(n){const t=e(n,y)??w();if(!function(n){const t=e(n,M);return void 0!==t&&0!==t}(n))return function(e,n){const t=[];if(n.length<e.length)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${n.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<n.length;++e)void 0===n[e]&&t.push(e);if(t.length>0)throw new b(j.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${t.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(n,t.constructorArguments),t;!function(e,n){const t=[];for(let o=0;o<n.constructorArguments.length;++o){const i=n.constructorArguments[o];void 0!==i&&i.kind!==C.unknown||t.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${o.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[o,i]of n.properties)i.kind===C.unknown&&t.push(` - Missing or incomplete metadata for type "${e.name}" at property "${o.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===t.length)throw new b(j.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new b(j.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${t.join("\n\n")}`)}(n,t)}function R(){return 0}function S(e){return t=>{void 0!==t&&t.kind===C.unknown&&n(e,M,R,(e=>e-1))}}function A(e,n){return(...t)=>o=>{if(void 0===o)return e(...t);if(o.kind===$.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return n(o,...t)}}function T(e){if(e.kind!==C.unknown&&!0!==e.isFromTypescriptParamType)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(j||(j={})),function(e){e[e.unknown=32]="unknown"}(C||(C={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}($||($={}));const D=A((function(e,n){return{kind:e,name:void 0,optional:!1,tags:new Map,value:n}}),(function(e,n,t){return T(e),{...e,kind:n,value:t}}));function k(e,n){return t=>{const o=t.properties.get(n);return t.properties.set(n,e(o)),t}}var B;function F(e,n,t,o){if(b.isErrorOfKind(o,j.injectionDecoratorConflict)){const i=function(e,n,t){if(void 0===t){if(void 0===n)throw new b(j.unknown,"Unexpected undefined property and index values");return{kind:B.property,property:n,targetClass:e.constructor}}return"number"==typeof t?{index:t,kind:B.parameter,targetClass:e}:{kind:B.method,method:n,targetClass:e}}(e,n,t);throw new b(j.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${o.message}\n\nDetails\n\n${function(e){switch(e.kind){case B.method:return`[class: "${e.targetClass.name}", method: "${e.method.toString()}"]`;case B.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case B.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(i)}`,{cause:o})}throw o}function P(e,t){return(o,i,r)=>{try{void 0===r?function(e,t){const o=N(e,t);return(e,t)=>{n(e.constructor,y,w,k(o(e),t))}}(e,t)(o,i):"number"==typeof r?function(e,t){const o=N(e,t);return(e,t,i)=>{if(!function(e,n){return"function"==typeof e&&void 0===n}(e,t))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${t?.toString()??""}" at class "${e.constructor.name}"`);n(e,y,w,function(e,n){return t=>{const o=t.constructorArguments[n];return t.constructorArguments[n]=e(o),t}}(o(e),i))}}(e,t)(o,i,r):function(e,t){const o=N(e,t);return(e,t,i)=>{if(!function(e){return void 0!==e.set}(i))throw new b(j.injectionDecoratorConflict,`Found an @inject decorator in a non setter property method.\nFound @inject decorator at method "${t.toString()}" at class "${e.constructor.name}"`);n(e.constructor,y,w,k(o(e),t))}}(e,t)(o,i,r)}catch(e){F(o,i,r,e)}}}function N(e,n){return t=>{const o=n(t);return n=>(o(n),e(n))}}function E(e){return P(D($.singleInjection,e),S)}!function(e){e[e.method=0]="method",e[e.parameter=1]="parameter",e[e.property=2]="property"}(B||(B={}));const O="@inversifyjs/core/classIsInjectableFlagReflectKey";const U=[Array,BigInt,Boolean,Function,Number,Object,String];function K(t){const o=e(t,"design:paramtypes");void 0!==o&&n(t,y,w,function(e){return n=>(e.forEach(((e,t)=>{var o;void 0!==n.constructorArguments[t]||(o=e,U.includes(o))||(n.constructorArguments[t]=function(e){return{isFromTypescriptParamType:!0,kind:$.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}}(e))})),n)}(o))}function q(o){return i=>{!function(n){if(void 0!==e(n,O))throw new b(j.injectionDecoratorConflict,`Cannot apply @injectable decorator multiple times at class "${n.name}"`);t(n,O,!0)}(i),K(i),void 0!==o&&n(i,y,w,(e=>({...e,scope:o})))}}function V(e,n,t){let o;return e.extendConstructorArguments??!1?(o=[...n.constructorArguments],t.constructorArguments.map(((e,n)=>{o[n]=e}))):o=t.constructorArguments,o}function G(e,n,t){let o;return o=e.extendProperties??!1?new Map(u(n.properties,t.properties)):t.properties,o}function z(e){return t=>{const o=x(e.type);n(t,y,w,function(e,n){const t=t=>({constructorArguments:V(e,n,t),lifecycle:t.lifecycle,properties:G(e,n,t),scope:t.scope});return t}(e,o))}}function H(e){return n=>{const t=o(n);if(void 0===t)throw new b(j.injectionDecoratorConflict,`Expected base type for type "${n.name}", none found.`);z({...e,type:t})(n)}}function J(e){return P(D($.multipleInjection,e),S)}function L(e){return t=>{void 0===t&&n(e,M,R,(e=>e+1))}}function Q(e){return n=>{const t=n??{kind:C.unknown,name:void 0,optional:!1,tags:new Map};if(t.kind===$.unmanaged)throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(t)}}function W(e){const n=Q(function(e){return n=>{if(void 0!==n.name)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated named decorator");return n.name=e,n}}(e));return P(n,L)}function X(e){if(e.optional)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function Y(){return P(Q(X),L)}function Z(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=i,e}))}catch(n){F(e,t,void 0,n)}var i}}function _(){return(e,t,o)=>{try{n(e.constructor,y,w,(i=t,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new b(j.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=i,e}))}catch(n){F(e,t,void 0,n)}var i}}function ee(e,n){const t=Q(function(e,n){return t=>{if(t.tags.has(e))throw new b(j.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return t.tags.set(e,n),t}}(e,n));return P(t,L)}function ne(){return{kind:$.unmanaged}}const te=A(ne,(function(e){if(T(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0}(e))throw new b(j.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return ne()}));function oe(){return P(te(),S)}class ie{last;constructor(e){this.last=e}concat(e){return new ie({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const n=e.elem;return e=e.previous,{done:!1,value:n}}}}}function re(e,n){e.servicesBranch.has(n)&&function(e,n){const t=(o=[...e.servicesBranch,n],[...o].map(i).join(" -> "));var o;throw new b(j.planning,`Circular dependency found: ${t}`)}(e,n),e.servicesBranch.add(n)}class se{#f;constructor(e){this.#f=e}get name(){return this.#f.elem.name}get tags(){return this.#f.elem.tags}get serviceIdentifier(){return this.#f.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#f.previous)return new se(this.#f.previous)}}function ce(e,n,t){const o=new se(n.last),i=t?.customServiceIdentifier??o.serviceIdentifier;return[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(o)))}function ae(e){return void 0!==e.redirections}function ue(e,n,t){let o,r;ae(t)?(o=t.binding.targetServiceIdentifier,r=t.binding.serviceIdentifier):(o=t.serviceIdentifier,r=t.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,n,t,o){if(0!==e.length){const n=`Ambiguous bindings found for service: "${i(t)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case a.Instance:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case a.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", redirection: "${i(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${i(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${le(t,o)}".`;throw new b(j.planning,n)}n||de(t,o)}(e,n,o,r):function(e,n,t,o){if(void 0!==e||n)return;de(t,o)}(e,n,o,r)}function de(e,n){const t=`No bindings found for service: "${i(e)}".\n\nTrying to resolve bindings for "${le(e,n)}".`;throw new b(j.planning,t)}function le(e,n){return void 0===n?`${i(e)} (Root service)`:i(n)}function fe(e,n){if(1!==e.redirections.length)ue(e.redirections,n,e);else{const[t]=e.redirections;ae(t)&&fe(t,n)}}function pe(e,n){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[t]=e.bindings;ae(t)&&fe(t,n)}else ue(e.bindings,n,e)}function me(e){const n=new Map;void 0!==e.rootConstraints.tag&&n.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const t=new ie({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:n},previous:void 0}),o=ce(e,t),i=[],r={bindings:i,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(i.push(...ve(e,t,o,r)),!e.rootConstraints.isMultiple){pe(r,e.rootConstraints.isOptional??!1);const[n]=i;r.bindings=n}return{tree:{root:r}}}function ge(e,n,t,o){const i={binding:n,classMetadata:e.getClassMetadata(n.implementationType),constructorParams:[],parent:o,propertyParams:new Map};return function(e,n){const t=e.node.classMetadata;for(const[o,i]of t.constructorArguments.entries())e.node.constructorParams[o]=he(e,n,i);for(const[o,i]of t.properties){const t=he(e,n,i);void 0!==t&&e.node.propertyParams.set(o,t)}return e.node}({getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:i,servicesBranch:e.servicesBranch},t)}function he(e,n,t){if(t.kind===$.unmanaged)return;const o=r.is(t.value)?t.value.unwrap():t.value,i=n.concat({name:t.name,serviceIdentifier:o,tags:t.tags}),s=ce(e,i),c=[],a={bindings:c,parent:e.node,serviceIdentifier:o};if(c.push(...ve(e,i,s,a)),t.kind===$.singleInjection){pe(a,t.optional);const[e]=c;a.bindings=e}return a}function ve(e,n,t,o){const i=ae(o)?o.binding.targetServiceIdentifier:o.serviceIdentifier;re(e,i);const r=[];for(const i of t)switch(i.type){case a.Instance:r.push(ge(e,i,n,o));break;case a.ServiceRedirection:{const t=ye(e,n,i,o);r.push(t);break}default:r.push({binding:i,parent:o})}return e.servicesBranch.delete(i),r}function ye(e,n,t,o){const i={binding:t,parent:o,redirections:[]},r=ce(e,n,{customServiceIdentifier:t.targetServiceIdentifier});return i.redirections.push(...ve(e,n,r,i)),i}function we(e,n,t){const o=e.getActivations(n);return void 0===o?t:s(t)?Me(e,t,o[Symbol.iterator]()):function(e,n,t){let o=n,i=t.next();for(;!0!==i.done;){const n=i.value(e.context,o);if(s(n))return Me(e,n,t);o=n,i=t.next()}return o}(e,t,o[Symbol.iterator]())}async function Me(e,n,t){let o=await n,i=t.next();for(;!0!==i.done;)o=await i.value(e.context,o),i=t.next();return o}function Ie(e,n,t){let o=t;if(void 0!==n.onActivation){const t=n.onActivation;o=s(o)?o.then((n=>t(e.context,n))):t(e.context,o)}return we(e,n.serviceIdentifier,o)}function be(e){return(n,t)=>{if(t.cache.isRight)return t.cache.value;const o=Ie(n,t,e(n,t));return t.cache={isRight:!0,value:o},o}}const je=be((function(e,n){return n.value}));function Ce(e){return e}function $e(e,n){return(t,o)=>{const i=e(o);switch(i.scope){case c.Singleton:{if(i.cache.isRight)return i.cache.value;const e=xe(t,o,i,n);return i.cache={isRight:!0,value:e},e}case c.Request:{if(t.requestScopeCache.has(i.id))return t.requestScopeCache.get(i.id);const e=xe(t,o,i,n);return t.requestScopeCache.set(i.id,e),e}case c.Transient:return xe(t,o,i,n)}}}function xe(e,n,t,o){return Ie(e,t,o(e,n))}const Re=(e=>$e(Ce,e))((function(e,n){return n.value(e.context)}));const Se=be((function(e,n){return n.factory(e.context)}));function Ae(e,n,t){const o=function(e,n,t){if(void 0===t)return;if(!(t in e))throw new b(j.resolution,`Expecting a "${t.toString()}" property when resolving "${n.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[t])throw new b(j.resolution,`Expecting a "${t.toString()}" method when resolving "${n.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let o;try{o=e[t]()}catch(e){throw new b(j.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${n.implementationType.name}"`,{cause:e})}if(s(o))return async function(e,n,t){try{await t}catch(t){throw new b(j.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:t})}}(n,t,o)}}(e,n,t);return s(o)?o.then((()=>e)):e}function Te(e){return(n,t,o)=>{const i=new o.binding.implementationType(...n),r=e(t,i,o);return s(r)?r.then((()=>Ae(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName))):Ae(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName)}}const De=be((function(e,n){return n.provider(e.context)}));function ke(e){return e.binding}const Be=function(e){return(n,t,o)=>{const i=[];for(const[r,c]of o.propertyParams){const a=o.classMetadata.properties.get(r);if(void 0===a)throw new b(j.resolution,`Expecting metadata at property "${r.toString()}", none found`);a.kind!==$.unmanaged&&void 0!==c.bindings&&(t[r]=e(n,c),s(t[r])&&i.push((async()=>{t[r]=await t[r]})()))}if(i.length>0)return Promise.all(i).then((()=>{}))}}(Ue),Fe=function(e){return function n(t,o){const i=[];for(const r of o.redirections)ae(r)?i.push(...n(t,r)):i.push(e(t,r));return i}}(Oe),Pe=function(e,n,t){return(o,i)=>{const r=e(o,i);return s(r)?n(r,o,i):t(r,o,i)}}(function(e){return(n,t)=>{const o=[];for(const i of t.constructorParams)void 0===i?o.push(void 0):o.push(e(n,i));return o.some(s)?Promise.all(o):o}}(Ue),function(e){return async(n,t,o)=>{const i=await n;return e(i,t,o)}}(Te(Be)),Te(Be)),Ne=(e=>$e(ke,e))(Pe);function Ee(e){return Ue(e,e.planResult.tree.root)}function Oe(e,n){switch(n.binding.type){case a.ConstantValue:return je(e,n.binding);case a.DynamicValue:return Re(e,n.binding);case a.Factory:return Se(e,n.binding);case a.Instance:return Ne(e,n);case a.Provider:return De(e,n.binding)}}function Ue(e,n){if(void 0!==n.bindings)return Array.isArray(n.bindings)?function(e,n){const t=[];for(const o of n)ae(o)?t.push(...Fe(e,o)):t.push(Oe(e,o));if(t.some(s))return Promise.all(t);return t}(e,n.bindings):function(e,n){if(ae(n)){const t=Fe(e,n);if(1===t.length)return t[0];throw new b(j.resolution,"Unexpected multiple resolved values on single injection")}return Oe(e,n)}(e,n.bindings)}function Ke(e){return void 0!==e.scope}function qe(e,n){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof n[e.lifecycle.preDestroyMethodName])return n[e.lifecycle.preDestroyMethodName]()}function Ve(e,n,t){const o=e.getDeactivations(n);if(void 0!==o)return s(t)?Ge(t,o[Symbol.iterator]()):function(e,n){let t=n.next();for(;!0!==t.done;){const o=t.value(e);if(s(o))return Ge(e,n);t=n.next()}}(t,o[Symbol.iterator]())}async function Ge(e,n){const t=await e;let o=n.next();for(;!0!==o.done;)await o.value(t),o=n.next()}function ze(e,n){const t=function(e,n){if(n.type===a.Instance){const t=e.getClassMetadata(n.implementationType),o=n.cache.value;return s(o)?o.then((e=>qe(t,e))):qe(t,o)}}(e,n);return void 0===t?He(e,n):t.then((()=>He(e,n)))}function He(e,n){const t=n.cache;return s(t.value)?t.value.then((t=>Je(e,n,t))):Je(e,n,t.value)}function Je(e,n,t){let o;if(void 0!==n.onDeactivation){o=(0,n.onDeactivation)(t)}return void 0===o?Ve(e,n.serviceIdentifier,t):o.then((()=>Ve(e,n.serviceIdentifier,t)))}function Le(e,n){if(void 0===n)return;const t=function(e){const n=[];for(const t of e)Ke(t)&&t.scope===c.Singleton&&t.cache.isRight&&n.push(t);return n}(n),o=[];for(const n of t){const t=ze(e,n);void 0!==t&&o.push(t)}return o.length>0?Promise.all(o).then((()=>{})):void 0}function Qe(e,n){const t=e.getBindingsFromModule(n);return Le(e,t)}function We(e,n){const t=e.getBindings(n);return Le(e,t)}export{m as ActivationsService,g as BindingService,$ as ClassElementMetadataKind,h as DeactivationsService,c as bindingScopeValues,a as bindingTypeValues,v as decorate,x as getClassMetadata,E as inject,H as injectFromBase,q as injectable,J as multiInject,W as named,Y as optional,me as plan,Z as postConstruct,_ as preDestroy,Ee as resolve,Qe as resolveModuleDeactivations,We as resolveServiceDeactivations,ee as tagged,oe 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/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/updateMaybeClassMetadataProperty.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/common/models/SingleInmutableLinkedList.ts","../../src/planning/actions/addBranchService.ts","../../src/binding/models/BindingMetadataImplementation.ts","../../src/planning/calculations/buildFilteredServiceBindings.ts","../../src/planning/calculations/isPlanServiceRedirectionBindingNode.ts","../../src/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.ts","../../src/binding/calculations/stringifyBinding.ts","../../src/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.ts","../../src/planning/calculations/checkServiceNodeSingleInjectionBindings.ts","../../src/planning/calculations/plan.ts","../../src/resolution/actions/resolveBindingServiceActivations.ts","../../src/resolution/actions/resolveBindingActivations.ts","../../src/resolution/actions/resolveSingletonScopedBinding.ts","../../src/resolution/actions/resolveConstantValueBinding.ts","../../src/resolution/calculations/resolveConstantValueBindingCallback.ts","../../src/common/calculations/getSelf.ts","../../src/resolution/actions/resolveScoped.ts","../../src/resolution/actions/resolveScopedBinding.ts","../../src/resolution/actions/resolveDynamicValueBinding.ts","../../src/resolution/calculations/resolveDynamicValueBindingCallback.ts","../../src/resolution/actions/resolveFactoryBinding.ts","../../src/resolution/calculations/resolveFactoryBindingCallback.ts","../../src/resolution/actions/resolvePostConstruct.ts","../../src/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.ts","../../src/resolution/actions/resolveProviderBinding.ts","../../src/resolution/calculations/resolveProviderBindingCallback.ts","../../src/resolution/calculations/getInstanceNodeBinding.ts","../../src/resolution/actions/resolve.ts","../../src/resolution/actions/setInstanceProperties.ts","../../src/resolution/actions/resolveServiceRedirectionBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingConstructorParams.ts","../../src/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.ts","../../src/resolution/actions/resolveScopedInstanceBindingNode.ts","../../src/binding/calculations/isScopedBinding.ts","../../src/resolution/actions/resolveBindingPreDestroy.ts","../../src/resolution/actions/resolveBindingServiceDeactivations.ts","../../src/resolution/actions/resolveBindingDeactivations.ts","../../src/resolution/actions/resolveBindingsDeactivations.ts","../../src/resolution/actions/resolveModuleDeactivations.ts","../../src/resolution/actions/resolveServiceDeactivations.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","ServiceRedirection","chain","iterables","iterable","OneToManyMapStar","modelToRelationMap","relationToModelsMaps","spec","constructor","this","Map","specProperty","Reflect","ownKeys","clone","properties","pushEntriesIntoMap","property","get","key","value","values","getAllKeys","keys","removeByRelation","models","undefined","model","relation","Error","removeModelFromRelationMaps","delete","set","relationKey","buildOrGetRelationModelSet","add","relationValue","modelSet","Set","source","target","removeModelFromRelationMap","size","ActivationRelationKind","BindingRelationKind","DeactivationRelationKind","ActivationsService","activationMaps","parent","moduleId","isOptional","serviceId","build","activation","serviceIdentifier","activationIterables","activations","push","parentActivations","length","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","DecoratorInfoKind","handleInjectionError","parameterIndex","error","info","targetClass","index","parameter","getDecoratorInfo","decoratorTargetInfo","stringifyDecoratorInfo","cause","injectBase","updateMetadata","updatePendingClassMetadataCount","buildComposedUpdateMetadataFromTarget","buildComposedUpdateMetadata","propertyMetadata","updateMaybeClassMetadataProperty","injectProperty","isConstructorParameter","updateMaybeClassMetadataConstructorArgument","injectParameter","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","hasManagedMetadata","SingleInmutableLinkedList","last","concat","elem","previous","iterator","node","next","done","addBranchService","servicesBranch","stringifiedCircularDependencies","serviceIdentifiers","stringifyServiceIdentifier","planning","throwError","BindingMetadataImplementation","getAncestor","buildFilteredServiceBindings","bindingMetadataList","bindingMetadata","customServiceIdentifier","getBindings","filter","isSatisfiedBy","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","implementationType","stringifyBinding","stringifyParentServiceIdentifier","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","plan","rootConstraints","tag","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","elementMetadata","entries","buildPlanServiceNodeFromClassElementMetadata","planServiceNode","subplan","LazyServiceIdentifier","unwrap","updatedBindingMetadataList","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","resolveBindingServiceActivations","getActivations","isPromise","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","onActivation","then","resolved","resolveSingletonScopedBinding","resolve","cache","isRight","resolvedValue","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","resolveAndActivate","requestScopeCache","id","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","planResult","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","onDeactivation","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filteredBindings","filterCachedSinglentonScopedBindings","deactivationPromiseResults","resolveModuleDeactivations","getBindingsFromModule","resolveServiceDeactivations"],"mappings":"wSAEa,MAAAA,EAAuD,CAClEC,QAAS,UACTC,UAAW,YACXC,UAAW,aCGAC,EAAqD,CAChEC,cAAe,gBACfC,aAAc,eACdC,QAAS,UACTC,SAAU,WACVC,SAAU,WACVC,mBAAoB,+BCdLC,KAAYC,GAC3B,IAAK,MAAMC,KAAYD,QACdC,CAEX,OCWaC,EAGFC,GACAC,GACAC,GAET,WAAAC,CAAYD,GACVE,MAAKJ,EAAsB,IAAIK,IAE/BD,MAAKH,EAAwB,CAA2C,EAExE,IAAK,MAAMK,KAAgBC,QAAQC,QAAQN,GACzCE,MAAKH,EAAsBK,GAAgB,IAAID,IAGjDD,MAAKF,EAAQA,EAGR,KAAAO,GACL,MAAMC,EAAkCH,QAAQC,QAC9CJ,MAAKF,GAGDO,EAA6C,IAAIV,EACrDK,MAAKF,GAGPE,MAAKO,EACHP,MAAKJ,EACLS,GAAMT,GAGR,IAAK,MAAMY,KAAYF,EACrBN,MAAKO,EACHP,MAAKH,EAAsBW,GAC3BH,GAAMR,EAAsBW,IAIhC,OAAOH,EAGF,GAAAI,CACLC,EACAC,GAEA,OAAOX,MAAKH,EAAsBa,GAAKD,IAAIE,IAAQC,SAG9C,UAAAC,CACLH,GAEA,OAAOV,MAAKH,EAAsBa,GAAKI,OAGlC,gBAAAC,CACLL,EACAC,GAEA,MAAMK,EAAuChB,KAAKS,IAAIC,EAAKC,GAE3D,QAAeM,IAAXD,EAIJ,IAAK,MAAME,KAASF,EAAQ,CAC1B,MAAMG,EACJnB,MAAKJ,EAAoBa,IAAIS,GAE/B,QAAiBD,IAAbE,EACF,MAAM,IAAIC,MAAM,wCAGlBpB,MAAKqB,EAA6BH,EAAOC,GACzCnB,MAAKJ,EAAoB0B,OAAOJ,IAI7B,GAAAK,CAAIL,EAAeC,GACxBnB,MAAKJ,EAAoB2B,IAAIL,EAAOC,GAEpC,IAAK,MAAMK,KAAerB,QAAQC,QAChCe,GAEAnB,MAAKyB,EAA4BD,EAAaL,EAASK,IAAcE,IACnER,GAKN,EAAAO,CACED,EACAG,GAEA,IAAIC,EACF5B,MAAKH,EAAsB2B,GAAaf,IAAIkB,GAQ9C,YANiBV,IAAbW,IACFA,EAAW,IAAIC,IAEf7B,MAAKH,EAAsB2B,GAAaD,IAAII,EAAeC,IAGtDA,EAGT,EAAArB,CACEuB,EACAC,GAEA,IAAK,MAAOrB,EAAKC,KAAUmB,EACzBC,EAAOR,IAAIb,EAAKC,GAIpB,EAAAU,CAA6BH,EAAeC,GAC1C,IAAK,MAAMK,KAAerB,QAAQC,QAChCe,GAEAnB,MAAKgC,EACHd,EACAM,EACAL,EAASK,IAKf,EAAAQ,CACEd,EACAM,EACAG,GAEA,MAAMC,EACJ5B,MAAKH,EAAsB2B,GAAaf,IAAIkB,QAE7BV,IAAbW,IACFA,EAASN,OAAOJ,GAEM,IAAlBU,EAASK,MACXjC,MAAKH,EAAsB2B,GAAaF,OAAOK,KCpJvD,IAAKO,ECDAC,ECCAC,GFAL,SAAKF,GACHA,EAAA,SAAA,WACAA,EAAA,UAAA,WACD,CAHD,CAAKA,IAAAA,EAGJ,CAAA,UAOYG,EACFC,GAKAC,GAET,WAAAxC,CACEwC,EACAD,GAKAtC,MAAKsC,EACHA,GACA,IAAI3C,EAA+D,CACjE6C,SAAU,CACRC,YAAY,GAEdC,UAAW,CACTD,YAAY,KAIlBzC,MAAKuC,EAAUA,EAGV,YAAOI,CACZJ,GAEA,OAAO,IAAIF,EAAmBE,GAGzB,GAAAb,CACLkB,EACAzB,GAEAnB,MAAKsC,EAAgBf,IAAIqB,EAAYzB,GAGhC,KAAAd,GAML,OALkC,IAAIgC,EACpCrC,MAAKuC,EACLvC,MAAKsC,EAAgBjC,SAMlB,GAAAI,CACLoC,GAEA,MAAMC,EAAqD,GAErDC,EACJ/C,MAAKsC,EAAgB7B,IACnByB,EAAuBQ,UACvBG,QAGgB5B,IAAhB8B,GACFD,EAAoBE,KAAKD,GAG3B,MAAME,EACJjD,MAAKuC,GAAS9B,IAAIoC,GAMpB,QAJ0B5B,IAAtBgC,GACFH,EAAoBE,KAAKC,GAGQ,IAA/BH,EAAoBI,OAIxB,OAAO1D,KAASsD,GAGX,mBAAAK,CAAoBX,GACzBxC,MAAKsC,EAAgBvB,iBACnBmB,EAAuBM,SACvBA,GAIG,oBAAAY,CAAqBV,GAC1B1C,MAAKsC,EAAgBvB,iBACnBmB,EAAuBQ,UACvBA,KCrGN,SAAKP,GACHA,EAAA,SAAA,WACAA,EAAA,UAAA,WACD,CAHD,CAAKA,IAAAA,EAGJ,CAAA,UAOYkB,EACFC,GACAf,GAET,WAAAxC,CACEwC,EACAe,GAEAtD,MAAKsD,EACHA,GACA,IAAI3D,EAAoD,CACtD6C,SAAU,CACRC,YAAY,GAEdC,UAAW,CACTD,YAAY,KAIlBzC,MAAKuC,EAAUA,EAGV,YAAOI,CAAMJ,GAClB,OAAO,IAAIc,EAAed,GAGrB,KAAAlC,GAML,OAL8B,IAAIgD,EAChCrD,MAAKuC,EACLvC,MAAKsD,EAAajD,SAMf,GAAAI,CACLoC,GAEA,OACE7C,KAAKuD,qBAAqBV,IAC1B7C,MAAKuC,GAAS9B,IAAIoC,GAIf,oBAAAU,CACLb,GAEA,OAAO1C,MAAKsD,EAAa7C,IAAI0B,EAAoBO,UAAWA,GAKvD,yBAAAc,GACL,OAAOxD,MAAKsD,EAAazC,WAAWsB,EAAoBO,WAGnD,aAAAe,CACLjB,GAEA,OACGxC,MAAKsD,EAAa7C,IAAI0B,EAAoBK,SAAUA,IAEnCxC,MAAKuC,GAASkB,cAAcjB,GAI3C,mBAAAW,CAAoBX,GACzBxC,MAAKsD,EAAavC,iBAAiBoB,EAAoBK,SAAUA,GAG5D,oBAAAY,CAAqBV,GAC1B1C,MAAKsD,EAAavC,iBAChBoB,EAAoBO,UACpBA,GAIG,GAAAnB,CAAemC,GACpB,MAAMvC,EAA4B,CAChC,CAACgB,EAAoBO,WAAYgB,EAAQb,wBAGlB5B,IAArByC,EAAQlB,WACVrB,EAASgB,EAAoBK,UAAYkB,EAAQlB,UAGnDxC,MAAKsD,EAAa/B,IAAImC,EAA6BvC,KC/FvD,SAAKiB,GACHA,EAAA,SAAA,WACAA,EAAA,UAAA,WACD,CAHD,CAAKA,IAAAA,EAGJ,CAAA,UAOYuB,EACFC,GAKArB,GAET,WAAAxC,CACEwC,EACAqB,GAKA5D,MAAK4D,EACHA,GACA,IAAIjE,EAAmE,CACrE6C,SAAU,CACRC,YAAY,GAEdC,UAAW,CACTD,YAAY,KAIlBzC,MAAKuC,EAAUA,EAGV,YAAOI,CACZJ,GAEA,OAAO,IAAIoB,EAAqBpB,GAG3B,GAAAb,CACLmC,EACA1C,GAEAnB,MAAK4D,EAAkBrC,IAAIsC,EAAc1C,GAGpC,KAAAd,GAML,OALoC,IAAIsD,EACtC3D,MAAKuC,EACLvC,MAAK4D,EAAkBvD,SAMpB,GAAAI,CACLoC,GAEA,MAAMiB,EAAyD,GAEzDC,EACJ/D,MAAK4D,EAAkBnD,IACrB2B,EAAyBM,UACzBG,QAGkB5B,IAAlB8C,GACFD,EAAsBd,KAAKe,GAG7B,MAAMC,EACJhE,MAAKuC,GAAS9B,IAAIoC,GAMpB,QAJ4B5B,IAAxB+C,GACFF,EAAsBd,KAAKgB,GAGQ,IAAjCF,EAAsBZ,OAI1B,OAAO1D,KAASsE,GAGX,mBAAAX,CAAoBX,GACzBxC,MAAK4D,EAAkB7C,iBACrBqB,EAAyBI,SACzBA,GAIG,oBAAAY,CAAqBV,GAC1B1C,MAAK4D,EAAkB7C,iBACrBqB,EAAyBM,UACzBA,aCxFUuB,EACdC,EASAnC,EACAoC,GAEA,MAAMC,EAIoBC,MAAMC,QAAQJ,GACpCA,EACC,CAACA,GAMN,QAAiCjD,IAA7BkD,EAOJ,GAAwC,iBAA7BA,EAUXhE,QAAQ8D,SACNG,EACArC,EAAOwC,UACPJ,QAVA,IAAK,MAAMK,KAAaJ,EACtBI,EAAUzC,OAAQd,EAAWkD,QAR/BhE,QAAQ8D,SAASG,EAAsCrC,EAmB3D,CClEO,MAAM0C,EACX,qDCCcC,IACd,MAAO,CACLC,qBAAsB,GACtBC,UAAW,CACTC,6BAAyB5D,EACzB6D,0BAAsB7D,GAExBX,WAAY,IAAIL,IAChB8E,WAAO9D,EAEX,CCZO,MAAM+D,EACX,wDCCK,MAAMC,EAAkCC,OAAOC,IACpD,wCAGI,MAAOC,UAA2BhE,MAC/B6D,CAACA,GAEDI,KAEP,WAAAtF,CACEsF,EACAC,EACAC,GAEAC,MAAMF,EAASC,GAEfvF,KAAKiF,IAAoB,EACzBjF,KAAKqF,KAAOA,EAGP,SAAOI,CAAG9E,GACf,MACmB,iBAAVA,GACG,OAAVA,IACkE,IAAjEA,EAA2CsE,GAIzC,oBAAOS,CACZ/E,EACA0E,GAEA,OAAOD,EAAmBK,GAAG9E,IAAUA,EAAM0E,OAASA,GClC1D,IAAYM,ECAAC,ECAAC,ECUN,SAAUC,EAAiBC,GAC/B,MAAMC,EACJC,EAAsBF,EAAMtB,IAC5BC,IAEF,ICVI,SAAiCqB,GACrC,MAAMG,EAAgDD,EACpDF,EACAf,GAGF,YACgC/D,IAA9BiF,GAAyE,IAA9BA,CAE/C,CDCMC,CAAuBJ,GAKzB,OEdY,SACdA,EACApF,GAEA,MAAMyF,EAA6B,GAEnC,GAAIzF,EAAMuC,OAAS6C,EAAK7C,OACtB,MAAM,IAAIkC,EACRO,EAAuBU,0BACvB,8CAA8CN,EAAKO,WAAWP,EAAKO,uCAAuCP,EAAK7C,OAAOqD,+BAA+B5F,EAAMuC,OAAOqD,uPAQtK,IAAK,IAAIC,EAAY,EAAGA,EAAI7F,EAAMuC,SAAUsD,OAG1BvF,IAFkCN,EAAM6F,IAGtDJ,EAAiBpD,KAAKwD,GAI1B,GAAIJ,EAAiBlD,OAAS,EAC5B,MAAM,IAAIkC,EACRO,EAAuBU,0BACvB,8CAA8CN,EAAKO,iCAAiCF,EAAiBK,KAAK,oNAOhH,CFvBIC,CAAiCX,EAAMC,EAAcrB,sBAE9CqB,GGZK,SACdD,EACAC,GAEA,MAAMW,EAAmB,GAEzB,IAAK,IAAIH,EAAY,EAAGA,EAAIR,EAAcrB,qBAAqBzB,SAAUsD,EAAG,CAC1E,MAAMI,EACJZ,EAAcrB,qBAAqB6B,QAGXvF,IAAxB2F,GACAA,EAAoBvB,OAASO,EAA8BiB,SAE3DF,EAAO3D,KACL,gDAAgD+C,EAAKO,4CAA4CE,EAAED,yHAMzG,IAAK,MAAOO,EAAatG,KAAawF,EAAc1F,WAC9CE,EAAS6E,OAASO,EAA8BiB,SAClDF,EAAO3D,KACL,gDAAgD+C,EAAKO,sBAAsBQ,EAAYP,gGAM7F,GAAsB,IAAlBI,EAAOzD,OACT,MAAM,IAAIkC,EACRO,EAAuBkB,QACvB,uCAAuCd,EAAKO,yOAQhD,MAAM,IAAIlB,EACRO,EAAuBU,0BACvB,kCAAkCN,EAAKO,YAEzCK,EAAOF,KAAK,UAEd,CHvCIM,CAA4BhB,EAAMC,EAMtC,UItBgBgB,IACd,OAAO,CACT,CCKM,SAAUC,EACdlB,GAEA,OAAQmB,SAESjG,IAAbiG,GACAA,EAAS7B,OAASO,EAA8BiB,SAEhDM,EACEpB,EACAf,EACAgC,GACCI,GAAkBA,EAAQ,IAInC,CCfgB,SAAAC,EAGdC,EACAC,GAOA,MAAO,IAAIC,IACRN,IACC,QAAiBjG,IAAbiG,EACF,OAAOI,KAAwBE,GAGjC,GAAIN,EAAS7B,OAASQ,EAAyB4B,UAC7C,MAAM,IAAIrC,EACRO,EAAuB+B,2BACvB,6FAIJ,OAAOH,EAAsCL,KAAaM,EAAO,CAEvE,CC5BM,SAAUG,EACdT,GAEA,GACEA,EAAS7B,OAASO,EAA8BiB,UACT,IAAvCK,EAASU,0BAET,MAAM,IAAIxC,EACRO,EAAuB+B,2BACvB,4FAGN,EVlBA,SAAY/B,GACVA,EAAAA,EAAA,2BAAA,GAAA,6BACAA,EAAAA,EAAA,0BAAA,GAAA,4BACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,QAAA,GAAA,SACD,CAND,CAAYA,IAAAA,EAMX,CAAA,ICND,SAAYC,GACVA,EAAAA,EAAA,QAAA,IAAA,SACD,CAFD,CAAYA,IAAAA,EAEX,CAAA,ICFD,SAAYC,GACVA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,UAAA,GAAA,WACD,CAJD,CAAYA,IAAAA,EAIX,CAAA,ISKM,MAAMgC,EAMXR,GCVc,SACdhC,EAGAxC,GAEA,MAAO,CACLwC,OACAiB,UAAMrF,EACN6G,UAAU,EACVC,KAAM,IAAI9H,IACVU,MAAOkC,EAEX,aCVEqE,EACA7B,EAGAxC,GAIA,OAFA8E,EAAsCT,GAE/B,IACFA,EACH7B,OACA1E,MAAOkC,EAEX,ICrBA,IAAYmF,ECMN,SAAUC,EACdlG,EACA+E,EACAoB,EACAC,GAEA,GACE/C,EAAmBM,cACjByC,EACAxC,EAAuB+B,4BAEzB,CACA,MAAMU,WCERrG,EACA+E,EACAoB,GAEA,QAAuBjH,IAAnBiH,EAA8B,CAChC,QAAoBjH,IAAhB6F,EACF,MAAM,IAAI1B,EACRO,EAAuBkB,QACvB,kDAIJ,MAAO,CACLxB,KAAM2C,EAAkBxH,SACxBA,SAAUsG,EACVuB,YAAatG,EAAOhC,aAIxB,MAAO,CACLuI,MAAOJ,EACP7C,KAAM2C,EAAkBO,UAExBF,YAAatG,EAEjB,CD3BgCyG,CAC1BzG,EACA+E,EACAoB,GAEF,MAAM,IAAI9C,EACRO,EAAuB+B,2BACvB,4CAIJS,EAAM7C,yBE1BF,SACJmD,GAEA,OAAQA,EAAoBpD,MAC1B,KAAK2C,EAAkBO,UACrB,MAAO,YAAYE,EAAoBJ,YAAY/B,kBAAkBmC,EAAoBH,MAAM/B,eACjG,KAAKyB,EAAkBxH,SACrB,MAAO,YAAYiI,EAAoBJ,YAAY/B,qBAAqBmC,EAAoBjI,SAAS+F,eAE3G,CFqBEmC,CAAuBN,KACnB,CAAEO,MAAOR,IAIb,MAAMA,CACR,CG/BgB,SAAAS,EACdC,EAGAC,GAuBA,MAnB0D,CACxD/G,EACA+E,EACAoB,UAEuBjH,IAAnBiH,EA2FR,SACEW,EAGAC,GAIA,MAAMC,EAI2BC,EAC/BH,EACAC,GAGF,MAAO,CAAC/G,EAAgB+E,KACtBK,EACEpF,EAAOhC,YACP0E,EACAC,EClIU,SACdmE,EAGA/B,GAEA,OAAQd,IACN,MAAMiD,EACJjD,EAAc1F,WAAWG,IAAIqG,GAI/B,OAFAd,EAAc1F,WAAWiB,IAAIuF,EAAa+B,EAAeI,IAElDjD,CAAa,CAExB,CDqHMkD,CACEH,EAAsChH,GACtC+E,GAEH,CAEL,CAtHMqC,CAAeN,EAAgBC,EAA/BK,CACEpH,EACA+E,GA6CR,SACE+B,EAGAC,GAIA,MAAMC,EAI2BC,EAC/BH,EACAC,GAGF,MAAO,CACL/G,EACA+E,EACAoB,KAEA,IAmDJ,SACEnG,EACA+E,GAEA,MAAyB,mBAAX/E,QAAyCd,IAAhB6F,CACzC,CAxDQsC,CAAuBrH,EAAQ+E,GAWjC,MAAM,IAAI1F,MACR,kGAEE0F,GAAaP,YAAc,iBACdxE,EAAOhC,YAAYuG,SAdpCa,EACEpF,EACA0C,EACAC,EE5FQ,SACdmE,EAGAP,GAEA,OAAQtC,IACN,MAAMiD,EACJjD,EAAcrB,qBAAqB2D,GAKrC,OAHAtC,EAAcrB,qBAAqB2D,GACjCO,EAAeI,GAEVjD,CAAa,CAExB,CF8EQqD,CACEN,EAAsChH,GACtCmG,IAYV,CAnFMoB,CAAgBT,EAAgBC,EAAhCQ,CACEvH,EACA+E,EACAoB,GAMR,CAEA,SAASc,EACPH,EAGAC,GAQA,OACE/G,IAIA,MAAMwH,EAEMT,EAAgC/G,GAE5C,OACEmF,IAEAqC,EAAsCrC,GAE/B2B,EAAe3B,GACvB,CAEL,CGzDM,SAAUsC,EACd3G,GAEA,MAAMgG,EAEsBhB,EAC1BhC,EAAyB4D,gBACzB5G,GAGF,MAAO,CACLd,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,EP1CA,SAAYH,GACVA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,SAAA,GAAA,UACD,CAHD,CAAYA,IAAAA,EAGX,CAAA,IQHM,MAAM0B,EACX,oDCCF,MAAMC,EAAgC,CACpCtF,MACAuF,OACAC,QACAC,SACAC,OACAC,OACAC,QCII,SAAUC,EACdnI,GAEA,MAAMoI,EACJlE,EAAsBlE,ECjBgC,0BDmBjBd,IAAnCkJ,GACFhD,EACEpF,EACA0C,EACAC,EAQN,SACEyF,GAEA,OAAQnE,IACNmE,EAA+BC,SAC7B,CAACC,EAAkC/B,KDxBnC,IAAgCvC,OC0BkB9E,IAA9C+E,EAAcrB,qBAAqB2D,KD1BPvC,EC2BNsE,ED1BtBV,EAAmBW,SAASvE,MC4B5BC,EAAcrB,qBAAqB2D,GEpCvC,SACJvC,GAEA,MAAO,CACL6B,2BAA2B,EAC3BvC,KAAMQ,EAAyB4D,gBAC/BnD,UAAMrF,EACN6G,UAAU,EACVC,KAAM,IAAI9H,IACVU,MAAOoF,EAEX,CF0BYwE,CACEF,OAMHrE,EAEX,CA3BMwE,CACEL,GAIR,CGpBM,SAAUM,EAAW1F,GAEzB,OAAQhD,KCDJ,SAA8BA,GAMlC,QAAyBd,IALqBgF,EAC5ClE,EACA2H,GAIA,MAAM,IAAItE,EACRO,EAAuB+B,2BACvB,+DAA+D3F,EAAOuE,SAI1EoE,EAAmB3I,EAAQ2H,GAAiC,EAC9D,CDZIiB,CAAoB5I,GAEpBmI,EAAgDnI,QAElCd,IAAV8D,GACFoC,EACEpF,EACA0C,EACAC,GACCwC,IAAkC,IAC9BA,EACHnC,YAKV,UExBgB6F,EACdrF,EACAsF,EACAC,GAKA,IAAIC,EAgBJ,OAlBExF,EAAQyF,6BAA8B,GAKtCD,EAA+B,IAC1BF,EAAsBlG,sBAG3BmG,EAAanG,qBAAqBsG,KAChC,CAACC,EAA4C5C,KAC3CyC,EAA6BzC,GAAS4C,CAAoB,KAI9DH,EAA+BD,EAAanG,qBAGvCoG,CACT,UCxBgBI,EACd5F,EACAsF,EACAC,GAIA,IAAIM,EAUJ,OAPEA,EALgC7F,EAAQ8F,mBAAoB,EAKvC,IAAIpL,IACvBT,EAAMqL,EAAsBvK,WAAYwK,EAAaxK,aAGlCwK,EAAaxK,WAG7B8K,CACT,CCbM,SAAUE,EAAW/F,GAazB,OAXmCxD,IACjC,MAAM8I,EAAuC/E,EAAiBP,EAAQQ,MAEtEoB,EACEpF,EACA0C,EACAC,EAQN,SACEa,EACAsF,GAEA,MAAMU,EACJT,IACmB,CACnBnG,qBAAsBiG,EACpBrF,EACAsF,EACAC,GAEFlG,UAAWkG,EAAalG,UACxBtE,WAAY6K,EACV5F,EACAsF,EACAC,GAEF/F,MAAO+F,EAAa/F,QAGtB,OAAOwG,CACT,CA7BMC,CAAqCjG,EAASsF,GAC/C,CAIL,CChBM,SAAUY,EACdlG,GAGA,OAAQxD,IACN,MAAM2J,EAAgCC,EAAY5J,GAElD,QAAiBd,IAAbyK,EACF,MAAM,IAAItG,EACRO,EAAuB+B,2BACvB,gCAAgC3F,EAAOuE,sBAI3CgF,EAAW,IACN/F,EACHQ,KAAM2F,GAFRJ,CAGGvJ,EAAO,CAEd,CCjBM,SAAU6J,EACd/I,GAEA,MAAMgG,EAEsBhB,EAC1BhC,EAAyBgG,kBACzBhJ,GAGF,MAAO,CACLd,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,CCpCM,SAAU2D,EACd/F,GAEA,OAAQmB,SACWjG,IAAbiG,GACFC,EACEpB,EACAf,EACAgC,GACCI,GAAkBA,EAAQ,IAInC,CCXM,SAAU2E,EACdlD,GAMA,OACE3B,IAEA,MAAM8E,EACJ9E,GCfG,CACL7B,KAAMO,EAA8BiB,QACpCP,UAAMrF,EACN6G,UAAU,EACVC,KAAM,IAAI9H,KDaV,GAAQ+L,EAAgB3G,OACjBQ,EAAyB4B,UAC5B,MAAM,IAAIrC,EACRO,EAAuB+B,2BACvB,+HAGF,OAAOmB,EAAemD,GAG9B,CErBM,SAAUC,EACd3F,GAEA,MAAMuC,EAGJkD,ECVE,SACJzF,GAIA,OACEY,IAEA,QAAsBjG,IAAlBiG,EAASZ,KACX,MAAM,IAAIlB,EACRO,EAAuB+B,2BACvB,yCAMJ,OAFAR,EAASZ,KAAOA,EAETY,CAAQ,CAEnB,CDRMgF,CAAmB5F,IAGvB,MAAO,CACLvE,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,CErCM,SAAUgE,EACdjF,GAEA,GAAIA,EAASY,SACX,MAAM,IAAI1C,EACRO,EAAuB+B,2BACvB,4CAMJ,OAFAR,EAASY,UAAW,EAEbZ,CACT,UCTgBY,IACd,MAAMe,EAGJkD,EACEI,GAGJ,MAAO,CACLpK,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,UChCgBiE,IACd,MAAO,CACLrK,EACA+E,EACAuF,KAEA,IACElF,EACEpF,EAAOhC,YACP0E,EACAC,GCZN4H,EDa8CxF,ECXtCI,IACN,QAAmDjG,IAA/CiG,EAAStC,UAAUC,wBACrB,MAAM,IAAIO,EACRO,EAAuB+B,2BACvB,iDAMJ,OAFAR,EAAStC,UAAUC,wBAA0ByH,EAEtCpF,CAAQ,IDGb,MAAOiB,GACPF,EAAqBlG,EAAQ+E,OAAa7F,EAAWkH,GCjBrD,IACJmE,EDmBF,UEjBgBC,IACd,MAAO,CACLxK,EACA+E,EACAuF,KAEA,IACElF,EACEpF,EAAOhC,YACP0E,EACAC,GCZN4H,EDayCxF,ECXjCI,IACN,QAAgDjG,IAA5CiG,EAAStC,UAAUE,qBACrB,MAAM,IAAIM,EACRO,EAAuB+B,2BACvB,8CAMJ,OAFAR,EAAStC,UAAUE,qBAAuBwH,EAEnCpF,CAAQ,IDGb,MAAOiB,GACPF,EAAqBlG,EAAQ+E,OAAa7F,EAAWkH,GCjBrD,IACJmE,EDmBF,CEdgB,SAAAE,EACd9L,EACAC,GAEA,MAAMkI,EAGJkD,ECXY,SACdrL,EACAC,GAIA,OACEuG,IAEA,GAAIA,EAASa,KAAK0E,IAAI/L,GACpB,MAAM,IAAI0E,EACRO,EAAuB+B,2BACvB,yDAMJ,OAFAR,EAASa,KAAKxG,IAAIb,EAAKC,GAEhBuG,CAAQ,CAEnB,CDRMwF,CAAkBhM,EAAKC,IAG3B,MAAO,CACLoB,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgBiD,EAA3BlD,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,UExCgBwE,KACd,MAAO,CACLtH,KAAMQ,EAAyB4B,UAEnC,CCDO,MAAMmF,GAGXvF,EACEsF,ICFE,SACJzF,GAIA,GAFAS,EAAsCT,GAYxC,SACEA,GAEA,YACoBjG,IAAlBiG,EAASZ,MAAsBY,EAASY,UAAYZ,EAASa,KAAK9F,KAAO,CAE7E,CAhBM4K,CAAmB3F,GACrB,MAAM,IAAI9B,EACRO,EAAuB+B,2BACvB,+HAIJ,OAAOiF,IACT,aCdgBlF,KACd,MAAMoB,EAGJ+D,KAEF,MAAO,CACL7K,EACA+E,EACAoB,KAEA,SACyBjH,IAAnBiH,EACFU,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,GAGF8B,EAAWC,EAAgB5B,EAA3B2B,CACE7G,EACA+E,EACAoB,GAGJ,MAAOC,GACPF,EAAqBlG,EAAQ+E,EAAaoB,EAAgBC,IAGhE,OC9Ba2E,GACiBC,KAA5B,WAAAhN,CAA4BgN,GAAA/M,KAAI+M,KAAJA,EAErB,MAAAC,CAAOC,GACZ,OAAO,IAAIH,GAA0B,CACnCG,OACAC,SAAUlN,KAAK+M,OAIZ,CAAC7H,OAAOiI,YACb,IAAIC,EAAqDpN,KAAK+M,KAE9D,MAAO,CACLM,KAAM,KACJ,QAAapM,IAATmM,EACF,MAAO,CACLE,MAAM,EACN3M,WAAOM,GAIX,MAAMgM,EAAUG,EAAKH,KAGrB,OAFAG,EAAOA,EAAKF,SAEL,CACLI,MAAM,EACN3M,MAAOsM,EACR,ICxBO,SAAAM,GACd/F,EACA3E,GAEI2E,EAAOgG,eAAef,IAAI5J,IAahC,SACE2E,EACA3E,GAEA,MAAM4K,GATNC,EAUkC,IAC3BlG,EAAOgG,eACV3K,GAVG,IAAI6K,GAAoBzC,IAAI0C,GAA4BlH,KAAK,SAHtE,IACEiH,EAeA,MAAM,IAAItI,EACRO,EAAuBiI,SACvB,8BAA8BH,IAElC,CA1BII,CAAWrG,EAAQ3E,GAGrB2E,EAAOgG,eAAe9L,IAAImB,EAC5B,OCLaiL,GACFV,GAET,WAAArN,CAAYqN,GACVpN,MAAKoN,EAAQA,EAGf,QAAW9G,GACT,OAAOtG,MAAKoN,EAAMH,KAAK3G,KAGzB,QAAWyB,GACT,OAAO/H,MAAKoN,EAAMH,KAAKlF,KAGzB,qBAAWlF,GACT,OAAO7C,MAAKoN,EAAMH,KAAKpK,kBAGlB,WAAAkL,GACL,QAA4B9M,IAAxBjB,MAAKoN,EAAMF,SAIf,OAAO,IAAIY,GAA8B9N,MAAKoN,EAAMF,oBCvBxCc,GACdxG,EACAyG,EACA1I,GAEA,MAAM2I,EACJ,IAAIJ,GAA8BG,EAAoBlB,MAElDlK,EACJ0C,GAAS4I,yBAA2BD,EAAgBrL,kBAMtD,MAJ4C,IACtC2E,EAAO4G,YAAYvL,IAAsB,IAGxBwL,QAAQ3K,GAC7BA,EAAQ4K,cAAcJ,IAE1B,CC5BM,SAAUK,GACdnB,GAEA,YAEEnM,IADCmM,EAAoDoB,YAGzD,UCCgBC,GACdC,EACAjM,EACA2K,GAEA,IAAIvK,EACA8L,EAEAJ,GAAoCnB,IACtCvK,EAAoBuK,EAAK1J,QAAQkL,wBACjCD,EAA0BvB,EAAK1J,QAAQb,oBAEvCA,EAAoBuK,EAAKvK,kBACzB8L,EAA0BvB,EAAK7K,QAAQmB,QAAQb,mBAG7CwB,MAAMC,QAAQoK,GA4BpB,SACEA,EACAjM,EACAI,EACA8L,GAEA,GAAwB,IAApBD,EAASxL,OAIN,CACL,MAAM2L,EAAuB,0CAA0ClB,EAA2B9K,mCAIpG6L,EAASzD,KAAKvH,GClEV,SAA2BA,GAC/B,OAAQA,EAAQqC,MACd,KAAK9G,EAAkBI,SACrB,MAAO,YAAYqE,EAAQqC,8BAA8B4H,EAA2BjK,EAAQb,gCAAgCa,EAAQqB,gCAAgCrB,EAAQoL,mBAAmBxI,UACjM,KAAKrH,EAAkBM,mBACrB,MAAO,YAAYmE,EAAQqC,8BAA8B4H,EAA2BjK,EAAQb,sCAAsC8K,EAA2BjK,EAAQkL,8BACvK,QACE,MAAO,YAAYlL,EAAQqC,8BAA8B4H,EAA2BjK,EAAQb,gCAAgCa,EAAQqB,WAE1I,CDyDqDgK,CAAiBrL,EAAQA,WAAU+C,KAAK,4CAE3DuI,GAAiCnM,EAAmB8L,OAElF,MAAM,IAAIvJ,EAAmBO,EAAuBiI,SAAUiB,GAZzDpM,GACHwM,GAA0BpM,EAAmB8L,EAanD,CAhDIO,CACER,EACAjM,EACAI,EACA8L,GA8CN,SACED,EACAjM,EACAI,EACA8L,GAEA,QAAiB1N,IAAbyN,GAA2BjM,EAG7B,OAFAwM,GAA0BpM,EAAmB8L,EAIjD,CAtDIQ,CACET,EACAjM,EACAI,EACA8L,EAGN,CAEA,SAASM,GACPpM,EACA8L,GAEA,MAAME,EAAuB,mCAAmClB,EAA2B9K,2CAE3DmM,GAAiCnM,EAAmB8L,OAEpF,MAAM,IAAIvJ,EAAmBO,EAAuBiI,SAAUiB,EAChE,CAsCA,SAASG,GACPnM,EACA8L,GAEA,YAAmC1N,IAA5B0N,EACH,GAAGhB,EAA2B9K,oBAC9B8K,EAA2BgB,EACjC,CE5FgB,SAAAS,GACdC,EACA5M,GAEA,GANwC,IAOtC4M,EAA8Bb,aAAatL,OAgB7CuL,GACEY,EAA8Bb,aAC9B/L,EACA4M,OApBF,CAIE,MAAOC,GACLD,EAA8Bb,aAE5BD,GAAoCe,IACtCF,GACEE,EACA7M,GAYR,CCzBgB,SAAA8M,GACdC,EACA/M,GAEA,GAAI4B,MAAMC,QAAQkL,EAAYd,WANU,IAOlCc,EAAYd,SAASxL,OAD3B,CAEI,MAAOoM,GAAsCE,EAAYd,SAIrDH,GAAoCe,IACtCF,GACEE,EACA7M,QAQRgM,GACEe,EAAYd,SACZjM,EACA+M,EAEJ,CCPM,SAAUC,GAAKjI,GACnB,MAAMO,EAAkC,IAAI9H,SAETgB,IAA/BuG,EAAOkI,gBAAgBC,KACzB5H,EAAKxG,IAAIiG,EAAOkI,gBAAgBC,IAAIjP,IAAK8G,EAAOkI,gBAAgBC,IAAIhP,OAGtE,MAAMsN,EACJ,IAAInB,GAA0B,CAC5BG,KAAM,CACJ3G,KAAMkB,EAAOkI,gBAAgBpJ,KAC7BzD,kBAAmB2E,EAAOkI,gBAAgB7M,kBAC1CkF,QAEFmF,cAAUjM,IAGR2O,EACJ5B,GAA6BxG,EAAQyG,GAEjC4B,EAAyC,GAEzCL,EAA+B,CACnCd,SAAUmB,EACVtN,YAAQtB,EACR4B,kBAAmB2E,EAAOkI,gBAAgB7M,mBAY5C,GATAgN,EAAoB7M,QACf8M,GACDtI,EACAyG,EACA2B,EACAJ,KAIChI,EAAOkI,gBAAgBK,WAAY,CACtCR,GACEC,EACAhI,EAAOkI,gBAAgBjN,aAAc,GAGvC,MAAO6M,GAAsCO,EAE5CL,EAA0Cd,SAAWY,EAGxD,MAAO,CACLU,KAAM,CACJC,KAAMT,GAGZ,CAEA,SAASU,GACP1I,EACA9D,EACAuK,EACAkC,GAEA,MAIMC,EAAiC,CACrC1M,QAASA,EACTsC,cANmCwB,EAAO1B,iBAC1CpC,EAAQoL,oBAMRuB,kBAAmB,GACnB9N,OAAQ4N,EACRG,eAAgB,IAAIrQ,KAUtB,OA8IF,SACEuH,EACAyG,GAEA,MAAMjI,EAA+BwB,EAAO4F,KAAKpH,cAEjD,IAAK,MACHsC,EACAiI,KACGvK,EAAcrB,qBAAqB6L,UACtChJ,EAAO4F,KAAKiD,kBAAkB/H,GAC5BmI,GACEjJ,EACAyG,EACAsC,GAIN,IAAK,MAAOzJ,EAAayJ,KAAoBvK,EAAc1F,WAAY,CACrE,MAAMoQ,EACJD,GACEjJ,EACAyG,EACAsC,QAGoBtP,IAApByP,GACFlJ,EAAO4F,KAAKkD,eAAe/O,IAAIuF,EAAa4J,GAIhD,OAAOlJ,EAAO4F,IAChB,CA9KSuD,CAP8B,CACnCvC,YAAa5G,EAAO4G,YACpBtI,iBAAkB0B,EAAO1B,iBACzBsH,KAAMgD,EACN5C,eAAgBhG,EAAOgG,gBAGKS,EAChC,CAEA,SAASwC,GACPjJ,EACAyG,EACAsC,GAEA,GAAIA,EAAgBlL,OAASQ,EAAyB4B,UACpD,OAGF,MAAM5E,EAAuC+N,EAAsBnL,GACjE8K,EAAgB5P,OAEd4P,EAAgB5P,MAAMkQ,SACtBN,EAAgB5P,MAEdmQ,EACJ7C,EAAoBjB,OAAO,CACzB1G,KAAMiK,EAAgBjK,KACtBzD,oBACAkF,KAAMwI,EAAgBxI,OAGpB6H,EACJ5B,GAA6BxG,EAAQsJ,GAEjCjB,EAAyC,GAEzCL,EAA+B,CACnCd,SAAUmB,EACVtN,OAAQiF,EAAO4F,KACfvK,qBAYF,GATAgN,EAAoB7M,QACf8M,GACDtI,EACAsJ,EACAlB,EACAJ,IAIAe,EAAgBlL,OAASQ,EAAyB4D,gBAAiB,CACrE8F,GACEC,EACAe,EAAgBzI,UAGlB,MAAOwH,GAAsCO,EAE5CL,EAA0Cd,SAAWY,EAGxD,OAAOE,CACT,CAEA,SAASM,GACPtI,EACAyG,EACA8C,EACAZ,GAEA,MAAMtN,EACJ0L,GAAoC4B,GAChCA,EAAWzM,QAAQkL,wBACnBuB,EAAWtN,kBAEjB0K,GAAiB/F,EAAQ3E,GAEzB,MAAMmO,EAAsC,GAE5C,IAAK,MAAMtN,KAAWqN,EACpB,OAAQrN,EAAQqC,MACd,KAAK9G,EAAkBI,SACrB2R,EAAiBhO,KACfkN,GACE1I,EACA9D,EACAuK,EACAkC,IAGJ,MAEF,KAAKlR,EAAkBM,mBAAoB,CACzC,MAAM+P,EACJ2B,GACEzJ,EACAyG,EACAvK,EACAyM,GAGJa,EAAiBhO,KAAKsM,GAEtB,MAEF,QACE0B,EAAiBhO,KAAK,CACpBU,QAASA,EACTnB,OAAQ4N,IAOhB,OAFA3I,EAAOgG,eAAelM,OAAOuB,GAEtBmO,CACT,CAEA,SAASC,GACPzJ,EACAyG,EACAvK,EACAyM,GAEA,MAAMC,EAA+C,CACnD1M,UACAnB,OAAQ4N,EACR3B,aAAc,IAGVoB,EACJ5B,GAA6BxG,EAAQyG,EAAqB,CACxDE,wBAAyBzK,EAAQkL,0BAYrC,OATAwB,EAAU5B,aAAaxL,QAClB8M,GACDtI,EACAyG,EACA2B,EACAQ,IAIGA,CACT,UCjPgBc,GACd1J,EACA3E,EACAlC,GAEA,MAAMoC,EACJyE,EAAO2J,eAAetO,GAExB,YAAoB5B,IAAhB8B,EACKpC,EAGLyQ,EAAUzQ,GACL0Q,GACL7J,EACA7G,EACAoC,EAAYmC,OAAOiI,aAWzB,SACE3F,EACA7G,EACA2Q,GAEA,IAAIC,EAA2C5Q,EAE3C6Q,EACFF,EAAoBjE,OAEtB,MAAyC,IAAlCmE,EAAyBlE,MAAe,CAC7C,MAAMmE,EACJD,EAAyB7Q,MAAM6G,EAAOkK,QAASH,GAEjD,GAAIH,EAAUK,GACZ,OAAOJ,GACL7J,EACAiK,EACAH,GAGFC,EAAiBE,EAGnBD,EAA2BF,EAAoBjE,OAGjD,OAAOkE,CACT,CAnCSI,CACLnK,EACA7G,EACAoC,EAAYmC,OAAOiI,YAEvB,CAgCAyE,eAAeP,GACb7J,EACA7G,EACA2Q,GAEA,IAAIC,QAAiD5Q,EAEjD6Q,EACFF,EAAoBjE,OAEtB,MAAyC,IAAlCmE,EAAyBlE,MAC9BiE,QAAuBC,EAAyB7Q,MAC9C6G,EAAOkK,QACPH,GAGFC,EAA2BF,EAAoBjE,OAGjD,OAAOkE,CACT,UCzEgBM,GACdrK,EACA9D,EACA/C,GAEA,IAAImR,EAAqDnR,EAEzD,QAA6BM,IAAzByC,EAAQqO,aAA4B,CACtC,MAAMA,EAA8CrO,EAAQqO,aAG1DD,EADEV,EAAUU,GACOA,EAAiBE,MACjCC,GACCF,EAAavK,EAAOkK,QAASO,KAGdF,EAAavK,EAAOkK,QAASI,GAIpD,OAAOZ,GACL1J,EACA9D,EAAQb,kBACRiP,EAEJ,CC5BM,SAAUI,GASdC,GAKA,MAAO,CACL3K,EACA9D,KAEA,GAAIA,EAAQ0O,MAAMC,QAChB,OAAO3O,EAAQ0O,MAAMzR,MAGvB,MAAM2R,EAAsCT,GAC1CrK,EACA9D,EACAyO,EAAQ3K,EAAQ9D,IAQlB,OALAA,EAAQ0O,MAAQ,CACdC,SAAS,EACT1R,MAAO2R,GAGFA,CAAa,CAExB,CCnCO,MAAMC,GAGeL,ICNZ,SACdM,EACA9O,GAEA,OAAOA,EAAQ/C,KACjB,ICTM,SAAU8R,GAAWC,GACzB,OAAOA,CACT,CCQgB,SAAAC,GAOdC,EACAT,GAEA,MAAO,CAAC3K,EAA0BqL,KAChC,MAAMnP,EAAoBkP,EAAWC,GAErC,OAAQnP,EAAQqB,OACd,KAAKlG,EAAmBE,UAAW,CACjC,GAAI2E,EAAQ0O,MAAMC,QAChB,OAAO3O,EAAQ0O,MAAMzR,MAGvB,MAAM2R,EAAsCQ,GAC1CtL,EACAqL,EACAnP,EACAyO,GAQF,OALAzO,EAAQ0O,MAAQ,CACdC,SAAS,EACT1R,MAAO2R,GAGFA,EAET,KAAKzT,EAAmBC,QAAS,CAC/B,GAAI0I,EAAOuL,kBAAkBtG,IAAI/I,EAAQsP,IACvC,OAAOxL,EAAOuL,kBAAkBtS,IAC9BiD,EAAQsP,IAIZ,MAAMV,EAAsCQ,GAC1CtL,EACAqL,EACAnP,EACAyO,GAKF,OAFA3K,EAAOuL,kBAAkBxR,IAAImC,EAAQsP,GAAIV,GAElCA,EAET,KAAKzT,EAAmBG,UACtB,OAAO8T,GAAmBtL,EAAQqL,EAAKnP,EAASyO,IAGxD,CAEA,SAASW,GACPtL,EACAqL,EACAnP,EACAyO,GAEA,OAAON,GACLrK,EACA9D,EACAyO,EAAQ3K,EAAQqL,GAEpB,CCtEO,MCDMI,GDUgE,CAK3Ed,GAIGQ,GAAcF,GAASN,GChBAe,ECNZ,SACd1L,EACA9D,GAEA,OAAOA,EAAQ/C,MAAM6G,EAAOkK,QAC9B,ICDO,MAAMyB,GAGejB,ICPZ,SAEd1K,EAA0B9D,GAC1B,OAAOA,EAAQ0P,QAAQ5L,EAAOkK,QAChC,aCDgB2B,GACdC,EACA5P,EACAmB,GAEA,MAAM0O,EAaR,SACED,EACA5P,EACAmB,GAEA,QAAgC5D,IAA5B4D,EACF,OAGF,KAAIA,KAA2ByO,GA+B7B,MAAM,IAAIlO,EACRO,EAAuB6N,WACvB,gBAAgB3O,EAAwB0B,wCAAwC7C,EAAQoL,mBAAmBxI,4DAhC7G,GAAiD,mBAAtCgN,EAASzO,GAwBlB,MAAM,IAAIO,EACRO,EAAuB6N,WACvB,gBAAgB3O,EAAwB0B,sCAAsC7C,EAAQoL,mBAAmBxI,2FA1BhD,CAC3D,IAAIiN,EAEJ,IAEEA,EAAsBD,EAASzO,KAC/B,MAAOsD,GACP,MAAM,IAAI/C,EACRO,EAAuB6N,WACvB,wCAAwC3O,EAAwB0B,yDAAyD7C,EAAQoL,mBAAmBxI,QACpJ,CACEqC,MAAOR,IAKb,GAAIiJ,EAAUmC,GACZ,OAoBR3B,eACElO,EACAmB,EACA0O,GAEA,UACQA,EACN,MAAOpL,GACP,MAAM,IAAI/C,EACRO,EAAuB6N,WACvB,wCAAwC3O,EAAwB0B,yDAAyD7C,EAAQoL,mBAAmBxI,QACpJ,CACEqC,MAAOR,IAIf,CApCesL,CACL/P,EACAmB,EACA0O,GAeV,CA1DoDG,CAChDJ,EACA5P,EACAmB,GAGF,OAAIuM,EAAUmC,GACLA,EAAoBvB,MAAK,IAAMsB,IAGjCA,CACT,CCfM,SAAUK,GAIdC,GAUA,MAAO,CACLC,EACArM,EACA4F,KAEA,MAAMkG,EAC+B,IAAIlG,EAAK1J,QAAQoL,sBACjD+E,GAGCC,EACJF,EAAsBpM,EAAQ8L,EAAUlG,GAE1C,OAAIgE,EAAU0C,GACLA,EAA2B9B,MAChC,IACEqB,GACEC,EACAlG,EAAK1J,QACL0J,EAAKpH,cAAcpB,UAAUC,2BAK9BwO,GACLC,EACAlG,EAAK1J,QACL0J,EAAKpH,cAAcpB,UAAUC,wBAC9B,CAEL,CC5CO,MAAMkP,GAGe7B,ICPZ,SAEd1K,EAA0B9D,GAC1B,OAAOA,EAAQsQ,SAASxM,EAAOkK,QACjC,ICLM,SAAUuC,GACd7G,GAEA,OAAOA,EAAK1J,OACd,CCoBA,MAAMkQ,GCjBA,SACJM,GASA,MAAO,CACL1M,EACA8L,EACAlG,KAEA,MAAM+G,EAA8C,GAEpD,IAAK,MAAOrN,EAAasN,KAAiBhH,EAAKkD,eAAgB,CAC7D,MAAMpJ,EACJkG,EAAKpH,cAAc1F,WAAWG,IAAIqG,GAEpC,QAAiB7F,IAAbiG,EACF,MAAM,IAAI9B,EACRO,EAAuB6N,WACvB,mCAAmC1M,EAAYP,2BAKjDW,EAAS7B,OAASQ,EAAyB4B,gBACjBxG,IAA1BmT,EAAa1F,WAEb4E,EAASxM,GAAeoN,EAAmB1M,EAAQ4M,GAE/ChD,EAAUkC,EAASxM,KACrBqN,EAA2BnR,KACzB,WACEsQ,EAASxM,SAAqBwM,EAASxM,EACxC,EAFD,KAQR,GAAIqN,EAA2BjR,OAAS,EACtC,OAAOmR,QAAQC,IAAIH,GAA4BnC,MAAK,KAAe,IAGzE,CD3B4BuC,CAA2BL,IAEjDM,GE3BA,SACJC,GA2BA,OAnBA,SAASC,EACPlN,EACA4F,GAEA,MAAMuH,EAA4B,GAElC,IAAK,MAAMC,KAAexH,EAAKoB,aACzBD,GAAoCqG,GACtCD,EAAe3R,QACV0R,EAA0ClN,EAAQoN,IAGvDD,EAAe3R,KAAKyR,EAAmBjN,EAAQoN,IAInD,OAAOD,EAIX,CFCiBE,CAA0CJ,IAErDK,YG3BJC,EAIAC,EAKArB,GASA,MAAO,CACLnM,EACA4F,KAEA,MAAMyG,EACJkB,EAAwCvN,EAAQ4F,GAElD,OAAIgE,EAAUyC,GACLmB,EACLnB,EACArM,EACA4F,GAIGuG,EACLE,EACArM,EACA4F,EACD,CAEL,CHL4B6H,CItCtB,SAIJf,GAQA,MAAO,CACL1M,EACA4F,KAEA,MAAM8H,EAAuC,GAE7C,IAAK,MAAMC,KAAoB/H,EAAKiD,uBACTpP,IAArBkU,EACFD,EAA0BlS,UAAK/B,GAE/BiU,EAA0BlS,KACxBkR,EAAmB1M,EAAQ2N,IAKjC,OAAOD,EAA0BE,KAAKhE,GAClCiD,QAAQC,IAAIY,GACZA,CAAyB,CAEjC,CJQEG,CAAkDnB,IK1C9C,SAIJP,GAUA,OAAO/B,MACLiC,EACArM,EACA4F,KAEA,MAAM8H,QAA6CrB,EAEnD,OAAOF,EACLuB,EACA1N,EACA4F,EACD,CAEL,CLgBE4H,CACErB,GAAgDC,KAElDD,GAAgDC,KAG5C0B,GMvCsB,CAC1BnD,GAIGQ,GAAcsB,GAAwB9B,GNqCfoD,CAC1BT,IAGI,SAAU3C,GAAQ3K,GAGtB,OAAO0M,GAAmB1M,EAFWA,EAAOgO,WAAWxF,KAAKC,KAG9D,CAEA,SAASwE,GACPjN,EACA8H,GAEA,OAAQA,EAAgB5L,QAAQqC,MAC9B,KAAK9G,EAAkBC,cACrB,OAAOqT,GAA4B/K,EAAQ8H,EAAgB5L,SAC7D,KAAKzE,EAAkBE,aACrB,OAAO8T,GAA2BzL,EAAQ8H,EAAgB5L,SAC5D,KAAKzE,EAAkBG,QACrB,OAAO+T,GAAsB3L,EAAQ8H,EAAgB5L,SACvD,KAAKzE,EAAkBI,SACrB,OAAOiW,GACL9N,EACA8H,GAEJ,KAAKrQ,EAAkBK,SACrB,OAAOyU,GAAuBvM,EAAQ8H,EAAgB5L,SAE5D,CAEA,SAASwQ,GACP1M,EACAgI,GAEA,QAA6BvO,IAAzBuO,EAAYd,SAIhB,OAAIrK,MAAMC,QAAQkL,EAAYd,UAOhC,SACElH,EACAkH,GAEA,MAAMiG,EAA4B,GAElC,IAAK,MAAMjR,KAAWgL,EAChBH,GAAoC7K,GACtCiR,EAAe3R,QACVwR,GAAqChN,EAAQ9D,IAGlDiR,EAAe3R,KAAKyR,GAAmBjN,EAAQ9D,IAInD,GAAIiR,EAAeS,KAAKhE,GACtB,OAAOiD,QAAQC,IAAIK,GAGrB,OAAOA,CACT,CA3BWc,CAAkCjO,EAAQgI,EAAYd,UA6BjE,SACElH,EACA9D,GAEA,GAAI6K,GAAoC7K,GAAU,CAChD,MAAMiR,EAA4BH,GAChChN,EACA9D,GAGF,GAA8B,IAA1BiR,EAAezR,OACjB,OAAOyR,EAAe,GAEtB,MAAM,IAAIvP,EACRO,EAAuB6N,WACvB,2DAIJ,OAAOiB,GAAmBjN,EAAQ9D,EAEtC,CA/CSgS,CAAgClO,EAAQgI,EAAYd,SAC7D,CO9FM,SAAUiH,GACdjS,GAEA,YAEEzC,IADCyC,EAAiEqB,KAGtE,CCiCA,SAAS6Q,GACP5P,EACAsN,GAEA,QACmDrS,IAAjD+E,EAAcpB,UAAUE,sBAC0C,mBAA3DwO,EAAStN,EAAcpB,UAAUE,sBAExC,OACEwO,EACEtN,EAAcpB,UAAUE,uBAIhC,UCvDgB+Q,GACdrO,EACA3E,EACAlC,GAEA,MAAMoD,EACJyD,EAAOsO,iBAAiBjT,GAE1B,QAAsB5B,IAAlB8C,EAIJ,OAAIqN,EAAUzQ,GACLoV,GACLpV,EACAoD,EAAcmB,OAAOiI,aAU3B,SACExM,EACAqV,GAEA,IAAIC,EAEAD,EAAsB3I,OAE1B,MAA2C,IAApC4I,EAA2B3I,MAAe,CAC/C,MAAM4I,EACJD,EAA2BtV,MAAMA,GAEnC,GAAIyQ,EAAU8E,GACZ,OAAOH,GACLpV,EACAqV,GAIJC,EAA6BD,EAAsB3I,OAEvD,CA3BS8I,CACLxV,EACAoD,EAAcmB,OAAOiI,YAEzB,CAyBAyE,eAAemE,GACbpV,EACAqV,GAEA,MAAM1D,QAAgD3R,EAEtD,IAAIsV,EAEAD,EAAsB3I,OAE1B,MAA2C,IAApC4I,EAA2B3I,YAC1B2I,EAA2BtV,MAAM2R,GAEvC2D,EAA6BD,EAAsB3I,MAEvD,CC9CgB,SAAA+I,GACd5O,EACA9D,GAEA,MAAM2S,EFHQ,SACd7O,EACA9D,GAEA,GAAIA,EAAQqC,OAAS9G,EAAkBI,SAAU,CAC/C,MAAM2G,EAA+BwB,EAAO1B,iBAC1CpC,EAAQoL,oBAGJwE,EAAuD5P,EAAQ0O,MAClEzR,MAEH,OAAIyQ,EAAUkC,GACLA,EAAStB,MACbsB,GACCsC,GAA0B5P,EAAesN,KAGtCsC,GAA0B5P,EAAesN,GAGtD,CElBiDgD,CAC7C9O,EACA9D,GAGF,YAAyBzC,IAArBoV,EACKE,GAA2C/O,EAAQ9D,GAGrD2S,EAAiBrE,MAAK,IAC3BuE,GAA2C/O,EAAQ9D,IAEvD,CAEA,SAAS6S,GACP/O,EACA9D,GAEA,MAAM8S,EAA2C9S,EAAQ0O,MAEzD,OAAIhB,EAAUoF,EAAa7V,OAClB6V,EAAa7V,MAAMqR,MACvBM,GACCmE,GACEjP,EACA9D,EACA4O,KAKDmE,GACLjP,EACA9D,EACA8S,EAAa7V,MAEjB,CAEA,SAAS8V,GACPjP,EACA9D,EACA4O,GAEA,IAAIoE,EAEJ,QAA+BzV,IAA3ByC,EAAQiT,eAA8B,CAIxCD,GAAqBE,EAFnBlT,EAAQiT,gBAE+BrE,GAG3C,YAA2BrR,IAAvByV,EACKb,GACLrO,EACA9D,EAAQb,kBACRyP,GAGKoE,EAAmB1E,MAAK,IAC7B6D,GACErO,EACA9D,EAAQb,kBACRyP,IAIR,CCxEgB,SAAAuE,GACdrP,EACAkH,GAEA,QAAiBzN,IAAbyN,EACF,OAGF,MAAMoI,EAmBR,SACEpI,GAEA,MAAMqI,EAA4D,GAElE,IAAK,MAAMrT,KAAWgL,EAElBiH,GAAgBjS,IAChBA,EAAQqB,QAAUlG,EAAmBE,WACrC2E,EAAQ0O,MAAMC,SAEd0E,EAAiB/T,KAAKU,GAI1B,OAAOqT,CACT,CAlCIC,CAAqCtI,GAEjCuI,EAA8C,GAEpD,IAAK,MAAMvT,KAAWoT,EAAyB,CAC7C,MAAMJ,EACJN,GAA4B5O,EAAQ9D,QAEXzC,IAAvByV,GACFO,EAA2BjU,KAAK0T,GAIpC,OAAIO,EAA2B/T,OAAS,EAC/BmR,QAAQC,IAAI2C,GAA4BjF,MAAK,KAAe,SADrE,CAGF,CC3CgB,SAAAkF,GACd1P,EACAhF,GAEA,MAAMkM,EACJlH,EAAO2P,sBAAsB3U,GAE/B,OAAOqU,GAA6BrP,EAAQkH,EAC9C,CCNgB,SAAA0I,GACd5P,EACA3E,GAEA,MAAM6L,EACJlH,EAAO4G,YAAYvL,GAErB,OAAOgU,GAA6BrP,EAAQkH,EAC9C"}
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/common/models/SingleInmutableLinkedList.ts","../../src/planning/actions/addBranchService.ts","../../src/binding/models/BindingMetadataImplementation.ts","../../src/planning/calculations/buildFilteredServiceBindings.ts","../../src/planning/calculations/isPlanServiceRedirectionBindingNode.ts","../../src/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.ts","../../src/binding/calculations/stringifyBinding.ts","../../src/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.ts","../../src/planning/calculations/checkServiceNodeSingleInjectionBindings.ts","../../src/planning/calculations/plan.ts","../../src/resolution/actions/resolveBindingServiceActivations.ts","../../src/resolution/actions/resolveBindingActivations.ts","../../src/resolution/actions/resolveSingletonScopedBinding.ts","../../src/resolution/actions/resolveConstantValueBinding.ts","../../src/resolution/calculations/resolveConstantValueBindingCallback.ts","../../src/common/calculations/getSelf.ts","../../src/resolution/actions/resolveScoped.ts","../../src/resolution/actions/resolveScopedBinding.ts","../../src/resolution/actions/resolveDynamicValueBinding.ts","../../src/resolution/calculations/resolveDynamicValueBindingCallback.ts","../../src/resolution/actions/resolveFactoryBinding.ts","../../src/resolution/calculations/resolveFactoryBindingCallback.ts","../../src/resolution/actions/resolvePostConstruct.ts","../../src/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.ts","../../src/resolution/actions/resolveProviderBinding.ts","../../src/resolution/calculations/resolveProviderBindingCallback.ts","../../src/resolution/calculations/getInstanceNodeBinding.ts","../../src/resolution/actions/resolve.ts","../../src/resolution/actions/setInstanceProperties.ts","../../src/resolution/actions/resolveServiceRedirectionBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingNode.ts","../../src/resolution/actions/resolveInstanceBindingConstructorParams.ts","../../src/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.ts","../../src/resolution/actions/resolveScopedInstanceBindingNode.ts","../../src/binding/calculations/isScopedBinding.ts","../../src/resolution/actions/resolveBindingPreDestroy.ts","../../src/resolution/actions/resolveBindingServiceDeactivations.ts","../../src/resolution/actions/resolveBindingDeactivations.ts","../../src/resolution/actions/resolveBindingsDeactivations.ts","../../src/resolution/actions/resolveModuleDeactivations.ts","../../src/resolution/actions/resolveServiceDeactivations.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["bindingScopeValues","Request","Singleton","Transient","bindingTypeValues","ConstantValue","DynamicValue","Factory","Instance","Provider","ServiceRedirection","chain","iterables","iterable","OneToManyMapStar","modelToRelationMap","relationToModelsMaps","spec","constructor","this","Map","specProperty","Reflect","ownKeys","add","model","relation","buildOrGetModelArray","push","relationKey","buildOrGetRelationModels","clone","properties","pushEntriesIntoMap","property","get","key","value","getAllKeys","keys","removeByRelation","models","undefined","uniqueModelsSet","Set","relations","Error","removeModelFromRelationMaps","delete","set","relationValue","source","target","removeModelFromRelationMap","relationModels","index","indexOf","splice","length","ActivationRelationKind","BindingRelationKind","DeactivationRelationKind","ActivationsService","activationMaps","parent","moduleId","isOptional","serviceId","build","activation","serviceIdentifier","activationIterables","activations","parentActivations","removeAllByModuleId","removeAllByServiceId","BindingService","bindingMaps","getNonParentBindings","getNonParentBoundServices","getByModuleId","binding","DeactivationsService","deactivationMaps","deactivation","deactivationIterables","deactivations","parentDeactivations","decorate","decorators","parameterIndexOrProperty","parsedDecorators","Array","isArray","prototype","decorator","classMetadataReflectKey","getDefaultClassMetadata","constructorArguments","lifecycle","postConstructMethodName","preDestroyMethodName","scope","pendingClassMetadataCountReflectKey","isAppErrorSymbol","Symbol","for","InversifyCoreError","kind","message","options","super","is","isErrorOfKind","InversifyCoreErrorKind","MaybeClassElementMetadataKind","ClassElementMetadataKind","getClassMetadata","type","classMetadata","getOwnReflectMetadata","pendingClassMetadataCount","isPendingClassMetadata","undefinedIndexes","missingInjectionDecorator","name","toString","i","join","validateConstructorMetadataArray","errors","constructorArgument","unknown","propertyKey","throwAtInvalidClassMetadata","getDefaultPendingClassMetadataCount","decrementPendingClassMetadataCount","metadata","updateOwnReflectMetadata","count","buildClassElementMetadataFromMaybeClassElementMetadata","buildDefaultMetadata","buildMetadataFromMaybeManagedMetadata","params","unmanaged","injectionDecoratorConflict","assertMetadataFromTypescriptIfManaged","isFromTypescriptParamType","buildManagedMetadataFromMaybeClassElementMetadata","optional","tags","updateMaybeClassMetadataProperty","updateMetadata","propertyMetadata","DecoratorInfoKind","handleInjectionError","parameterIndex","error","info","parameterIndexOrDescriptor","targetClass","parameter","method","getDecoratorInfo","decoratorTargetInfo","stringifyDecoratorInfo","cause","injectBase","updatePendingClassMetadataCount","buildComposedUpdateMetadataFromTarget","buildComposedUpdateMetadata","injectProperty","isConstructorParameter","updateMaybeClassMetadataConstructorArgument","injectParameter","descriptor","isPropertySetter","injectMethod","updateTargetPendingClassMetadataCount","inject","singleInjection","classIsInjectableFlagReflectKey","NON_USERLAND_TYPES","BigInt","Boolean","Function","Number","Object","String","updateClassMetadataWithTypescriptParameterTypes","typescriptConstructorArguments","forEach","constructorArgumentType","includes","buildClassElementMetadataFromTypescriptParameterType","updateMaybeClassMetadataWithTypescriptClassMetadata","injectable","setReflectMetadata","setIsInjectableFlag","getExtendedConstructorArguments","baseTypeClassMetadata","typeMetadata","extendedConstructorArguments","extendConstructorArguments","map","classElementMetadata","getExtendedProperties","extendedProperties","extendProperties","injectFrom","callback","composeUpdateReflectMetadataCallback","injectFromBase","baseType","getBaseType","multiInject","multipleInjection","incrementPendingClassMetadataCount","buildMaybeClassElementMetadataFromMaybeClassElementMetadata","definedMetadata","named","updateMetadataName","updateMetadataOptional","postConstruct","_descriptor","methodName","preDestroy","tagged","has","updateMetadataTag","buildDefaultUnmanagedMetadata","buildUnmanagedMetadataFromMaybeClassElementMetadata","size","hasManagedMetadata","SingleInmutableLinkedList","last","concat","elem","previous","iterator","node","next","done","addBranchService","servicesBranch","stringifiedCircularDependencies","serviceIdentifiers","stringifyServiceIdentifier","planning","throwError","BindingMetadataImplementation","getAncestor","buildFilteredServiceBindings","bindingMetadataList","bindingMetadata","customServiceIdentifier","getBindings","filter","isSatisfiedBy","isPlanServiceRedirectionBindingNode","redirections","throwErrorWhenUnexpectedBindingsAmountFound","bindings","parentServiceIdentifier","targetServiceIdentifier","errorMessage","implementationType","stringifyBinding","stringifyParentServiceIdentifier","throwBindingNotFoundError","throwErrorWhenMultipleUnexpectedBindingsAmountFound","throwErrorWhenSingleUnexpectedBindingFound","checkPlanServiceRedirectionBindingNodeSingleInjectionBindings","serviceRedirectionBindingNode","planBindingNode","checkServiceNodeSingleInjectionBindings","serviceNode","plan","rootConstraints","tag","filteredServiceBindings","serviceNodeBindings","buildServiceNodeBindings","isMultiple","tree","root","buildInstancePlanBindingNode","parentNode","childNode","constructorParams","propertyParams","elementMetadata","entries","buildPlanServiceNodeFromClassElementMetadata","planServiceNode","subplan","LazyServiceIdentifier","unwrap","updatedBindingMetadataList","serviceBindings","planBindingNodes","buildServiceRedirectionPlanBindingNode","resolveBindingServiceActivations","getActivations","isPromise","resolveBindingActivationsFromIteratorAsync","activationsIterator","activatedValue","activationIteratorResult","nextActivatedValue","context","resolveBindingActivationsFromIterator","async","resolveBindingActivations","activationResult","onActivation","then","resolved","resolveSingletonScopedBinding","resolve","cache","isRight","resolvedValue","resolveConstantValueBinding","_params","getSelf","self","resolveScoped","getBinding","arg","resolveAndActivate","requestScopeCache","id","resolveDynamicValueBinding","resolveScopedBinding","resolveFactoryBinding","factory","resolvePostConstruct","instance","postConstructResult","resolution","invokePostConstructAsync","invokePostConstruct","resolveInstanceBindingNodeFromConstructorParams","setInstanceProperties","constructorValues","propertiesAssignmentResult","resolveProviderBinding","provider","getInstanceNodeBinding","resolveServiceNode","propertyAssignmentPromises","propertyNode","Promise","all","currySetInstanceProperties","resolveServiceRedirectionBindingNode","resolveBindingNode","innerResolveServiceRedirectionBindingNode","resolvedValues","redirection","curryResolveServiceRedirectionBindingNode","resolveInstanceBindingNode","resolveInstanceBindingConstructorParams","resolveInstanceBindingNodeAsyncFromConstructorParams","curryResolveInstanceBindingNode","constructorResolvedValues","constructorParam","some","curryResolveInstanceBindingConstructorParams","resolveScopedInstanceBindingNode","curryResolveScopedInstanceBindingNode","planResult","resolveMultipleBindingServiceNode","resolveSingleBindingServiceNode","isScopedBinding","resolveInstancePreDestroy","resolveBindingServiceDeactivations","getDeactivations","resolveBindingDeactivationsFromIteratorAsync","deactivationsIterator","deactivationIteratorResult","nextDeactivationValue","resolveBindingDeactivationsFromIterator","resolveBindingDeactivations","preDestroyResult","resolveBindingPreDestroy","resolveBindingDeactivationsAfterPreDestroy","bindingCache","resolveBindingDeactivationsAfterPreDestroyFromValue","deactivationResult","onDeactivation","bindingDeactivation","resolveBindingsDeactivations","singletonScopedBindings","filteredBindings","filterCachedSinglentonScopedBindings","deactivationPromiseResults","resolveModuleDeactivations","getBindingsFromModule","resolveServiceDeactivations"],"mappings":"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"}