@inversifyjs/core 5.4.0 → 6.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 (117) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/cjs/binding/models/BindingConstraintsImplementation.d.ts +1 -0
  3. package/lib/cjs/binding/models/BindingConstraintsImplementation.d.ts.map +1 -1
  4. package/lib/cjs/binding/models/BindingConstraintsImplementation.js +1 -0
  5. package/lib/cjs/binding/models/BindingConstraintsImplementation.js.map +1 -1
  6. package/lib/cjs/index.d.ts +9 -3
  7. package/lib/cjs/index.d.ts.map +1 -1
  8. package/lib/cjs/index.js +1 -1
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts +5 -0
  11. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.d.ts.map +1 -0
  12. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js +17 -0
  13. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.js.map +1 -0
  14. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.spec.d.ts +2 -0
  15. package/lib/cjs/planning/actions/cacheNonRootPlanServiceNode.spec.d.ts.map +1 -0
  16. package/lib/cjs/planning/actions/plan.d.ts.map +1 -0
  17. package/lib/cjs/planning/actions/plan.int.spec.d.ts.map +1 -0
  18. package/lib/cjs/planning/actions/plan.js +297 -0
  19. package/lib/cjs/planning/actions/plan.js.map +1 -0
  20. package/lib/cjs/planning/actions/plan.spec.d.ts.map +1 -0
  21. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +3 -3
  22. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -1
  23. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.d.ts +4 -0
  24. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.d.ts.map +1 -0
  25. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.js +25 -0
  26. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.js.map +1 -0
  27. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.spec.d.ts +2 -0
  28. package/lib/cjs/planning/calculations/buildGetPlanOptionsFromPlanParams.spec.d.ts.map +1 -0
  29. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.d.ts +5 -0
  30. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.d.ts.map +1 -0
  31. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.js +20 -0
  32. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.js.map +1 -0
  33. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.spec.d.ts +2 -0
  34. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.spec.d.ts.map +1 -0
  35. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +4 -2
  36. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts.map +1 -1
  37. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js +6 -3
  38. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js.map +1 -1
  39. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +3 -3
  40. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts.map +1 -1
  41. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js +3 -3
  42. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js.map +1 -1
  43. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.d.ts +3 -0
  44. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.d.ts.map +1 -0
  45. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.js +10 -0
  46. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.js.map +1 -0
  47. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.spec.d.ts +2 -0
  48. package/lib/cjs/planning/calculations/getServiceFromMaybeLazyServiceIdentifier.spec.d.ts.map +1 -0
  49. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +4 -3
  50. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts.map +1 -1
  51. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js +33 -35
  52. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js.map +1 -1
  53. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.d.ts +4 -0
  54. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.d.ts.map +1 -0
  55. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.js +43 -0
  56. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.js.map +1 -0
  57. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.spec.d.ts +2 -0
  58. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromManagedClassElementMetadata.spec.d.ts.map +1 -0
  59. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.d.ts +4 -0
  60. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.d.ts.map +1 -0
  61. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.js +42 -0
  62. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.js.map +1 -0
  63. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.spec.d.ts +2 -0
  64. package/lib/cjs/planning/calculations/tryBuildGetPlanOptionsFromResolvedValueElementMetadata.spec.d.ts.map +1 -0
  65. package/lib/cjs/planning/models/BaseBindingNode.d.ts +0 -2
  66. package/lib/cjs/planning/models/BaseBindingNode.d.ts.map +1 -1
  67. package/lib/cjs/planning/models/BaseGetPlanOptions.d.ts +10 -0
  68. package/lib/cjs/planning/models/BaseGetPlanOptions.d.ts.map +1 -0
  69. package/lib/cjs/planning/models/BaseGetPlanOptions.js +3 -0
  70. package/lib/cjs/planning/models/BaseGetPlanOptions.js.map +1 -0
  71. package/lib/cjs/planning/models/BasePlanParams.d.ts +3 -7
  72. package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -1
  73. package/lib/cjs/planning/models/GetMultipleServicePlanOptions.d.ts +6 -0
  74. package/lib/cjs/planning/models/GetMultipleServicePlanOptions.d.ts.map +1 -0
  75. package/lib/cjs/planning/models/GetMultipleServicePlanOptions.js +3 -0
  76. package/lib/cjs/planning/models/GetMultipleServicePlanOptions.js.map +1 -0
  77. package/lib/cjs/planning/models/GetPlanOptions.d.ts +4 -0
  78. package/lib/cjs/planning/models/GetPlanOptions.d.ts.map +1 -0
  79. package/lib/cjs/planning/models/GetPlanOptions.js +3 -0
  80. package/lib/cjs/planning/models/GetPlanOptions.js.map +1 -0
  81. package/lib/cjs/planning/models/GetPlanOptionsTagConstraint.d.ts +6 -0
  82. package/lib/cjs/planning/models/GetPlanOptionsTagConstraint.d.ts.map +1 -0
  83. package/lib/cjs/planning/models/GetPlanOptionsTagConstraint.js +3 -0
  84. package/lib/cjs/planning/models/GetPlanOptionsTagConstraint.js.map +1 -0
  85. package/lib/cjs/planning/models/GetSingleServicePlanOptions.d.ts +5 -0
  86. package/lib/cjs/planning/models/GetSingleServicePlanOptions.d.ts.map +1 -0
  87. package/lib/cjs/planning/models/GetSingleServicePlanOptions.js +3 -0
  88. package/lib/cjs/planning/models/GetSingleServicePlanOptions.js.map +1 -0
  89. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts +21 -0
  90. package/lib/cjs/planning/models/LazyPlanServiceNode.d.ts.map +1 -0
  91. package/lib/cjs/planning/models/LazyPlanServiceNode.js +46 -0
  92. package/lib/cjs/planning/models/LazyPlanServiceNode.js.map +1 -0
  93. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts +9 -0
  94. package/lib/cjs/planning/models/LazyPlanServiceNode.spec.d.ts.map +1 -0
  95. package/lib/cjs/planning/models/PlanParamsOperations.d.ts +16 -0
  96. package/lib/cjs/planning/models/PlanParamsOperations.d.ts.map +1 -0
  97. package/lib/cjs/planning/models/PlanParamsOperations.js +3 -0
  98. package/lib/cjs/planning/models/PlanParamsOperations.js.map +1 -0
  99. package/lib/cjs/planning/models/PlanServiceNode.d.ts +2 -3
  100. package/lib/cjs/planning/models/PlanServiceNode.d.ts.map +1 -1
  101. package/lib/cjs/planning/services/PlanResultCacheService.d.ts +4 -14
  102. package/lib/cjs/planning/services/PlanResultCacheService.d.ts.map +1 -1
  103. package/lib/cjs/planning/services/PlanResultCacheService.js +142 -18
  104. package/lib/cjs/planning/services/PlanResultCacheService.js.map +1 -1
  105. package/lib/esm/index.d.ts +60 -42
  106. package/lib/esm/index.d.ts.map +1 -1
  107. package/lib/esm/index.js +1 -1
  108. package/lib/esm/index.js.map +1 -1
  109. package/package.json +6 -6
  110. package/lib/cjs/planning/calculations/plan.d.ts.map +0 -1
  111. package/lib/cjs/planning/calculations/plan.int.spec.d.ts.map +0 -1
  112. package/lib/cjs/planning/calculations/plan.js +0 -232
  113. package/lib/cjs/planning/calculations/plan.js.map +0 -1
  114. package/lib/cjs/planning/calculations/plan.spec.d.ts.map +0 -1
  115. /package/lib/cjs/planning/{calculations → actions}/plan.d.ts +0 -0
  116. /package/lib/cjs/planning/{calculations → actions}/plan.int.spec.d.ts +0 -0
  117. /package/lib/cjs/planning/{calculations → actions}/plan.spec.d.ts +0 -0
