@inversifyjs/core 6.0.0 → 7.0.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 (128) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/lib/cjs/binding/services/ActivationsService.d.ts +1 -1
  3. package/lib/cjs/binding/services/ActivationsService.d.ts.map +1 -1
  4. package/lib/cjs/binding/services/ActivationsService.js +7 -7
  5. package/lib/cjs/binding/services/ActivationsService.js.map +1 -1
  6. package/lib/cjs/binding/services/BindingService.d.ts +1 -1
  7. package/lib/cjs/binding/services/BindingService.d.ts.map +1 -1
  8. package/lib/cjs/binding/services/BindingService.js +15 -13
  9. package/lib/cjs/binding/services/BindingService.js.map +1 -1
  10. package/lib/cjs/binding/services/DeactivationsService.d.ts +1 -1
  11. package/lib/cjs/binding/services/DeactivationsService.d.ts.map +1 -1
  12. package/lib/cjs/binding/services/DeactivationsService.js +7 -7
  13. package/lib/cjs/binding/services/DeactivationsService.js.map +1 -1
  14. package/lib/cjs/index.d.ts +5 -2
  15. package/lib/cjs/index.d.ts.map +1 -1
  16. package/lib/cjs/index.js +3 -1
  17. package/lib/cjs/index.js.map +1 -1
  18. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.d.ts +5 -0
  19. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.d.ts.map +1 -0
  20. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.js +3 -0
  21. package/lib/cjs/metadata/models/PlanServiceNodeBindingAddedResult.js.map +1 -0
  22. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.d.ts +6 -0
  23. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.d.ts.map +1 -0
  24. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.js +3 -0
  25. package/lib/cjs/metadata/models/PlanServiceNodeBindingRemovedResult.js.map +1 -0
  26. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.d.ts +13 -0
  27. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.d.ts.map +1 -0
  28. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.js +25 -0
  29. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.js.map +1 -0
  30. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  31. package/lib/cjs/planning/actions/addRootServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  32. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.d.ts +17 -0
  33. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.d.ts.map +1 -0
  34. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js +70 -0
  35. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js.map +1 -0
  36. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  37. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  38. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts +2 -1
  39. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts.map +1 -1
  40. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js +7 -3
  41. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js.map +1 -1
  42. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.d.ts +10 -0
  43. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.d.ts.map +1 -0
  44. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.js +33 -0
  45. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.js.map +1 -0
  46. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.spec.d.ts +2 -0
  47. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.spec.d.ts.map +1 -0
  48. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.d.ts +11 -0
  49. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.d.ts.map +1 -0
  50. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.js +41 -0
  51. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.js.map +1 -0
  52. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts +2 -0
  53. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map +1 -0
  54. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +11 -0
  55. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map +1 -0
  56. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js +42 -0
  57. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map +1 -0
  58. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts +2 -0
  59. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map +1 -0
  60. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.d.ts +9 -0
  61. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.d.ts.map +1 -0
  62. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.js +92 -0
  63. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.js.map +1 -0
  64. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.spec.d.ts +2 -0
  65. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.spec.d.ts.map +1 -0
  66. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts +11 -0
  67. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts.map +1 -0
  68. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.js +21 -0
  69. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.js.map +1 -0
  70. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts +2 -0
  71. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.spec.d.ts.map +1 -0
  72. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +11 -0
  73. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map +1 -0
  74. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js +21 -0
  75. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map +1 -0
  76. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts +2 -0
  77. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.spec.d.ts.map +1 -0
  78. package/lib/cjs/planning/actions/currySubplan.d.ts +9 -0
  79. package/lib/cjs/planning/actions/currySubplan.d.ts.map +1 -0
  80. package/lib/cjs/planning/actions/currySubplan.js +130 -0
  81. package/lib/cjs/planning/actions/currySubplan.js.map +1 -0
  82. package/lib/cjs/planning/actions/currySubplan.spec.d.ts +2 -0
  83. package/lib/cjs/planning/actions/currySubplan.spec.d.ts.map +1 -0
  84. package/lib/cjs/planning/actions/plan.d.ts +8 -0
  85. package/lib/cjs/planning/actions/plan.d.ts.map +1 -1
  86. package/lib/cjs/planning/actions/plan.js +14 -259
  87. package/lib/cjs/planning/actions/plan.js.map +1 -1
  88. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.d.ts +13 -0
  89. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.d.ts.map +1 -0
  90. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.js +24 -0
  91. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.js.map +1 -0
  92. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  93. package/lib/cjs/planning/actions/removeRootServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  94. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.d.ts +15 -0
  95. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.d.ts.map +1 -0
  96. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.js +60 -0
  97. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.js.map +1 -0
  98. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.spec.d.ts +2 -0
  99. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.spec.d.ts.map +1 -0
  100. package/lib/cjs/planning/models/CacheBindingInvalidation.d.ts +9 -0
  101. package/lib/cjs/planning/models/CacheBindingInvalidation.d.ts.map +1 -0
  102. package/lib/cjs/planning/models/CacheBindingInvalidation.js +3 -0
  103. package/lib/cjs/planning/models/CacheBindingInvalidation.js.map +1 -0
  104. package/lib/cjs/planning/models/CacheBindingInvalidationKind.d.ts +5 -0
  105. package/lib/cjs/planning/models/CacheBindingInvalidationKind.d.ts.map +1 -0
  106. package/lib/cjs/planning/models/CacheBindingInvalidationKind.js +9 -0
  107. package/lib/cjs/planning/models/CacheBindingInvalidationKind.js.map +1 -0
  108. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts +2 -1
  109. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts.map +1 -1
  110. package/lib/cjs/planning/models/LazyPlanServiceNode.js +5 -2
  111. package/lib/cjs/planning/models/LazyPlanServiceNode.js.map +1 -1
  112. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts +1 -8
  113. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts.map +1 -1
  114. package/lib/cjs/planning/models/NonCachedServiceNodeContext.d.ts +8 -0
  115. package/lib/cjs/planning/models/NonCachedServiceNodeContext.d.ts.map +1 -0
  116. package/lib/cjs/planning/models/NonCachedServiceNodeContext.js +3 -0
  117. package/lib/cjs/planning/models/NonCachedServiceNodeContext.js.map +1 -0
  118. package/lib/cjs/planning/models/PlanParamsOperations.d.ts +2 -1
  119. package/lib/cjs/planning/models/PlanParamsOperations.d.ts.map +1 -1
  120. package/lib/cjs/planning/services/PlanResultCacheService.d.ts +4 -3
  121. package/lib/cjs/planning/services/PlanResultCacheService.d.ts.map +1 -1
  122. package/lib/cjs/planning/services/PlanResultCacheService.js +162 -63
  123. package/lib/cjs/planning/services/PlanResultCacheService.js.map +1 -1
  124. package/lib/esm/index.d.ts +43 -8
  125. package/lib/esm/index.d.ts.map +1 -1
  126. package/lib/esm/index.js +1 -1
  127. package/lib/esm/index.js.map +1 -1
  128. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeServiceNodeBindingIfContextFree.js","sourceRoot":"","sources":["../../../../src/planning/actions/removeServiceNodeBindingIfContextFree.ts"],"names":[],"mappings":";;AAsBA,sFA8DC;AAlFD,4GAG+D;AAE/D,8EAA2E;AAC3E,sFAAmF;AAEnF,uEAAoE;AAIpE;;;;;;;GAOG;AACH,SAAgB,qCAAqC,CACnD,WAA4B,EAC5B,OAAyB,EACzB,sBAA6E,EAC7E,gBAAyB;IAEzB,IAAI,yCAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;QACrE,OAAO;YACL,kBAAkB,EAAE,SAAS;YAC7B,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GACtB,IAAI,mEAAgC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAEpE,IACE,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAC1C,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EACnD,CAAC;QACD,OAAO;YACL,kBAAkB,EAAE,SAAS;YAC7B,oBAAoB,EAClB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;SACvD,CAAC;IACJ,CAAC;IAED,IAAI,kBAA+C,CAAC;IAEpD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAChD,CAAC,WAA4B,EAAW,EAAE;YACxC,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACpC,kBAAkB,GAAG,WAAW,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9C,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC;YAE1C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,yCAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,QAAQ,EAC/B,8GAA8G,CAC/G,CAAC;gBACJ,CAAC;gBAED,WAAW,CAAC,UAAU,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,kBAAkB;QACtC,oBAAoB,EAAE,IAAI;KAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=removeServiceNodeBindingIfContextFree.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeServiceNodeBindingIfContextFree.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/removeServiceNodeBindingIfContextFree.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { Binding } from '../../binding/models/Binding';
