@inversifyjs/core 6.0.1 → 7.0.1

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 (140) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/cjs/binding/models/BindingConstraintsImplementation.d.ts +2 -2
  3. package/lib/cjs/common/models/SingleImmutableLinkedList.d.ts +11 -0
  4. package/lib/cjs/common/models/{SingleInmutableLinkedList.d.ts.map → SingleImmutableLinkedList.d.ts.map} +1 -1
  5. package/lib/cjs/common/models/{SingleInmutableLinkedList.js → SingleImmutableLinkedList.js} +5 -5
  6. package/lib/cjs/common/models/{SingleInmutableLinkedList.js.map → SingleImmutableLinkedList.js.map} +1 -1
  7. package/lib/cjs/common/models/SingleImmutableLinkedList.spec.d.ts +2 -0
  8. package/lib/cjs/common/models/SingleImmutableLinkedList.spec.d.ts.map +1 -0
  9. package/lib/cjs/index.d.ts +5 -2
  10. package/lib/cjs/index.d.ts.map +1 -1
  11. package/lib/cjs/index.js +3 -1
  12. package/lib/cjs/index.js.map +1 -1
  13. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.d.ts +5 -0
  14. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.d.ts.map +1 -0
  15. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.js +3 -0
  16. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.js.map +1 -0
  17. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.d.ts +6 -0
  18. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.d.ts.map +1 -0
  19. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.js +3 -0
  20. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.js.map +1 -0
  21. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.d.ts +13 -0
  22. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.d.ts.map +1 -0
  23. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.js +25 -0
  24. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.js.map +1 -0
  25. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  26. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  27. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.d.ts +17 -0
  28. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.d.ts.map +1 -0
  29. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js +98 -0
  30. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js.map +1 -0
  31. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  32. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  33. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts +2 -1
  34. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts.map +1 -1
  35. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js +7 -3
  36. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js.map +1 -1
  37. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.d.ts +10 -0
  38. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.d.ts.map +1 -0
  39. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.js +33 -0
  40. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.js.map +1 -0
  41. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.spec.d.ts +2 -0
  42. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.spec.d.ts.map +1 -0
  43. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.d.ts +11 -0
  44. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.d.ts.map +1 -0
  45. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.js +41 -0
  46. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.js.map +1 -0
  47. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts +2 -0
  48. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map +1 -0
  49. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +11 -0
  50. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map +1 -0
  51. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js +42 -0
  52. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map +1 -0
  53. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts +2 -0
  54. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map +1 -0
  55. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.d.ts +9 -0
  56. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.d.ts.map +1 -0
  57. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.js +92 -0
  58. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.js.map +1 -0
  59. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.spec.d.ts +2 -0
  60. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.spec.d.ts.map +1 -0
  61. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts +11 -0
  62. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts.map +1 -0
  63. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.js +21 -0
  64. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.js.map +1 -0
  65. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts +2 -0
  66. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map +1 -0
  67. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +11 -0
  68. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map +1 -0
  69. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js +21 -0
  70. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map +1 -0
  71. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts +2 -0
  72. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map +1 -0
  73. package/lib/cjs/planning/actions/currySubplan.d.ts +9 -0
  74. package/lib/cjs/planning/actions/currySubplan.d.ts.map +1 -0
  75. package/lib/cjs/planning/actions/currySubplan.js +130 -0
  76. package/lib/cjs/planning/actions/currySubplan.js.map +1 -0
  77. package/lib/cjs/planning/actions/currySubplan.spec.d.ts +2 -0
  78. package/lib/cjs/planning/actions/currySubplan.spec.d.ts.map +1 -0
  79. package/lib/cjs/planning/actions/plan.d.ts +8 -0
  80. package/lib/cjs/planning/actions/plan.d.ts.map +1 -1
  81. package/lib/cjs/planning/actions/plan.js +14 -259
  82. package/lib/cjs/planning/actions/plan.js.map +1 -1
  83. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.d.ts +13 -0
  84. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.d.ts.map +1 -0
  85. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.js +24 -0
  86. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.js.map +1 -0
  87. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  88. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  89. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.d.ts +15 -0
  90. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.d.ts.map +1 -0
  91. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.js +60 -0
  92. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.js.map +1 -0
  93. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  94. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  95. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.d.ts +2 -2
  96. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.js +2 -2
  97. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +2 -2
  98. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +2 -2
  99. package/lib/cjs/planning/calculations/handleResolveError.d.ts +3 -0
  100. package/lib/cjs/planning/calculations/handleResolveError.d.ts.map +1 -0
  101. package/lib/cjs/planning/calculations/handleResolveError.js +101 -0
  102. package/lib/cjs/planning/calculations/handleResolveError.js.map +1 -0
  103. package/lib/cjs/planning/calculations/handleResolveError.spec.d.ts +2 -0
  104. package/lib/cjs/planning/calculations/handleResolveError.spec.d.ts.map +1 -0
  105. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +2 -2
  106. package/lib/cjs/planning/models/CacheBindingInvalidation.d.ts +9 -0
  107. package/lib/cjs/planning/models/CacheBindingInvalidation.d.ts.map +1 -0
  108. package/lib/cjs/planning/models/CacheBindingInvalidation.js +3 -0
  109. package/lib/cjs/planning/models/CacheBindingInvalidation.js.map +1 -0
  110. package/lib/cjs/planning/models/CacheBindingInvalidationKind.d.ts +5 -0
  111. package/lib/cjs/planning/models/CacheBindingInvalidationKind.d.ts.map +1 -0
  112. package/lib/cjs/planning/models/CacheBindingInvalidationKind.js +9 -0
  113. package/lib/cjs/planning/models/CacheBindingInvalidationKind.js.map +1 -0
  114. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts +2 -1
  115. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts.map +1 -1
  116. package/lib/cjs/planning/models/LazyPlanServiceNode.js +5 -2
  117. package/lib/cjs/planning/models/LazyPlanServiceNode.js.map +1 -1
  118. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts +1 -8
  119. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts.map +1 -1
  120. package/lib/cjs/planning/models/NonCachedServiceNodeContext.d.ts +8 -0
  121. package/lib/cjs/planning/models/NonCachedServiceNodeContext.d.ts.map +1 -0
  122. package/lib/cjs/planning/models/NonCachedServiceNodeContext.js +3 -0
  123. package/lib/cjs/planning/models/NonCachedServiceNodeContext.js.map +1 -0
  124. package/lib/cjs/planning/models/PlanParamsOperations.d.ts +2 -1
  125. package/lib/cjs/planning/models/PlanParamsOperations.d.ts.map +1 -1
  126. package/lib/cjs/planning/services/PlanResultCacheService.d.ts +4 -3
  127. package/lib/cjs/planning/services/PlanResultCacheService.d.ts.map +1 -1
  128. package/lib/cjs/planning/services/PlanResultCacheService.js +162 -63
  129. package/lib/cjs/planning/services/PlanResultCacheService.js.map +1 -1
  130. package/lib/cjs/resolution/actions/resolve.d.ts.map +1 -1
  131. package/lib/cjs/resolution/actions/resolve.js +8 -2
  132. package/lib/cjs/resolution/actions/resolve.js.map +1 -1
  133. package/lib/esm/index.d.ts +40 -5
  134. package/lib/esm/index.d.ts.map +1 -1
  135. package/lib/esm/index.js +1 -1
  136. package/lib/esm/index.js.map +1 -1
  137. package/package.json +4 -4
  138. package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts +0 -11
  139. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts +0 -2
  140. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts.map +0 -1
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curryBuildPlanServiceNodeFromClassElementMetadata = curryBuildPlanServiceNodeFromClassElementMetadata;
4
+ const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
5
+ const ClassElementMetadataKind_1 = require("../../metadata/models/ClassElementMetadataKind");
6
+ const buildFilteredServiceBindings_1 = require("../calculations/buildFilteredServiceBindings");
7
+ const checkServiceNodeSingleInjectionBindings_1 = require("../calculations/checkServiceNodeSingleInjectionBindings");
8
+ const getServiceFromMaybeLazyServiceIdentifier_1 = require("../calculations/getServiceFromMaybeLazyServiceIdentifier");
9
+ function curryBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings) {
10
+ return (params, bindingConstraintsList, elementMetadata) => {
11
+ const serviceIdentifier = (0, getServiceFromMaybeLazyServiceIdentifier_1.getServiceFromMaybeLazyServiceIdentifier)(elementMetadata.value);
12
+ const updatedBindingConstraintsList = bindingConstraintsList.concat({
13
+ getAncestorsCalled: false,
14
+ name: elementMetadata.name,
15
+ serviceIdentifier,
16
+ tags: elementMetadata.tags,
17
+ });
18
+ const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(updatedBindingConstraintsList.last);
19
+ const chained = elementMetadata.kind === ClassElementMetadataKind_1.ClassElementMetadataKind.multipleInjection &&
20
+ elementMetadata.chained;
21
+ const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints, {
22
+ chained,
23
+ });
24
+ const serviceNodeBindings = [];
25
+ const serviceNode = {
26
+ bindings: serviceNodeBindings,
27
+ isContextFree: true,
28
+ serviceIdentifier,
29
+ };
30
+ serviceNodeBindings.push(...buildServiceNodeBindings(params, updatedBindingConstraintsList, filteredServiceBindings, serviceNode, chained));
31
+ serviceNode.isContextFree =
32
+ !updatedBindingConstraintsList.last.elem.getAncestorsCalled;
33
+ if (elementMetadata.kind === ClassElementMetadataKind_1.ClassElementMetadataKind.singleInjection) {
34
+ (0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, elementMetadata.optional, updatedBindingConstraintsList.last);
35
+ const [planBindingNode] = serviceNodeBindings;
36
+ serviceNode.bindings = planBindingNode;
37
+ }
38
+ return serviceNode;
39
+ };
40
+ }
41
+ //# sourceMappingURL=curryBuildPlanServiceNodeFromClassElementMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildPlanServiceNodeFromClassElementMetadata.js","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.ts"],"names":[],"mappings":";;AAoBA,8GA4EC;AA5FD,4GAG+D;AAE/D,6FAA0F;AAE1F,+FAA4F;AAC5F,qHAAkH;AAClH,uHAAoH;AAOpH,SAAgB,iDAAiD,CAC/D,wBAMsB;IAMtB,OAAO,CACL,MAAqB,EACrB,sBAA6E,EAC7E,eAA4C,EAC3B,EAAE;QACnB,MAAM,iBAAiB,GACrB,IAAA,mFAAwC,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAElE,MAAM,6BAA6B,GACjC,sBAAsB,CAAC,MAAM,CAAC;YAC5B,kBAAkB,EAAE,KAAK;YACzB,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,iBAAiB;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI;SAC3B,CAAC,CAAC;QAEL,MAAM,kBAAkB,GACtB,IAAI,mEAAgC,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,OAAO,GACX,eAAe,CAAC,IAAI,KAAK,mDAAwB,CAAC,iBAAiB;YACnE,eAAe,CAAC,OAAO,CAAC;QAE1B,MAAM,uBAAuB,GAC3B,IAAA,2DAA4B,EAAC,MAAM,EAAE,kBAAkB,EAAE;YACvD,OAAO;SACR,CAAC,CAAC;QAEL,MAAM,mBAAmB,GAAsB,EAAE,CAAC;QAElD,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,mBAAmB;YAC7B,aAAa,EAAE,IAAI;YACnB,iBAAiB;SAClB,CAAC;QAEF,mBAAmB,CAAC,IAAI,CACtB,GAAG,wBAAwB,CACzB,MAAM,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,WAAW,EACX,OAAO,CACR,CACF,CAAC;QAEF,WAAW,CAAC,aAAa;YACvB,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE9D,IAAI,eAAe,CAAC,IAAI,KAAK,mDAAwB,CAAC,eAAe,EAAE,CAAC;YACtE,IAAA,iFAAuC,EACrC,WAAW,EACX,eAAe,CAAC,QAAQ,EACxB,6BAA6B,CAAC,IAAI,CACnC,CAAC;YAEF,MAAM,CAAC,eAAe,CAAC,GAAsB,mBAAmB,CAAC;YAEjE,WAAW,CAAC,QAAQ,GAAG,eAAe,CAAC;QACzC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Binding } from '../../binding/models/Binding';
2
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
+ import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
+ import { BasePlanParams } from '../models/BasePlanParams';
6
+ import { BindingNodeParent } from '../models/BindingNodeParent';
7
+ import { PlanBindingNode } from '../models/PlanBindingNode';
8
+ import { PlanServiceNode } from '../models/PlanServiceNode';
9
+ import { SubplanParams } from '../models/SubplanParams';
10
+ export declare function curryBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode;
11
+ //# sourceMappingURL=curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAEL,0BAA0B,EAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAKlG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,wBAAgB,yDAAyD,CACvE,wBAAwB,EAAE,CACxB,MAAM,EAAE,cAAc,EACtB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,OAAO,KACrB,eAAe,EAAE,GACrB,CACD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,4BAA4B,KAC1C,eAAe,CAmEnB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curryBuildPlanServiceNodeFromResolvedValueElementMetadata = curryBuildPlanServiceNodeFromResolvedValueElementMetadata;
4
+ const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
5
+ const ResolvedValueElementMetadataKind_1 = require("../../metadata/models/ResolvedValueElementMetadataKind");
6
+ const buildFilteredServiceBindings_1 = require("../calculations/buildFilteredServiceBindings");
7
+ const checkServiceNodeSingleInjectionBindings_1 = require("../calculations/checkServiceNodeSingleInjectionBindings");
8
+ const getServiceFromMaybeLazyServiceIdentifier_1 = require("../calculations/getServiceFromMaybeLazyServiceIdentifier");
9
+ function curryBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings) {
10
+ return (params, bindingConstraintsList, elementMetadata) => {
11
+ const serviceIdentifier = (0, getServiceFromMaybeLazyServiceIdentifier_1.getServiceFromMaybeLazyServiceIdentifier)(elementMetadata.value);
12
+ const updatedBindingConstraintsList = bindingConstraintsList.concat({
13
+ getAncestorsCalled: false,
14
+ name: elementMetadata.name,
15
+ serviceIdentifier,
16
+ tags: elementMetadata.tags,
17
+ });
18
+ const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(updatedBindingConstraintsList.last);
19
+ const chained = elementMetadata.kind ===
20
+ ResolvedValueElementMetadataKind_1.ResolvedValueElementMetadataKind.multipleInjection &&
21
+ elementMetadata.chained;
22
+ const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints, {
23
+ chained,
24
+ });
25
+ const serviceNodeBindings = [];
26
+ const serviceNode = {
27
+ bindings: serviceNodeBindings,
28
+ isContextFree: true,
29
+ serviceIdentifier,
30
+ };
31
+ serviceNodeBindings.push(...buildServiceNodeBindings(params, updatedBindingConstraintsList, filteredServiceBindings, serviceNode, chained));
32
+ serviceNode.isContextFree =
33
+ !updatedBindingConstraintsList.last.elem.getAncestorsCalled;
34
+ if (elementMetadata.kind === ResolvedValueElementMetadataKind_1.ResolvedValueElementMetadataKind.singleInjection) {
35
+ (0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, elementMetadata.optional, updatedBindingConstraintsList.last);
36
+ const [planBindingNode] = serviceNodeBindings;
37
+ serviceNode.bindings = planBindingNode;
38
+ }
39
+ return serviceNode;
40
+ };
41
+ }
42
+ //# sourceMappingURL=curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.ts"],"names":[],"mappings":";;AAoBA,8HA+EC;AA/FD,4GAG+D;AAG/D,6GAA0G;AAC1G,+FAA4F;AAC5F,qHAAkH;AAClH,uHAAoH;AAOpH,SAAgB,yDAAyD,CACvE,wBAMsB;IAMtB,OAAO,CACL,MAAqB,EACrB,sBAA6E,EAC7E,eAA6C,EAC5B,EAAE;QACnB,MAAM,iBAAiB,GACrB,IAAA,mFAAwC,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAElE,MAAM,6BAA6B,GACjC,sBAAsB,CAAC,MAAM,CAAC;YAC5B,kBAAkB,EAAE,KAAK;YACzB,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,iBAAiB;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI;SAC3B,CAAC,CAAC;QAEL,MAAM,kBAAkB,GACtB,IAAI,mEAAgC,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,OAAO,GACX,eAAe,CAAC,IAAI;YAClB,mEAAgC,CAAC,iBAAiB;YACpD,eAAe,CAAC,OAAO,CAAC;QAE1B,MAAM,uBAAuB,GAC3B,IAAA,2DAA4B,EAAC,MAAM,EAAE,kBAAkB,EAAE;YACvD,OAAO;SACR,CAAC,CAAC;QAEL,MAAM,mBAAmB,GAAsB,EAAE,CAAC;QAElD,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,mBAAmB;YAC7B,aAAa,EAAE,IAAI;YACnB,iBAAiB;SAClB,CAAC;QAEF,mBAAmB,CAAC,IAAI,CACtB,GAAG,wBAAwB,CACzB,MAAM,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,WAAW,EACX,OAAO,CACR,CACF,CAAC;QAEF,WAAW,CAAC,aAAa;YACvB,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE9D,IACE,eAAe,CAAC,IAAI,KAAK,mEAAgC,CAAC,eAAe,EACzE,CAAC;YACD,IAAA,iFAAuC,EACrC,WAAW,EACX,eAAe,CAAC,QAAQ,EACxB,6BAA6B,CAAC,IAAI,CACnC,CAAC;YAEF,MAAM,CAAC,eAAe,CAAC,GAAsB,mBAAmB,CAAC;YAEjE,WAAW,CAAC,QAAQ,GAAG,eAAe,CAAC;QACzC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { Binding } from '../../binding/models/Binding';
2
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
+ import { BasePlanParams } from '../models/BasePlanParams';
5
+ import { BindingNodeParent } from '../models/BindingNodeParent';
6
+ import { PlanBindingNode } from '../models/PlanBindingNode';
7
+ import { SubplanParams } from '../models/SubplanParams';
8
+ export declare function curryBuildServiceNodeBindings(subplan: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>) => PlanBindingNode): (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[];
9
+ //# sourceMappingURL=curryBuildServiceNodeBindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildServiceNodeBindings.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildServiceNodeBindings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAEL,0BAA0B,EAC3B,MAAM,uDAAuD,CAAC;AAK/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAI1F,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,CACP,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,KAC1E,eAAe,GACnB,CACD,MAAM,EAAE,cAAc,EACtB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,OAAO,KACrB,eAAe,EAAE,CA2FrB"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curryBuildServiceNodeBindings = curryBuildServiceNodeBindings;
4
+ const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
5
+ const BindingType_1 = require("../../binding/models/BindingType");
6
+ const buildFilteredServiceBindings_1 = require("../calculations/buildFilteredServiceBindings");
7
+ const isPlanServiceRedirectionBindingNode_1 = require("../calculations/isPlanServiceRedirectionBindingNode");
8
+ function curryBuildServiceNodeBindings(subplan) {
9
+ const buildInstancePlanBindingNode = curryBuildInstancePlanBindingNode(subplan);
10
+ const buildResolvedValuePlanBindingNode = curryBuildResolvedValuePlanBindingNode(subplan);
11
+ const buildServiceNodeBindings = (params, bindingConstraintsList, serviceBindings, parentNode, chainedBindings) => {
12
+ const serviceIdentifier = (0, isPlanServiceRedirectionBindingNode_1.isPlanServiceRedirectionBindingNode)(parentNode)
13
+ ? parentNode.binding.targetServiceIdentifier
14
+ : parentNode.serviceIdentifier;
15
+ params.servicesBranch.push(serviceIdentifier);
16
+ const planBindingNodes = [];
17
+ for (const binding of serviceBindings) {
18
+ switch (binding.type) {
19
+ case BindingType_1.bindingTypeValues.Instance: {
20
+ planBindingNodes.push(buildInstancePlanBindingNode(params, binding, bindingConstraintsList));
21
+ break;
22
+ }
23
+ case BindingType_1.bindingTypeValues.ResolvedValue: {
24
+ planBindingNodes.push(buildResolvedValuePlanBindingNode(params, binding, bindingConstraintsList));
25
+ break;
26
+ }
27
+ case BindingType_1.bindingTypeValues.ServiceRedirection: {
28
+ const planBindingNode = buildServiceRedirectionPlanBindingNode(params, bindingConstraintsList, binding, chainedBindings);
29
+ planBindingNodes.push(planBindingNode);
30
+ break;
31
+ }
32
+ default:
33
+ planBindingNodes.push({
34
+ binding: binding,
35
+ });
36
+ }
37
+ }
38
+ params.servicesBranch.pop();
39
+ return planBindingNodes;
40
+ };
41
+ const buildServiceRedirectionPlanBindingNode = curryBuildServiceRedirectionPlanBindingNode(buildServiceNodeBindings);
42
+ return buildServiceNodeBindings;
43
+ }
44
+ function curryBuildInstancePlanBindingNode(subplan) {
45
+ return (params, binding, bindingConstraintsList) => {
46
+ const classMetadata = params.operations.getClassMetadata(binding.implementationType);
47
+ const childNode = {
48
+ binding: binding,
49
+ classMetadata,
50
+ constructorParams: [],
51
+ propertyParams: new Map(),
52
+ };
53
+ const subplanParams = {
54
+ autobindOptions: params.autobindOptions,
55
+ node: childNode,
56
+ operations: params.operations,
57
+ servicesBranch: params.servicesBranch,
58
+ };
59
+ return subplan(subplanParams, bindingConstraintsList);
60
+ };
61
+ }
62
+ function curryBuildResolvedValuePlanBindingNode(subplan) {
63
+ return (params, binding, bindingConstraintsList) => {
64
+ const childNode = {
65
+ binding: binding,
66
+ params: [],
67
+ };
68
+ const subplanParams = {
69
+ autobindOptions: params.autobindOptions,
70
+ node: childNode,
71
+ operations: params.operations,
72
+ servicesBranch: params.servicesBranch,
73
+ };
74
+ return subplan(subplanParams, bindingConstraintsList);
75
+ };
76
+ }
77
+ function curryBuildServiceRedirectionPlanBindingNode(buildServiceNodeBindings) {
78
+ return (params, bindingConstraintsList, binding, chainedBindings) => {
79
+ const childNode = {
80
+ binding,
81
+ redirections: [],
82
+ };
83
+ const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(bindingConstraintsList.last);
84
+ const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints, {
85
+ chained: chainedBindings,
86
+ customServiceIdentifier: binding.targetServiceIdentifier,
87
+ });
88
+ childNode.redirections.push(...buildServiceNodeBindings(params, bindingConstraintsList, filteredServiceBindings, childNode, chainedBindings));
89
+ return childNode;
90
+ };
91
+ }
92
+ //# sourceMappingURL=curryBuildServiceNodeBindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildServiceNodeBindings.js","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildServiceNodeBindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=curryBuildServiceNodeBindings.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryBuildServiceNodeBindings.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryBuildServiceNodeBindings.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Binding } from '../../binding/models/Binding';
2
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
+ import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
5
+ import { BasePlanParams } from '../models/BasePlanParams';
6
+ import { BindingNodeParent } from '../models/BindingNodeParent';
7
+ import { PlanBindingNode } from '../models/PlanBindingNode';
8
+ import { PlanServiceNode } from '../models/PlanServiceNode';
9
+ import { SubplanParams } from '../models/SubplanParams';
10
+ export declare function curryLazyBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode | undefined;
11
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAG1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,wBAAgB,qDAAqD,CACnE,wBAAwB,EAAE,CACxB,MAAM,EAAE,cAAc,EACtB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,OAAO,KACrB,eAAe,EAAE,GACrB,CACD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,2BAA2B,KACzC,eAAe,GAAG,SAAS,CA8B/B"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curryLazyBuildPlanServiceNodeFromClassElementMetadata = curryLazyBuildPlanServiceNodeFromClassElementMetadata;
4
+ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
5
+ const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
6
+ const curryBuildPlanServiceNodeFromClassElementMetadata_1 = require("./curryBuildPlanServiceNodeFromClassElementMetadata");
7
+ function curryLazyBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings) {
8
+ const buildPlanServiceNodeFromClassElementMetadata = (0, curryBuildPlanServiceNodeFromClassElementMetadata_1.curryBuildPlanServiceNodeFromClassElementMetadata)(buildServiceNodeBindings);
9
+ return (params, bindingConstraintsList, elementMetadata) => {
10
+ try {
11
+ return buildPlanServiceNodeFromClassElementMetadata(params, bindingConstraintsList, elementMetadata);
12
+ }
13
+ catch (error) {
14
+ if (InversifyCoreError_1.InversifyCoreError.isErrorOfKind(error, InversifyCoreErrorKind_1.InversifyCoreErrorKind.planning)) {
15
+ return undefined;
16
+ }
17
+ throw error;
18
+ }
19
+ };
20
+ }
21
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromClassElementMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromClassElementMetadata.js","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.ts"],"names":[],"mappings":";;AAaA,sHA0CC;AApDD,8EAA2E;AAC3E,sFAAmF;AAOnF,2HAAwH;AAExH,SAAgB,qDAAqD,CACnE,wBAMsB;IAMtB,MAAM,4CAA4C,GAI3B,IAAA,qGAAiD,EACtE,wBAAwB,CACzB,CAAC;IAEF,OAAO,CACL,MAAqB,EACrB,sBAA6E,EAC7E,eAA4C,EACf,EAAE;QAC/B,IAAI,CAAC;YACH,OAAO,4CAA4C,CACjD,MAAM,EACN,sBAAsB,EACtB,eAAe,CAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IACE,uCAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,+CAAsB,CAAC,QAAQ,CAAC,EACxE,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Binding } from '../../binding/models/Binding';
2
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
+ import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
+ import { BasePlanParams } from '../models/BasePlanParams';
6
+ import { BindingNodeParent } from '../models/BindingNodeParent';
7
+ import { PlanBindingNode } from '../models/PlanBindingNode';
8
+ import { PlanServiceNode } from '../models/PlanServiceNode';
9
+ import { SubplanParams } from '../models/SubplanParams';
10
+ export declare function curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode | undefined;
11
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAG1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,wBAAgB,6DAA6D,CAC3E,wBAAwB,EAAE,CACxB,MAAM,EAAE,cAAc,EACtB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,OAAO,KACrB,eAAe,EAAE,GACrB,CACD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,4BAA4B,KAC1C,eAAe,GAAG,SAAS,CA+B/B"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata = curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata;
4
+ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
5
+ const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
6
+ const curryBuildPlanServiceNodeFromResolvedValueElementMetadata_1 = require("./curryBuildPlanServiceNodeFromResolvedValueElementMetadata");
7
+ function curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings) {
8
+ const buildPlanServiceNodeFromResolvedValueElementMetadata = (0, curryBuildPlanServiceNodeFromResolvedValueElementMetadata_1.curryBuildPlanServiceNodeFromResolvedValueElementMetadata)(buildServiceNodeBindings);
9
+ return (params, bindingConstraintsList, elementMetadata) => {
10
+ try {
11
+ return buildPlanServiceNodeFromResolvedValueElementMetadata(params, bindingConstraintsList, elementMetadata);
12
+ }
13
+ catch (error) {
14
+ if (InversifyCoreError_1.InversifyCoreError.isErrorOfKind(error, InversifyCoreErrorKind_1.InversifyCoreErrorKind.planning)) {
15
+ return undefined;
16
+ }
17
+ throw error;
18
+ }
19
+ };
20
+ }
21
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.ts"],"names":[],"mappings":";;AAaA,sIA2CC;AArDD,8EAA2E;AAC3E,sFAAmF;AAOnF,2IAAwI;AAExI,SAAgB,6DAA6D,CAC3E,wBAMsB;IAMtB,MAAM,oDAAoD,GAKxD,IAAA,qHAAyD,EACvD,wBAAwB,CACzB,CAAC;IAEJ,OAAO,CACL,MAAqB,EACrB,sBAA6E,EAC7E,eAA6C,EAChB,EAAE;QAC/B,IAAI,CAAC;YACH,OAAO,oDAAoD,CACzD,MAAM,EACN,sBAAsB,EACtB,eAAe,CAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IACE,uCAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,+CAAsB,CAAC,QAAQ,CAAC,EACxE,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
+ import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
4
+ import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
+ import { PlanBindingNode } from '../models/PlanBindingNode';
6
+ import { PlanServiceNode } from '../models/PlanServiceNode';
7
+ import { SubplanParams } from '../models/SubplanParams';
8
+ export declare function currySubplan(buildLazyPlanServiceNodeNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode, buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode, buildPlanServiceNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode | undefined, buildPlanServiceNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode | undefined): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>) => PlanBindingNode;
9
+ //# sourceMappingURL=currySubplan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currySubplan.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/currySubplan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAI1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAUlG,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAyFxD,wBAAgB,YAAY,CAC1B,oDAAoD,EAAE,CACpD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,2BAA2B,KACzC,eAAe,EACpB,4DAA4D,EAAE,CAC5D,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,4BAA4B,KAC1C,eAAe,EACpB,4CAA4C,EAAE,CAC5C,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,2BAA2B,KACzC,eAAe,GAAG,SAAS,EAChC,oDAAoD,EAAE,CACpD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,4BAA4B,KAC1C,eAAe,GAAG,SAAS,GAC/B,CACD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,KAC1E,eAAe,CAqCnB"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.currySubplan = currySubplan;
4
+ const ClassElementMetadataKind_1 = require("../../metadata/models/ClassElementMetadataKind");
5
+ const ResolvedValueElementMetadataKind_1 = require("../../metadata/models/ResolvedValueElementMetadataKind");
6
+ const getServiceFromMaybeLazyServiceIdentifier_1 = require("../calculations/getServiceFromMaybeLazyServiceIdentifier");
7
+ const isInstanceBindingNode_1 = require("../calculations/isInstanceBindingNode");
8
+ const tryBuildGetPlanOptionsFromManagedClassElementMetadata_1 = require("../calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata");
9
+ const tryBuildGetPlanOptionsFromResolvedValueElementMetadata_1 = require("../calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata");
10
+ const LazyPlanServiceNode_1 = require("../models/LazyPlanServiceNode");
11
+ const cacheNonRootPlanServiceNode_1 = require("./cacheNonRootPlanServiceNode");
12
+ class LazyManagedClassMetadataPlanServiceNode extends LazyPlanServiceNode_1.LazyPlanServiceNode {
13
+ #params;
14
+ #buildLazyPlanServiceNodeNodeFromClassElementMetadata;
15
+ #bindingConstraintsList;
16
+ #elementMetadata;
17
+ constructor(params, buildLazyPlanServiceNodeNodeFromClassElementMetadata, bindingConstraintsList, elementMetadata, serviceNode) {
18
+ super(serviceNode, (0, getServiceFromMaybeLazyServiceIdentifier_1.getServiceFromMaybeLazyServiceIdentifier)(elementMetadata.value));
19
+ this.#buildLazyPlanServiceNodeNodeFromClassElementMetadata =
20
+ buildLazyPlanServiceNodeNodeFromClassElementMetadata;
21
+ this.#params = params;
22
+ this.#bindingConstraintsList = bindingConstraintsList;
23
+ this.#elementMetadata = elementMetadata;
24
+ }
25
+ _buildPlanServiceNode() {
26
+ return this.#buildLazyPlanServiceNodeNodeFromClassElementMetadata(this.#params, this.#bindingConstraintsList, this.#elementMetadata);
27
+ }
28
+ }
29
+ class LazyResolvedValueMetadataPlanServiceNode extends LazyPlanServiceNode_1.LazyPlanServiceNode {
30
+ #params;
31
+ #buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata;
32
+ #bindingConstraintsList;
33
+ #resolvedValueElementMetadata;
34
+ constructor(params, buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, bindingConstraintsList, resolvedValueElementMetadata, serviceNode) {
35
+ super(serviceNode, (0, getServiceFromMaybeLazyServiceIdentifier_1.getServiceFromMaybeLazyServiceIdentifier)(resolvedValueElementMetadata.value));
36
+ this.#params = params;
37
+ this.#buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata =
38
+ buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata;
39
+ this.#bindingConstraintsList = bindingConstraintsList;
40
+ this.#resolvedValueElementMetadata = resolvedValueElementMetadata;
41
+ }
42
+ _buildPlanServiceNode() {
43
+ return this.#buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata(this.#params, this.#bindingConstraintsList, this.#resolvedValueElementMetadata);
44
+ }
45
+ }
46
+ function currySubplan(buildLazyPlanServiceNodeNodeFromClassElementMetadata, buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, buildPlanServiceNodeFromClassElementMetadata, buildPlanServiceNodeFromResolvedValueElementMetadata) {
47
+ const subplanInstanceBindingNode = currySubplanInstanceBindingNode(buildLazyPlanServiceNodeNodeFromClassElementMetadata, buildPlanServiceNodeFromClassElementMetadata);
48
+ const subplanResolvedValueBindingNode = currySubplanResolvedValueBindingNode(buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, buildPlanServiceNodeFromResolvedValueElementMetadata);
49
+ return (params, bindingConstraintsList) => {
50
+ if ((0, isInstanceBindingNode_1.isInstanceBindingNode)(params.node)) {
51
+ return subplanInstanceBindingNode(params, params.node, bindingConstraintsList);
52
+ }
53
+ else {
54
+ return subplanResolvedValueBindingNode(params, params.node, bindingConstraintsList);
55
+ }
56
+ };
57
+ }
58
+ function currySubplanInstanceBindingNode(buildLazyPlanServiceNodeNodeFromClassElementMetadata, buildPlanServiceNodeFromClassElementMetadata) {
59
+ const handlePlanServiceNodeBuildFromClassElementMetadata = curryHandlePlanServiceNodeBuildFromClassElementMetadata(buildLazyPlanServiceNodeNodeFromClassElementMetadata, buildPlanServiceNodeFromClassElementMetadata);
60
+ return (params, node, bindingConstraintsList) => {
61
+ const classMetadata = node.classMetadata;
62
+ for (const [index, elementMetadata,] of classMetadata.constructorArguments.entries()) {
63
+ node.constructorParams[index] =
64
+ handlePlanServiceNodeBuildFromClassElementMetadata(params, bindingConstraintsList, elementMetadata);
65
+ }
66
+ for (const [propertyKey, elementMetadata] of classMetadata.properties) {
67
+ const planServiceNode = handlePlanServiceNodeBuildFromClassElementMetadata(params, bindingConstraintsList, elementMetadata);
68
+ if (planServiceNode !== undefined) {
69
+ node.propertyParams.set(propertyKey, planServiceNode);
70
+ }
71
+ }
72
+ return params.node;
73
+ };
74
+ }
75
+ function currySubplanResolvedValueBindingNode(buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, buildPlanServiceNodeFromResolvedValueElementMetadata) {
76
+ const handlePlanServiceNodeBuildFromResolvedValueElementMetadata = curryHandlePlanServiceNodeBuildFromResolvedValueElementMetadata(buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, buildPlanServiceNodeFromResolvedValueElementMetadata);
77
+ return (params, node, bindingConstraintsList) => {
78
+ const resolvedValueMetadata = node.binding.metadata;
79
+ for (const [index, elementMetadata,] of resolvedValueMetadata.arguments.entries()) {
80
+ node.params[index] =
81
+ handlePlanServiceNodeBuildFromResolvedValueElementMetadata(params, bindingConstraintsList, elementMetadata);
82
+ }
83
+ return params.node;
84
+ };
85
+ }
86
+ function curryHandlePlanServiceNodeBuildFromClassElementMetadata(buildLazyPlanServiceNodeNodeFromClassElementMetadata, buildPlanServiceNodeFromClassElementMetadata) {
87
+ return (params, bindingConstraintsList, elementMetadata) => {
88
+ if (elementMetadata.kind === ClassElementMetadataKind_1.ClassElementMetadataKind.unmanaged) {
89
+ return undefined;
90
+ }
91
+ const getPlanOptions = (0, tryBuildGetPlanOptionsFromManagedClassElementMetadata_1.tryBuildGetPlanOptionsFromManagedClassElementMetadata)(elementMetadata);
92
+ if (getPlanOptions !== undefined) {
93
+ const planResult = params.operations.getPlan(getPlanOptions);
94
+ if (planResult !== undefined && planResult.tree.root.isContextFree) {
95
+ return planResult.tree.root;
96
+ }
97
+ }
98
+ const serviceNode = buildPlanServiceNodeFromClassElementMetadata(params, bindingConstraintsList, elementMetadata);
99
+ const lazyPlanServiceNode = new LazyManagedClassMetadataPlanServiceNode(params, buildLazyPlanServiceNodeNodeFromClassElementMetadata, bindingConstraintsList, elementMetadata, serviceNode);
100
+ (0, cacheNonRootPlanServiceNode_1.cacheNonRootPlanServiceNode)(getPlanOptions, params.operations, lazyPlanServiceNode, {
101
+ bindingConstraintsList,
102
+ chainedBindings: elementMetadata.kind === ClassElementMetadataKind_1.ClassElementMetadataKind.multipleInjection &&
103
+ elementMetadata.chained,
104
+ optionalBindings: elementMetadata.optional,
105
+ });
106
+ return lazyPlanServiceNode;
107
+ };
108
+ }
109
+ function curryHandlePlanServiceNodeBuildFromResolvedValueElementMetadata(buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, buildPlanServiceNodeFromResolvedValueElementMetadata) {
110
+ return (params, bindingConstraintsList, elementMetadata) => {
111
+ const getPlanOptions = (0, tryBuildGetPlanOptionsFromResolvedValueElementMetadata_1.tryBuildGetPlanOptionsFromResolvedValueElementMetadata)(elementMetadata);
112
+ if (getPlanOptions !== undefined) {
113
+ const planResult = params.operations.getPlan(getPlanOptions);
114
+ if (planResult !== undefined && planResult.tree.root.isContextFree) {
115
+ return planResult.tree.root;
116
+ }
117
+ }
118
+ const serviceNode = buildPlanServiceNodeFromResolvedValueElementMetadata(params, bindingConstraintsList, elementMetadata);
119
+ const lazyPlanServiceNode = new LazyResolvedValueMetadataPlanServiceNode(params, buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata, bindingConstraintsList, elementMetadata, serviceNode);
120
+ (0, cacheNonRootPlanServiceNode_1.cacheNonRootPlanServiceNode)(getPlanOptions, params.operations, lazyPlanServiceNode, {
121
+ bindingConstraintsList,
122
+ chainedBindings: elementMetadata.kind ===
123
+ ResolvedValueElementMetadataKind_1.ResolvedValueElementMetadataKind.multipleInjection &&
124
+ elementMetadata.chained,
125
+ optionalBindings: elementMetadata.optional,
126
+ });
127
+ return lazyPlanServiceNode;
128
+ };
129
+ }
130
+ //# sourceMappingURL=currySubplan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currySubplan.js","sourceRoot":"","sources":["../../../../src/planning/actions/currySubplan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=currySubplan.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currySubplan.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/currySubplan.spec.ts"],"names":[],"mappings":""}
@@ -1,4 +1,12 @@
1
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
+ import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
4
+ import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
1
5
  import { PlanParams } from '../models/PlanParams';
2
6
  import { PlanResult } from '../models/PlanResult';
7
+ import { PlanServiceNode } from '../models/PlanServiceNode';
8
+ import { SubplanParams } from '../models/SubplanParams';
9
+ export declare const buildPlanServiceNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode;
10
+ export declare const buildPlanServiceNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode;
3
11
  export declare function plan(params: PlanParams): PlanResult;
4
12
  //# sourceMappingURL=plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/plan.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA+HlD,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CA2BnD"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAQlG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAqBxD,eAAO,MAAM,4CAA4C,EAAE,CACzD,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,2BAA2B,KACzC,eAEJ,CAAC;AAEF,eAAO,MAAM,oDAAoD,EAAE,CACjE,MAAM,EAAE,aAAa,EACrB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,4BAA4B,KAC1C,eAGF,CAAC;AAuCJ,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CA2BnD"}