@@ -0,0 +1,21 @@
1
+ import { ServiceIdentifier } from '@inversifyjs/common';
2
+ import { PlanBindingNode } from './PlanBindingNode';
3
+ import { PlanServiceNode } from './PlanServiceNode';
4
+ declare const isLazyPlanServiceNodeSymbol: symbol;
5
+ export declare abstract class LazyPlanServiceNode implements PlanServiceNode {
6
+ [isLazyPlanServiceNodeSymbol]: true;
7
+ protected readonly _serviceIdentifier: ServiceIdentifier;
8
+ protected _serviceNode: PlanServiceNode | undefined;
9
+ constructor(serviceNode: PlanServiceNode);
10
+ get bindings(): PlanBindingNode | PlanBindingNode[] | undefined;
11
+ get isContextFree(): boolean;
12
+ get serviceIdentifier(): ServiceIdentifier;
13
+ set bindings(bindings: PlanBindingNode | PlanBindingNode[] | undefined);
14
+ set isContextFree(isContextFree: boolean);
15
+ static is(value: unknown): value is LazyPlanServiceNode;
16
+ invalidate(): void;
17
+ protected _getNode(): PlanServiceNode;
18
+ protected abstract _buildPlanServiceNode(): PlanServiceNode;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=LazyPlanServiceNode.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LazyPlanServiceNode = void 0;
4
+ const isLazyPlanServiceNodeSymbol = Symbol.for('@inversifyjs/core/LazyPlanServiceNode');
5
+ class LazyPlanServiceNode {
6
+ [isLazyPlanServiceNodeSymbol];
7
+ _serviceIdentifier;
8
+ _serviceNode;
9
+ constructor(serviceNode) {
10
+ this[isLazyPlanServiceNodeSymbol] = true;
11
+ this._serviceIdentifier = serviceNode.serviceIdentifier;
12
+ this._serviceNode = serviceNode;
13
+ }
14
+ get bindings() {
15
+ return this._getNode().bindings;
16
+ }
17
+ get isContextFree() {
18
+ return this._getNode().isContextFree;
19
+ }
20
+ get serviceIdentifier() {
21
+ return this._serviceIdentifier;
22
+ }
23
+ set bindings(bindings) {
24
+ this._getNode().bindings = bindings;
25
+ }
26
+ set isContextFree(isContextFree) {
27
+ this._getNode().isContextFree = isContextFree;
28
+ }
29
+ static is(value) {
30
+ return (typeof value === 'object' &&
31
+ value !== null &&
32
+ value[isLazyPlanServiceNodeSymbol] ===
33
+ true);
34
+ }
35
+ invalidate() {
36
+ this._serviceNode = undefined;
37
+ }
38
+ _getNode() {
39
+ if (this._serviceNode === undefined) {
40
+ this._serviceNode = this._buildPlanServiceNode();
41
+ }
42
+ return this._serviceNode;
43
+ }
44
+ }
45
+ exports.LazyPlanServiceNode = LazyPlanServiceNode;
46
+ //# sourceMappingURL=LazyPlanServiceNode.js.map
@@ -0,0 +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"}
@@ -0,0 +1,9 @@
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
+ }
9
+ //# sourceMappingURL=LazyPlanServiceNode.spec.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,16 @@
1
+ import { Newable, ServiceIdentifier } from '@inversifyjs/common';
2
+ import { Binding } from '../../binding/models/Binding';
3
+ import { ClassMetadata } from '../../metadata/models/ClassMetadata';
4
+ import { GetPlanOptions } from './GetPlanOptions';
5
+ import { PlanResult } from './PlanResult';
6
+ import { PlanServiceNode } from './PlanServiceNode';
7
+ export interface PlanParamsOperations {
8
+ getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
9
+ getBindingsChained: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Generator<Binding<TInstance>, void, unknown>;
10
+ readonly getClassMetadata: (type: Newable) => ClassMetadata;
11
+ readonly getPlan: (options: GetPlanOptions) => PlanResult | undefined;
12
+ setBinding: <TInstance>(binding: Binding<TInstance>) => void;
13
+ readonly setNonCachedServiceNode: (node: PlanServiceNode) => void;
14
+ readonly setPlan: (options: GetPlanOptions, planResult: PlanResult) => void;
15
+ }
16
+ //# sourceMappingURL=PlanParamsOperations.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PlanParamsOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanParamsOperations.js","sourceRoot":"","sources":["../../../../src/planning/models/PlanParamsOperations.ts"],"names":[],"mappings":""}
@@ -1,9 +1,8 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { PlanBindingNode } from './PlanBindingNode';
3
- import { PlanServiceNodeParent } from './PlanServiceNodeParent';
4
3
  export interface PlanServiceNode {
5
- readonly bindings: PlanBindingNode | PlanBindingNode[] | undefined;
6
- readonly parent: PlanServiceNodeParent | undefined;
4
+ bindings: PlanBindingNode | PlanBindingNode[] | undefined;
5
+ isContextFree: boolean;
7
6
  readonly serviceIdentifier: ServiceIdentifier;
8
7
  }