2
+ import { CacheBindingInvalidationKind } from './CacheBindingInvalidationKind';
3
+ import { PlanParamsOperations } from './PlanParamsOperations';
4
+ export interface CacheBindingInvalidation {
5
+ binding: Binding<unknown>;
6
+ kind: CacheBindingInvalidationKind;
7
+ operations: PlanParamsOperations;
8
+ }
9
+ //# sourceMappingURL=CacheBindingInvalidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheBindingInvalidation.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/CacheBindingInvalidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,EAAE,4BAA4B,CAAC;IACnC,UAAU,EAAE,oBAAoB,CAAC;CAClC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CacheBindingInvalidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheBindingInvalidation.js","sourceRoot":"","sources":["../../../../src/planning/models/CacheBindingInvalidation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare enum CacheBindingInvalidationKind {
2
+ bindingAdded = "bindingAdded",
3
+ bindingRemoved = "bindingRemoved"
4
+ }
5
+ //# sourceMappingURL=CacheBindingInvalidationKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheBindingInvalidationKind.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/CacheBindingInvalidationKind.ts"],"names":[],"mappings":"AAAA,oBAAY,4BAA4B;IACtC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheBindingInvalidationKind = void 0;
4
+ var CacheBindingInvalidationKind;
5
+ (function (CacheBindingInvalidationKind) {
6
+ CacheBindingInvalidationKind["bindingAdded"] = "bindingAdded";
7
+ CacheBindingInvalidationKind["bindingRemoved"] = "bindingRemoved";
8
+ })(CacheBindingInvalidationKind || (exports.CacheBindingInvalidationKind = CacheBindingInvalidationKind = {}));
9
+ //# sourceMappingURL=CacheBindingInvalidationKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheBindingInvalidationKind.js","sourceRoot":"","sources":["../../../../src/planning/models/CacheBindingInvalidationKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,6DAA6B,CAAA;IAC7B,iEAAiC,CAAA;AACnC,CAAC,EAHW,4BAA4B,4CAA5B,4BAA4B,QAGvC"}
@@ -6,7 +6,7 @@ export declare abstract class LazyPlanServiceNode implements PlanServiceNode {
6
6
  [isLazyPlanServiceNodeSymbol]: true;
7
7
  protected readonly _serviceIdentifier: ServiceIdentifier;
8
8
  protected _serviceNode: PlanServiceNode | undefined;
9
- constructor(serviceNode: PlanServiceNode);
9
+ constructor(serviceNode: PlanServiceNode | undefined, serviceIdentifier: ServiceIdentifier);
10
10
  get bindings(): PlanBindingNode | PlanBindingNode[] | undefined;
11
11
  get isContextFree(): boolean;
12
12
  get serviceIdentifier(): ServiceIdentifier;
@@ -14,6 +14,7 @@ export declare abstract class LazyPlanServiceNode implements PlanServiceNode {
14
14
  set isContextFree(isContextFree: boolean);
15
15
  static is(value: unknown): value is LazyPlanServiceNode;
16
16
  invalidate(): void;
17
+ isExpanded(): boolean;
17
18
  protected _getNode(): PlanServiceNode;
18
19
  protected abstract _buildPlanServiceNode(): PlanServiceNode;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LazyPlanServiceNode.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,2BAA2B,EAAE,MAElC,CAAC;AAEF,8BAAsB,mBAAoB,YAAW,eAAe;IAC3D,CAAC,2BAA2B,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IACzD,SAAS,CAAC,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;gBAExC,WAAW,EAAE,eAAe;IAMxC,IAAW,QAAQ,IAAI,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,CAErE;IAED,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,iBAAiB,IAAI,iBAAiB,CAEhD;IAED,IAAW,QAAQ,CACjB,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,EAG1D;IAED,IAAW,aAAa,CAAC,aAAa,EAAE,OAAO,EAE9C;WAEa,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB;IASvD,UAAU,IAAI,IAAI;IAIzB,SAAS,CAAC,QAAQ,IAAI,eAAe;IAQrC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,eAAe;CAC5D"}
1
+ {"version":3,"file":"LazyPlanServiceNode.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,2BAA2B,EAAE,MAElC,CAAC;AAEF,8BAAsB,mBAAoB,YAAW,eAAe;IAC3D,CAAC,2BAA2B,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IACzD,SAAS,CAAC,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;gBAGlD,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,iBAAiB,EAAE,iBAAiB;IAOtC,IAAW,QAAQ,IAAI,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,CAErE;IAED,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,iBAAiB,IAAI,iBAAiB,CAEhD;IAED,IAAW,QAAQ,CACjB,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,EAG1D;IAED,IAAW,aAAa,CAAC,aAAa,EAAE,OAAO,EAE9C;WAEa,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB;IASvD,UAAU,IAAI,IAAI;IAIlB,UAAU,IAAI,OAAO;IAI5B,SAAS,CAAC,QAAQ,IAAI,eAAe;IAQrC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,eAAe;CAC5D"}
@@ -6,10 +6,10 @@ class LazyPlanServiceNode {
6
6
  [isLazyPlanServiceNodeSymbol];
7
7
  _serviceIdentifier;
8
8
  _serviceNode;
9
- constructor(serviceNode) {
9
+ constructor(serviceNode, serviceIdentifier) {
10
10
  this[isLazyPlanServiceNodeSymbol] = true;
11
- this._serviceIdentifier = serviceNode.serviceIdentifier;
12
11
  this._serviceNode = serviceNode;
12
+ this._serviceIdentifier = serviceIdentifier;
13
13
  }
14
14
  get bindings() {
15
15
  return this._getNode().bindings;
@@ -35,6 +35,9 @@ class LazyPlanServiceNode {
35
35
  invalidate() {
36
36
  this._serviceNode = undefined;
37
37
  }
38
+ isExpanded() {
39
+ return this._serviceNode !== undefined;
40
+ }
38
41
  _getNode() {
39
42
  if (this._serviceNode === undefined) {
40
43
  this._serviceNode = this._buildPlanServiceNode();
@@ -1 +1 @@
1
- {"version":3,"file":"LazyPlanServiceNode.js","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.ts"],"names":[],"mappings":";;;AAKA,MAAM,2BAA2B,GAAW,MAAM,CAAC,GAAG,CACpD,uCAAuC,CACxC,CAAC;AAEF,MAAsB,mBAAmB;IAChC,CAAC,2BAA2B,CAAC,CAAO;IACxB,kBAAkB,CAAoB;IAC/C,YAAY,CAA8B;IAEpD,YAAY,WAA4B;QACtC,IAAI,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,iBAAiB,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,QAAQ,CACjB,QAAyD;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,IAAW,aAAa,CAAC,aAAsB;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG,aAAa,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAc;QAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAsC,CAAC,2BAA2B,CAAC;gBAClE,IAAI,CACP,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAES,QAAQ;QAChB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CAGF;AAvDD,kDAuDC"}
1
+ {"version":3,"file":"LazyPlanServiceNode.js","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.ts"],"names":[],"mappings":";;;AAKA,MAAM,2BAA2B,GAAW,MAAM,CAAC,GAAG,CACpD,uCAAuC,CACxC,CAAC;AAEF,MAAsB,mBAAmB;IAChC,CAAC,2BAA2B,CAAC,CAAO;IACxB,kBAAkB,CAAoB;IAC/C,YAAY,CAA8B;IAEpD,YACE,WAAwC,EACxC,iBAAoC;QAEpC,IAAI,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;IAC9C,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,QAAQ,CACjB,QAAyD;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,IAAW,aAAa,CAAC,aAAsB;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG,aAAa,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAc;QAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAsC,CAAC,2BAA2B,CAAC;gBAClE,IAAI,CACP,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IACzC,CAAC;IAES,QAAQ;QAChB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CAGF;AA9DD,kDA8DC"}
@@ -1,9 +1,2 @@
1
- import { Mock } from 'vitest';
2
- import { LazyPlanServiceNode } from './LazyPlanServiceNode';
3
- import { PlanServiceNode } from './PlanServiceNode';
4
- export declare class LazyPlanServiceNodeTest extends LazyPlanServiceNode {
5
- #private;
6
- constructor(serviceNode: PlanServiceNode, buildPlanServiceNode: Mock<() => PlanServiceNode>);
7
- protected _buildPlanServiceNode(): PlanServiceNode;
8
- }
1
+ export {};
9
2
  //# sourceMappingURL=LazyPlanServiceNode.spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LazyPlanServiceNode.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,EAEL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,uBAAwB,SAAQ,mBAAmB;;gBAI5D,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,IAAI,CAAC,MAAM,eAAe,CAAC;IAOnD,SAAS,CAAC,qBAAqB,IAAI,eAAe;CAGnD"}
1
+ {"version":3,"file":"LazyPlanServiceNode.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/LazyPlanServiceNode.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
+ import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ export interface NonCachedServiceNodeContext {
4
+ bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>;
5
+ chainedBindings: boolean;
6
+ optionalBindings: boolean;
7
+ }
8
+ //# sourceMappingURL=NonCachedServiceNodeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NonCachedServiceNodeContext.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/NonCachedServiceNodeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAE1F,MAAM,WAAW,2BAA2B;IAC1C,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=NonCachedServiceNodeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NonCachedServiceNodeContext.js","sourceRoot":"","sources":["../../../../src/planning/models/NonCachedServiceNodeContext.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { Newable, ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { Binding } from '../../binding/models/Binding';
3
3
  import { ClassMetadata } from '../../metadata/models/ClassMetadata';
4
4
  import { GetPlanOptions } from './GetPlanOptions';
5
+ import { NonCachedServiceNodeContext } from './NonCachedServiceNodeContext';
5
6
  import { PlanResult } from './PlanResult';
6
7
  import { PlanServiceNode } from './PlanServiceNode';
7
8
  export interface PlanParamsOperations {
@@ -10,7 +11,7 @@ export interface PlanParamsOperations {
10
11
  readonly getClassMetadata: (type: Newable) => ClassMetadata;
11
12
  readonly getPlan: (options: GetPlanOptions) => PlanResult | undefined;
12
13
  setBinding: <TInstance>(binding: Binding<TInstance>) => void;
13
- readonly setNonCachedServiceNode: (node: PlanServiceNode) => void;
14
+ readonly setNonCachedServiceNode: (node: PlanServiceNode, context: NonCachedServiceNodeContext) => void;
14
15
  readonly setPlan: (options: GetPlanOptions, planResult: PlanResult) => void;
15
16
  }
16
17
  //# sourceMappingURL=PlanParamsOperations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanParamsOperations.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/PlanParamsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,CAAC,SAAS,EACrB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9C,kBAAkB,EAAE,CAAC,SAAS,EAC5B,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,aAAa,CAAC;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC7E"}
1
+ {"version":3,"file":"PlanParamsOperations.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/PlanParamsOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,CAAC,SAAS,EACrB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9C,kBAAkB,EAAE,CAAC,SAAS,EAC5B,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAC5C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,aAAa,CAAC;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,uBAAuB,EAAE,CAChC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,2BAA2B,KACjC,IAAI,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC7E"}
@@ -1,5 +1,6 @@
1
- import { ServiceIdentifier } from '@inversifyjs/common';
1
+ import { CacheBindingInvalidation } from '../models/CacheBindingInvalidation';
2
2
  import { GetPlanOptions } from '../models/GetPlanOptions';
3
+ import { NonCachedServiceNodeContext } from '../models/NonCachedServiceNodeContext';
3
4
  import { PlanResult } from '../models/PlanResult';
4
5
  import { PlanServiceNode } from '../models/PlanServiceNode';
5
6
  /**
@@ -17,9 +18,9 @@ export declare class PlanResultCacheService {
17
18
  constructor();
18
19
  clearCache(): void;
19
20
  get(options: GetPlanOptions): PlanResult | undefined;
20
- invalidateService(serviceIdentifier: ServiceIdentifier): void;
21
+ invalidateServiceBinding(invalidation: CacheBindingInvalidation): void;
21
22
  set(options: GetPlanOptions, planResult: PlanResult): void;
22
- setNonCachedServiceNode(node: PlanServiceNode): void;
23
+ setNonCachedServiceNode(node: PlanServiceNode, context: NonCachedServiceNodeContext): void;
23
24
  subscribe(subscriber: PlanResultCacheService): void;
24
25
  }
25
26
  //# sourceMappingURL=PlanResultCacheService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanResultCacheService.d.ts","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAU5D;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;;;IAiC1B,UAAU,IAAI,IAAI;IAUlB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAqCpD,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI;IAY7D,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2C1D,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAgBpD,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;CAyO3D"}
1
+ {"version":3,"file":"PlanResultCacheService.d.ts","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAKpF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAU5D;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;;;IAiC1B,UAAU,IAAI,IAAI;IAUlB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAqCpD,wBAAwB,CAC7B,YAAY,EAAE,wBAAwB,GACrC,IAAI;IAYA,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2C1D,uBAAuB,CAC5B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,2BAA2B,GACnC,IAAI;IAmBA,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;CAyY3D"}
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlanResultCacheService = void 0;
4
4
  const BindingType_1 = require("../../binding/models/BindingType");
5
5
  const WeakList_1 = require("../../common/models/WeakList");
6
+ const addRootServiceNodeBindingIfContextFree_1 = require("../actions/addRootServiceNodeBindingIfContextFree");
7
+ const addServiceNodeBindingIfContextFree_1 = require("../actions/addServiceNodeBindingIfContextFree");
8
+ const removeRootServiceNodeBindingIfContextFree_1 = require("../actions/removeRootServiceNodeBindingIfContextFree");
9
+ const removeServiceNodeBindingIfContextFree_1 = require("../actions/removeServiceNodeBindingIfContextFree");
10
+ const CacheBindingInvalidationKind_1 = require("../models/CacheBindingInvalidationKind");
6
11
  const LazyPlanServiceNode_1 = require("../models/LazyPlanServiceNode");
7
12
  const CHAINED_MASK = 0x4;
8
13
  const IS_MULTIPLE_MASK = 0x2;
@@ -19,14 +24,14 @@ const MAP_ARRAY_LENGTH = 0x8;
19
24
  * Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
20
25
  */
21
26
  class PlanResultCacheService {
22
- #serviceIdToNonCachedServiceNodeSetMap;
27
+ #serviceIdToNonCachedServiceNodeMapMap;
23
28
  #serviceIdToValuePlanMap;
24
29
  #namedServiceIdToValuePlanMap;
25
30
  #namedTaggedServiceIdToValuePlanMap;
26
31
  #taggedServiceIdToValuePlanMap;
27
32
  #subscribers;
28
33
  constructor() {
29
- this.#serviceIdToNonCachedServiceNodeSetMap = new Map();
34
+ this.#serviceIdToNonCachedServiceNodeMapMap = new Map();
30
35
  this.#serviceIdToValuePlanMap = this.#buildInitializedMapArray();
31
36
  this.#namedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
32
37
  this.#namedTaggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
@@ -68,14 +73,14 @@ class PlanResultCacheService {
68
73
  }
69
74
  }
70
75
  }
71
- invalidateService(serviceIdentifier) {
72
- this.#invalidateServiceMap(serviceIdentifier);
73
- this.#invalidateNamedServiceMap(serviceIdentifier);
74
- this.#invalidateNamedTaggedServiceMap(serviceIdentifier);
75
- this.#invalidateTaggedServiceMap(serviceIdentifier);
76
- this.#invalidateNonCachedServiceNodeSetMap(serviceIdentifier);
76
+ invalidateServiceBinding(invalidation) {
77
+ this.#invalidateServiceMap(invalidation);
78
+ this.#invalidateNamedServiceMap(invalidation);
79
+ this.#invalidateNamedTaggedServiceMap(invalidation);
80
+ this.#invalidateTaggedServiceMap(invalidation);
81
+ this.#invalidateNonCachedServiceNodeSetMap(invalidation);
77
82
  for (const subscriber of this.#subscribers) {
78
- subscriber.invalidateService(serviceIdentifier);
83
+ subscriber.invalidateServiceBinding(invalidation);
79
84
  }
80
85
  }
81
86
  set(options, planResult) {
@@ -96,13 +101,13 @@ class PlanResultCacheService {
96
101
  }
97
102
  }
98
103
  }
99
- setNonCachedServiceNode(node) {
100
- let nonCachedSet = this.#serviceIdToNonCachedServiceNodeSetMap.get(node.serviceIdentifier);
101
- if (nonCachedSet === undefined) {
102
- nonCachedSet = new Set();
103
- this.#serviceIdToNonCachedServiceNodeSetMap.set(node.serviceIdentifier, nonCachedSet);
104
+ setNonCachedServiceNode(node, context) {
105
+ let nonCachedMap = this.#serviceIdToNonCachedServiceNodeMapMap.get(node.serviceIdentifier);
106
+ if (nonCachedMap === undefined) {
107
+ nonCachedMap = new Map();
108
+ this.#serviceIdToNonCachedServiceNodeMapMap.set(node.serviceIdentifier, nonCachedMap);
104
109
  }
105
- nonCachedSet.add(node);
110
+ nonCachedMap.set(node, context);
106
111
  }
107
112
  subscribe(subscriber) {
108
113
  this.#subscribers.push(subscriber);
@@ -114,6 +119,40 @@ class PlanResultCacheService {
114
119
  }
115
120
  return mapArray;
116
121
  }
122
+ #buildUpdatePlanParams(invalidation, index, name, tag) {
123
+ const isMultiple = (index & IS_MULTIPLE_MASK) !== 0;
124
+ let planParamsConstraint;
125
+ if (isMultiple) {
126
+ const isChained = (index & IS_MULTIPLE_MASK & CHAINED_MASK) !== 0;
127
+ planParamsConstraint = {
128
+ chained: isChained,
129
+ isMultiple,
130
+ serviceIdentifier: invalidation.binding.serviceIdentifier,
131
+ };
132
+ }
133
+ else {
134
+ planParamsConstraint = {
135
+ isMultiple,
136
+ serviceIdentifier: invalidation.binding.serviceIdentifier,
137
+ };
138
+ }
139
+ const isOptional = (index & OPTIONAL_MASK) !== 0;
140
+ if (isOptional) {
141
+ planParamsConstraint.isOptional = true;
142
+ }
143
+ if (name !== undefined) {
144
+ planParamsConstraint.name = name;
145
+ }
146
+ if (tag !== undefined) {
147
+ planParamsConstraint.tag = tag;
148
+ }
149
+ return {
150
+ autobindOptions: undefined,
151
+ operations: invalidation.operations,
152
+ rootConstraints: planParamsConstraint,
153
+ servicesBranch: [],
154
+ };
155
+ }
117
156
  #getOrBuildMapValueFromMapMap(map, key) {
118
157
  let valueMap = map.get(key);
119
158
  if (valueMap === undefined) {
@@ -127,7 +166,7 @@ class PlanResultCacheService {
127
166
  }
128
167
  #getMaps() {
129
168
  return [
130
- this.#serviceIdToNonCachedServiceNodeSetMap,
169
+ this.#serviceIdToNonCachedServiceNodeMapMap,
131
170
  ...this.#serviceIdToValuePlanMap,
132
171
  ...this.#namedServiceIdToValuePlanMap,
133
172
  ...this.#namedTaggedServiceIdToValuePlanMap,
@@ -144,30 +183,27 @@ class PlanResultCacheService {
144
183
  return options.optional ? OPTIONAL_MASK : 0;
145
184
  }
146
185
  }
147
- #invalidateNamedServiceMap(serviceIdentifier) {
148
- for (const map of this.#namedServiceIdToValuePlanMap) {
149
- const servicePlans = map.get(serviceIdentifier);
186
+ #invalidateNamedServiceMap(invalidation) {
187
+ for (const [index, map] of this.#namedServiceIdToValuePlanMap.entries()) {
188
+ const servicePlans = map.get(invalidation.binding.serviceIdentifier);
150
189
  if (servicePlans !== undefined) {
151
- for (const servicePlan of servicePlans.values()) {
152
- if (LazyPlanServiceNode_1.LazyPlanServiceNode.is(servicePlan.tree.root)) {
153
- this.#invalidateNonCachePlanServiceNodeDescendents(servicePlan.tree.root);
154
- servicePlan.tree.root.invalidate();
155
- }
190
+ for (const [name, servicePlan] of servicePlans.entries()) {
191
+ this.#updatePlan(invalidation, servicePlan, index, name, undefined);
156
192
  }
157
193
  }
158
194
  }
159
195
  }
160
- #invalidateNamedTaggedServiceMap(serviceIdentifier) {
161
- for (const map of this.#namedTaggedServiceIdToValuePlanMap) {
162
- const servicePlanMapMapMap = map.get(serviceIdentifier);
196
+ #invalidateNamedTaggedServiceMap(invalidation) {
197
+ for (const [index, map,] of this.#namedTaggedServiceIdToValuePlanMap.entries()) {
198
+ const servicePlanMapMapMap = map.get(invalidation.binding.serviceIdentifier);
163
199
  if (servicePlanMapMapMap !== undefined) {
164
- for (const servicePlanMapMap of servicePlanMapMapMap.values()) {
165
- for (const servicePlanMap of servicePlanMapMap.values()) {
166
- for (const servicePlan of servicePlanMap.values()) {
167
- if (LazyPlanServiceNode_1.LazyPlanServiceNode.is(servicePlan.tree.root)) {
168
- this.#invalidateNonCachePlanServiceNodeDescendents(servicePlan.tree.root);
169
- servicePlan.tree.root.invalidate();
170
- }
200
+ for (const [name, servicePlanMapMap,] of servicePlanMapMapMap.entries()) {
201
+ for (const [tag, servicePlanMap] of servicePlanMapMap.entries()) {
202
+ for (const [tagValue, servicePlan] of servicePlanMap.entries()) {
203
+ this.#updatePlan(invalidation, servicePlan, index, name, {
204
+ key: tag,
205
+ value: tagValue,
206
+ });
171
207
  }
172
208
  }
173
209
  }
@@ -201,15 +237,19 @@ class PlanResultCacheService {
201
237
  }
202
238
  }
203
239
  #invalidateNonCachePlanServiceNode(planServiceNode) {
204
- const serviceNonCachedSet = this.#serviceIdToNonCachedServiceNodeSetMap.get(planServiceNode.serviceIdentifier);
205
- if (serviceNonCachedSet === undefined ||
206
- !serviceNonCachedSet.has(planServiceNode)) {
240
+ const serviceNonCachedMap = this.#serviceIdToNonCachedServiceNodeMapMap.get(planServiceNode.serviceIdentifier);
241
+ if (serviceNonCachedMap === undefined ||
242
+ !serviceNonCachedMap.has(planServiceNode)) {
207
243
  return;
208
244
  }
209
- serviceNonCachedSet.delete(planServiceNode);
245
+ serviceNonCachedMap.delete(planServiceNode);
210
246
  this.#invalidateNonCachePlanServiceNodeDescendents(planServiceNode);
211
247
  }
212
248
  #invalidateNonCachePlanServiceNodeDescendents(planServiceNode) {
249
+ if (LazyPlanServiceNode_1.LazyPlanServiceNode.is(planServiceNode) &&
250
+ !planServiceNode.isExpanded()) {
251
+ return;
252
+ }
213
253
  if (planServiceNode.bindings === undefined) {
214
254
  return;
215
255
  }
@@ -222,42 +262,101 @@ class PlanResultCacheService {
222
262
  this.#invalidateNonCachePlanBindingNodeDescendents(planServiceNode.bindings);
223
263
  }
224
264
  }
225
- #invalidateNonCachedServiceNodeSetMap(serviceIdentifier) {
226
- const serviceNonCachedServiceNodeSet = this.#serviceIdToNonCachedServiceNodeSetMap.get(serviceIdentifier);
227
- if (serviceNonCachedServiceNodeSet !== undefined) {
228
- for (const serviceNode of serviceNonCachedServiceNodeSet) {
229
- if (LazyPlanServiceNode_1.LazyPlanServiceNode.is(serviceNode)) {
230
- this.#invalidateNonCachePlanServiceNodeDescendents(serviceNode);
231
- serviceNode.invalidate();
232
- }
265
+ #invalidateNonCachedServiceNodeSetMap(invalidation) {
266
+ const serviceNonCachedServiceNodeMap = this.#serviceIdToNonCachedServiceNodeMapMap.get(invalidation.binding.serviceIdentifier);
267
+ if (serviceNonCachedServiceNodeMap !== undefined) {
268
+ switch (invalidation.kind) {
269
+ case CacheBindingInvalidationKind_1.CacheBindingInvalidationKind.bindingAdded:
270
+ for (const [serviceNode, context] of serviceNonCachedServiceNodeMap) {
271
+ const result = (0, addServiceNodeBindingIfContextFree_1.addServiceNodeBindingIfContextFree)({
272
+ autobindOptions: undefined,
273
+ operations: invalidation.operations,
274
+ servicesBranch: [],
275
+ }, serviceNode, invalidation.binding, context.bindingConstraintsList, context.chainedBindings);
276
+ if (result.isContextFreeBinding) {
277
+ if (result.shouldInvalidateServiceNode &&
278
+ LazyPlanServiceNode_1.LazyPlanServiceNode.is(serviceNode)) {
279
+ this.#invalidateNonCachePlanServiceNodeDescendents(serviceNode);
280
+ serviceNode.invalidate();
281
+ }
282
+ }
283
+ else {
284
+ this.clearCache();
285
+ }
286
+ }
287
+ break;
288
+ case CacheBindingInvalidationKind_1.CacheBindingInvalidationKind.bindingRemoved:
289
+ for (const [serviceNode, context] of serviceNonCachedServiceNodeMap) {
290
+ const result = (0, removeServiceNodeBindingIfContextFree_1.removeServiceNodeBindingIfContextFree)(serviceNode, invalidation.binding, context.bindingConstraintsList, context.optionalBindings);
291
+ if (result.isContextFreeBinding) {
292
+ if (result.bindingNodeRemoved !== undefined) {
293
+ this.#invalidateNonCachePlanBindingNodeDescendents(result.bindingNodeRemoved);
294
+ }
295
+ }
296
+ else {
297
+ this.clearCache();
298
+ }
299
+ }
300
+ break;
233
301
  }
234
302
  }
235
303
  }
236
- #invalidateServiceMap(serviceIdentifier) {
237
- for (const map of this.#serviceIdToValuePlanMap) {
238
- const servicePlan = map.get(serviceIdentifier);
239
- if (servicePlan !== undefined &&
240
- LazyPlanServiceNode_1.LazyPlanServiceNode.is(servicePlan.tree.root)) {
241
- this.#invalidateNonCachePlanServiceNodeDescendents(servicePlan.tree.root);
242
- servicePlan.tree.root.invalidate();
243
- }
304
+ #invalidateServiceMap(invalidation) {
305
+ for (const [index, map] of this.#serviceIdToValuePlanMap.entries()) {
306
+ const servicePlan = map.get(invalidation.binding.serviceIdentifier);
307
+ this.#updatePlan(invalidation, servicePlan, index, undefined, undefined);
244
308
  }
245
309
  }
246
- #invalidateTaggedServiceMap(serviceIdentifier) {
247
- for (const map of this.#taggedServiceIdToValuePlanMap) {
248
- const servicePlanMapMap = map.get(serviceIdentifier);
310
+ #invalidateTaggedServiceMap(invalidation) {
311
+ for (const [index, map] of this.#taggedServiceIdToValuePlanMap.entries()) {
312
+ const servicePlanMapMap = map.get(invalidation.binding.serviceIdentifier);
249
313
  if (servicePlanMapMap !== undefined) {
250
- for (const servicePlanMap of servicePlanMapMap.values()) {
251
- for (const servicePlan of servicePlanMap.values()) {
252
- if (LazyPlanServiceNode_1.LazyPlanServiceNode.is(servicePlan.tree.root)) {
253
- this.#invalidateNonCachePlanServiceNodeDescendents(servicePlan.tree.root);
254
- servicePlan.tree.root.invalidate();
255
- }
314
+ for (const [tag, servicePlanMap] of servicePlanMapMap.entries()) {
315
+ for (const [tagValue, servicePlan] of servicePlanMap.entries()) {
316
+ this.#updatePlan(invalidation, servicePlan, index, undefined, {
317
+ key: tag,
318
+ value: tagValue,
319
+ });
256
320
  }
257
321
  }
258
322
  }
259
323
  }
260
324
  }
325
+ #updatePlan(invalidation, servicePlan, index, name, tag) {
326
+ if (servicePlan !== undefined &&
327
+ LazyPlanServiceNode_1.LazyPlanServiceNode.is(servicePlan.tree.root)) {
328
+ const planParams = this.#buildUpdatePlanParams(invalidation, index, name, tag);
329
+ switch (invalidation.kind) {
330
+ case CacheBindingInvalidationKind_1.CacheBindingInvalidationKind.bindingAdded:
331
+ {
332
+ const result = (0, addRootServiceNodeBindingIfContextFree_1.addRootServiceNodeBindingIfContextFree)(planParams, servicePlan.tree.root, invalidation.binding);
333
+ if (result.isContextFreeBinding) {
334
+ if (result.shouldInvalidateServiceNode) {
335
+ this.#invalidateNonCachePlanServiceNodeDescendents(servicePlan.tree.root);
336
+ servicePlan.tree.root.invalidate();
337
+ }
338
+ }
339
+ else {
340
+ this.clearCache();
341
+ }
342
+ }
343
+ break;
344
+ case CacheBindingInvalidationKind_1.CacheBindingInvalidationKind.bindingRemoved:
345
+ {
346
+ const result = (0, removeRootServiceNodeBindingIfContextFree_1.removeRootServiceNodeBindingIfContextFree)(planParams, servicePlan.tree.root, invalidation.binding);
347
+ if (result.isContextFreeBinding) {
348
+ if (result.bindingNodeRemoved !== undefined) {
349
+ this.#invalidateNonCachePlanBindingNodeDescendents(result.bindingNodeRemoved);
350
+ }
351
+ }
352
+ else {
353
+ this.clearCache();
354
+ }
355
+ }
356
+ break;
357
+ }
358
+ }
359
+ }
261
360
  }
262
361
  exports.PlanResultCacheService = PlanResultCacheService;
263
362
  //# sourceMappingURL=PlanResultCacheService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanResultCacheService.js","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanResultCacheService.js","sourceRoot":"","sources":["../../../../src/planning/services/PlanResultCacheService.ts"],"names":[],"mappings":"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"}