9
8
  //# sourceMappingURL=PlanServiceNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanServiceNode.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/PlanServiceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAC/C"}
1
+ {"version":3,"file":"PlanServiceNode.d.ts","sourceRoot":"","sources":["../../../../src/planning/models/PlanServiceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC;IAC1D,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAC/C"}
@@ -1,18 +1,7 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
- import { MetadataName } from '../../metadata/models/MetadataName';
3
- import { MetadataTag } from '../../metadata/models/MetadataTag';
2
+ import { GetPlanOptions } from '../models/GetPlanOptions';
4
3
  import { PlanResult } from '../models/PlanResult';
5
- interface GetPlanOptionsTagConstraint {
6
- key: MetadataTag;
7
- value: unknown;
8
- }
9
- export interface GetPlanOptions {
10
- serviceIdentifier: ServiceIdentifier;
11
- isMultiple: boolean;
12
- name: MetadataName | undefined;
13
- optional: boolean | undefined;
14
- tag: GetPlanOptionsTagConstraint | undefined;
15
- }
4
+ import { PlanServiceNode } from '../models/PlanServiceNode';
16
5
  /**
17
6
  * Service to cache plans.
18
7
  *
@@ -28,8 +17,9 @@ export declare class PlanResultCacheService {
28
17
  constructor();
29
18
  clearCache(): void;
30
19
  get(options: GetPlanOptions): PlanResult | undefined;
20
+ invalidateService(serviceIdentifier: ServiceIdentifier): void;
31
21
  set(options: GetPlanOptions, planResult: PlanResult): void;
22
+ setNonCachedServiceNode(node: PlanServiceNode): void;
32
23
  subscribe(subscriber: PlanResultCacheService): void;
33
24
  }
34
- export {};
35
25
  //# 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;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWlD,UAAU,2BAA2B;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,GAAG,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;;;IA2B1B,UAAU,IAAI,IAAI;IAUlB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAqCpD,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA2C1D,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;CA6D3D"}
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,16 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlanResultCacheService = void 0;
4
+ const BindingType_1 = require("../../binding/models/BindingType");
4
5
  const WeakList_1 = require("../../common/models/WeakList");
5
- var GetPlanBooleanOptionsMask;
6
- (function (GetPlanBooleanOptionsMask) {
7
- GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["singleMandatory"] = 0] = "singleMandatory";
8
- GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["singleOptional"] = 1] = "singleOptional";
9
- GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["multipleMandatory"] = 2] = "multipleMandatory";
10
- GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["multipleOptional"] = 3] = "multipleOptional";
11
- // Must be the last one
12
- GetPlanBooleanOptionsMask[GetPlanBooleanOptionsMask["length"] = 4] = "length";
13
- })(GetPlanBooleanOptionsMask || (GetPlanBooleanOptionsMask = {}));
6
+ const LazyPlanServiceNode_1 = require("../models/LazyPlanServiceNode");
7
+ const CHAINED_MASK = 0x4;
8
+ const IS_MULTIPLE_MASK = 0x2;
9
+ const OPTIONAL_MASK = 0x1;
10
+ const MAP_ARRAY_LENGTH = 0x8;
14
11
  /**
15
12
  * Service to cache plans.
16
13
  *
@@ -22,12 +19,14 @@ var GetPlanBooleanOptionsMask;
22
19
  * Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
23
20
  */
24
21
  class PlanResultCacheService {
22
+ #serviceIdToNonCachedServiceNodeSetMap;
25
23
  #serviceIdToValuePlanMap;
26
24
  #namedServiceIdToValuePlanMap;
27
25
  #namedTaggedServiceIdToValuePlanMap;
28
26
  #taggedServiceIdToValuePlanMap;
29
27
  #subscribers;
30
28
  constructor() {
29
+ this.#serviceIdToNonCachedServiceNodeSetMap = new Map();
31
30
  this.#serviceIdToValuePlanMap = this.#buildInitializedMapArray();
32
31
  this.#namedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
33
32
  this.#namedTaggedServiceIdToValuePlanMap = this.#buildInitializedMapArray();
@@ -69,6 +68,16 @@ class PlanResultCacheService {
69
68
  }
70
69
  }
71
70
  }
71
+ invalidateService(serviceIdentifier) {
72
+ this.#invalidateServiceMap(serviceIdentifier);
73
+ this.#invalidateNamedServiceMap(serviceIdentifier);
74
+ this.#invalidateNamedTaggedServiceMap(serviceIdentifier);
75
+ this.#invalidateTaggedServiceMap(serviceIdentifier);
76
+ this.#invalidateNonCachedServiceNodeSetMap(serviceIdentifier);
77
+ for (const subscriber of this.#subscribers) {
78
+ subscriber.invalidateService(serviceIdentifier);
79
+ }
80
+ }
72
81
  set(options, planResult) {
73
82
  if (options.name === undefined) {
74
83
  if (options.tag === undefined) {
@@ -87,11 +96,19 @@ class PlanResultCacheService {
87
96
  }
88
97
  }
89
98
  }
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
+ }
105
+ nonCachedSet.add(node);
106
+ }
90
107
  subscribe(subscriber) {
91
108
  this.#subscribers.push(subscriber);
92
109
  }
93
110
  #buildInitializedMapArray() {
94
- const mapArray = new Array(GetPlanBooleanOptionsMask.length);
111
+ const mapArray = new Array(MAP_ARRAY_LENGTH);
95
112
  for (let i = 0; i < mapArray.length; ++i) {
96
113
  mapArray[i] = new Map();
97
114
  }
@@ -110,6 +127,7 @@ class PlanResultCacheService {
110
127
  }
111
128
  #getMaps() {
112
129
  return [
130
+ this.#serviceIdToNonCachedServiceNodeSetMap,
113
131
  ...this.#serviceIdToValuePlanMap,
114
132
  ...this.#namedServiceIdToValuePlanMap,
115
133
  ...this.#namedTaggedServiceIdToValuePlanMap,
@@ -118,19 +136,125 @@ class PlanResultCacheService {
118
136
  }
119
137
  #getMapArrayIndex(options) {
120
138
  if (options.isMultiple) {
121
- if (options.optional === true) {
122
- return GetPlanBooleanOptionsMask.multipleOptional;
139
+ return ((options.chained ? CHAINED_MASK : 0) |
140
+ (options.optional ? OPTIONAL_MASK : 0) |
141
+ IS_MULTIPLE_MASK);
142
+ }
143
+ else {
144
+ return options.optional ? OPTIONAL_MASK : 0;
145
+ }
146
+ }
147
+ #invalidateNamedServiceMap(serviceIdentifier) {
148
+ for (const map of this.#namedServiceIdToValuePlanMap) {
149
+ const servicePlans = map.get(serviceIdentifier);
150
+ 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
+ }
156
+ }
123
157
  }
124
- else {
125
- return GetPlanBooleanOptionsMask.multipleMandatory;
158
+ }
159
+ }
160
+ #invalidateNamedTaggedServiceMap(serviceIdentifier) {
161
+ for (const map of this.#namedTaggedServiceIdToValuePlanMap) {
162
+ const servicePlanMapMapMap = map.get(serviceIdentifier);
163
+ 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
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ #invalidateNonCachePlanBindingNodeDescendents(planBindingNode) {
178
+ switch (planBindingNode.binding.type) {
179
+ case BindingType_1.bindingTypeValues.ServiceRedirection:
180
+ for (const redirection of planBindingNode.redirections) {
181
+ this.#invalidateNonCachePlanBindingNodeDescendents(redirection);
182
+ }
183
+ break;
184
+ case BindingType_1.bindingTypeValues.Instance:
185
+ for (const constructorParam of planBindingNode
186
+ .constructorParams) {
187
+ if (constructorParam !== undefined) {
188
+ this.#invalidateNonCachePlanServiceNode(constructorParam);
189
+ }
190
+ }
191
+ for (const propertyParam of planBindingNode.propertyParams.values()) {
192
+ this.#invalidateNonCachePlanServiceNode(propertyParam);
193
+ }
194
+ break;
195
+ case BindingType_1.bindingTypeValues.ResolvedValue:
196
+ for (const resolvedValue of planBindingNode.params) {
197
+ this.#invalidateNonCachePlanServiceNode(resolvedValue);
198
+ }
199
+ break;
200
+ default:
201
+ }
202
+ }
203
+ #invalidateNonCachePlanServiceNode(planServiceNode) {
204
+ const serviceNonCachedSet = this.#serviceIdToNonCachedServiceNodeSetMap.get(planServiceNode.serviceIdentifier);
205
+ if (serviceNonCachedSet === undefined ||
206
+ !serviceNonCachedSet.has(planServiceNode)) {
207
+ return;
208
+ }
209
+ serviceNonCachedSet.delete(planServiceNode);
210
+ this.#invalidateNonCachePlanServiceNodeDescendents(planServiceNode);
211
+ }
212
+ #invalidateNonCachePlanServiceNodeDescendents(planServiceNode) {
213
+ if (planServiceNode.bindings === undefined) {
214
+ return;
215
+ }
216
+ if (Array.isArray(planServiceNode.bindings)) {
217
+ for (const binding of planServiceNode.bindings) {
218
+ this.#invalidateNonCachePlanBindingNodeDescendents(binding);
126
219
  }
127
220
  }
128
221
  else {
129
- if (options.optional === true) {
130
- return GetPlanBooleanOptionsMask.singleOptional;
222
+ this.#invalidateNonCachePlanBindingNodeDescendents(planServiceNode.bindings);
223
+ }
224
+ }
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
+ }
131
233
  }
132
- else {
133
- return GetPlanBooleanOptionsMask.singleMandatory;
234
+ }
235
+ }
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
+ }
244
+ }
245
+ }
246
+ #invalidateTaggedServiceMap(serviceIdentifier) {
247
+ for (const map of this.#taggedServiceIdToValuePlanMap) {
248
+ const servicePlanMapMap = map.get(serviceIdentifier);
249
+ 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
+ }
256
+ }
257
+ }
134
258
  }
135
259
  }
136
260
  }
@@ -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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"}
@@ -273,51 +273,30 @@ interface BasePlanParamsAutobindOptions {
273
273
  scope: BindingScope;
274
274
  }
275
275
 
276
- interface BasePlanParams {
277
- autobindOptions: BasePlanParamsAutobindOptions | undefined;
278
- getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
279
- getBindingsChained: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Generator<Binding<TInstance>, void, unknown>;
280
- getClassMetadata: (type: Newable) => ClassMetadata;
281
- servicesBranch: ServiceIdentifier[];
282
- setBinding: <TInstance>(binding: Binding<TInstance>) => void;
283
- }
284
-
285
- interface PlanParamsTagConstraint {
276
+ interface GetPlanOptionsTagConstraint {
286
277
  key: MetadataTag;
287
278
  value: unknown;
288
279
  }
289
280
 
290
- interface MultipleBindingPlanParamsConstraint {
291
- chained: boolean;
292
- name?: MetadataName;
293
- isMultiple: true;
294
- isOptional?: true;
295
- serviceIdentifier: ServiceIdentifier;
296
- tag?: PlanParamsTagConstraint;
297
- }
298
-
299
- interface SingleBindingPlanParamsConstraint {
300
- name?: MetadataName;
301
- isMultiple: false;
302
- isOptional?: true;
281
+ interface BaseGetPlanOptions {
303
282
  serviceIdentifier: ServiceIdentifier;
304
- tag?: PlanParamsTagConstraint;
283
+ name: MetadataName | undefined;
284
+ optional: boolean;
285
+ tag: GetPlanOptionsTagConstraint | undefined;
305
286
  }
306
287
 
307
- type PlanParamsConstraint = SingleBindingPlanParamsConstraint | MultipleBindingPlanParamsConstraint;
308
-
309
- interface PlanParams extends BasePlanParams {
310
- rootConstraints: PlanParamsConstraint;
288
+ interface GetMultipleServicePlanOptions extends BaseGetPlanOptions {
289
+ chained: boolean;
290
+ isMultiple: true;
311
291
  }
312
292
 
313
- interface PlanServiceRedirectionBindingNode<TBinding extends ServiceRedirectionBinding<any> = ServiceRedirectionBinding<any>> extends BaseBindingNode<TBinding> {
314
- redirections: PlanBindingNode[];
293
+ interface GetSingleServicePlanOptions extends BaseGetPlanOptions {
294
+ isMultiple: false;
315
295
  }
316
296
 
317
- type BindingNodeParent = PlanServiceNode | PlanServiceRedirectionBindingNode;
297
+ type GetPlanOptions = GetSingleServicePlanOptions | GetMultipleServicePlanOptions;
318
298
 
319
299
  interface BaseBindingNode<TBinding extends Binding<any> = Binding<any>> {
320
- readonly parent: BindingNodeParent;
321
300
  readonly binding: TBinding;
322
301
  }
323
302
 
@@ -335,11 +314,15 @@ interface ResolvedValueBindingNode<TBinding extends ResolvedValueBinding<any> =
335
314
 
336
315
  type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>> | ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>;
337
316
 
317
+ interface PlanServiceRedirectionBindingNode<TBinding extends ServiceRedirectionBinding<any> = ServiceRedirectionBinding<any>> extends BaseBindingNode<TBinding> {
318
+ redirections: PlanBindingNode[];
319
+ }
320
+
338
321
  type PlanBindingNode = PlanServiceNodeParent | PlanServiceRedirectionBindingNode | LeafBindingNode;
339
322
 
340
323
  interface PlanServiceNode {
341
- readonly bindings: PlanBindingNode | PlanBindingNode[] | undefined;
342
- readonly parent: PlanServiceNodeParent | undefined;
324
+ bindings: PlanBindingNode | PlanBindingNode[] | undefined;
325
+ isContextFree: boolean;
343
326
  readonly serviceIdentifier: ServiceIdentifier;
344
327
  }
345
328
 
@@ -351,19 +334,52 @@ interface PlanResult {
351
334
  readonly tree: PlanTree;
352
335
  }
353
336
 
354
- declare function plan(params: PlanParams): PlanResult;
337
+ interface PlanParamsOperations {
338
+ getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
339
+ getBindingsChained: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Generator<Binding<TInstance>, void, unknown>;
340
+ readonly getClassMetadata: (type: Newable) => ClassMetadata;
341
+ readonly getPlan: (options: GetPlanOptions) => PlanResult | undefined;
342
+ setBinding: <TInstance>(binding: Binding<TInstance>) => void;
343
+ readonly setNonCachedServiceNode: (node: PlanServiceNode) => void;
344
+ readonly setPlan: (options: GetPlanOptions, planResult: PlanResult) => void;
345
+ }
355
346
 
356
- interface GetPlanOptionsTagConstraint {
347
+ interface BasePlanParams {
348
+ autobindOptions: BasePlanParamsAutobindOptions | undefined;
349
+ operations: PlanParamsOperations;
350
+ servicesBranch: ServiceIdentifier[];
351
+ }
352
+
353
+ interface PlanParamsTagConstraint {
357
354
  key: MetadataTag;
358
355
  value: unknown;
359
356
  }
360
- interface GetPlanOptions {
357
+
358
+ interface MultipleBindingPlanParamsConstraint {
359
+ chained: boolean;
360
+ name?: MetadataName;
361
+ isMultiple: true;
362
+ isOptional?: true;
361
363
  serviceIdentifier: ServiceIdentifier;
362
- isMultiple: boolean;
363
- name: MetadataName | undefined;
364
- optional: boolean | undefined;
365
- tag: GetPlanOptionsTagConstraint | undefined;
364
+ tag?: PlanParamsTagConstraint;
365
+ }
366
+
367
+ interface SingleBindingPlanParamsConstraint {
368
+ name?: MetadataName;
369
+ isMultiple: false;
370
+ isOptional?: true;
371
+ serviceIdentifier: ServiceIdentifier;
372
+ tag?: PlanParamsTagConstraint;
366
373
  }
374
+
375
+ type PlanParamsConstraint = SingleBindingPlanParamsConstraint | MultipleBindingPlanParamsConstraint;
376
+
377
+ interface PlanParams extends BasePlanParams {
378
+ rootConstraints: PlanParamsConstraint;
379
+ }
380
+
381
+ declare function plan(params: PlanParams): PlanResult;
382
+
367
383
  /**
368
384
  * Service to cache plans.
369
385
  *
@@ -379,7 +395,9 @@ declare class PlanResultCacheService {
379
395
  constructor();
380
396
  clearCache(): void;
381
397
  get(options: GetPlanOptions): PlanResult | undefined;
398
+ invalidateService(serviceIdentifier: ServiceIdentifier): void;
382
399
  set(options: GetPlanOptions, planResult: PlanResult): void;
400
+ setNonCachedServiceNode(node: PlanServiceNode): void;
383
401
  subscribe(subscriber: PlanResultCacheService): void;
384
402
  }
385
403
 
@@ -414,4 +432,4 @@ interface OptionalGetAllOptions extends GetAllOptions {
414
432
  }
415
433
 
416
434
  export { ActivationsService, BindingService, ClassElementMetadataKind, DeactivationsService, PlanResultCacheService, ResolvedValueElementMetadataKind, bindingScopeValues, bindingTypeValues, decorate, getBindingId, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
417
- export type { BaseBinding, BaseBindingNode, BaseManagedClassElementMetadata, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingConstraints, BindingDeactivation, BindingDeactivationRelation, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetAllOptions, GetOptions, GetOptionsTagConstraint, GetPlanOptions, InstanceBinding, InstanceBindingNode, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, MultiInjectOptions, MultipleBindingPlanParamsConstraint, MultipleInjectionManagedClassElementMetadata, MultipleInjectionResolvedValueElementMetadata, OptionalGetAllOptions, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, SingleBindingPlanParamsConstraint, SingleInjectionManagedClassElementMetadata, SingleInjectionResolvedValueElementMetadata, UnmanagedClassElementMetadata };
435
+ export type { BaseBinding, BaseBindingNode, BaseGetPlanOptions, BaseManagedClassElementMetadata, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingConstraints, BindingDeactivation, BindingDeactivationRelation, BindingScope, BindingType, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetAllOptions, GetMultipleServicePlanOptions, GetOptions, GetOptionsTagConstraint, GetPlanOptions, GetPlanOptionsTagConstraint, GetSingleServicePlanOptions, InstanceBinding, InstanceBindingNode, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, MultiInjectOptions, MultipleBindingPlanParamsConstraint, MultipleInjectionManagedClassElementMetadata, MultipleInjectionResolvedValueElementMetadata, OptionalGetAllOptions, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsOperations, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, SingleBindingPlanParamsConstraint, SingleInjectionManagedClassElementMetadata, SingleInjectionResolvedValueElementMetadata, UnmanagedClassElementMetadata };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}