@inversifyjs/core 7.0.0 → 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 (43) hide show
  1. package/CHANGELOG.md +7 -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/planning/actions/addServiceNodeBindingIfContextFree.d.ts +2 -2
  10. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.d.ts.map +1 -1
  11. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js +29 -1
  12. package/lib/cjs/planning/actions/addServiceNodeBindingIfContextFree.js.map +1 -1
  13. package/lib/cjs/planning/actions/curryBuildPlanServiceNode.d.ts +2 -2
  14. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromClassElementMetadata.d.ts +2 -2
  15. package/lib/cjs/planning/actions/curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +2 -2
  16. package/lib/cjs/planning/actions/curryBuildServiceNodeBindings.d.ts +2 -2
  17. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts +2 -2
  18. package/lib/cjs/planning/actions/curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts +2 -2
  19. package/lib/cjs/planning/actions/currySubplan.d.ts +2 -2
  20. package/lib/cjs/planning/actions/plan.d.ts +3 -3
  21. package/lib/cjs/planning/actions/removeServiceNodeBindingIfContextFree.d.ts +2 -2
  22. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.d.ts +2 -2
  23. package/lib/cjs/planning/calculations/buildPlanBindingConstraintsList.js +2 -2
  24. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +2 -2
  25. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +2 -2
  26. package/lib/cjs/planning/calculations/handleResolveError.d.ts +3 -0
  27. package/lib/cjs/planning/calculations/handleResolveError.d.ts.map +1 -0
  28. package/lib/cjs/planning/calculations/handleResolveError.js +101 -0
  29. package/lib/cjs/planning/calculations/handleResolveError.js.map +1 -0
  30. package/lib/cjs/planning/calculations/handleResolveError.spec.d.ts +2 -0
  31. package/lib/cjs/planning/calculations/handleResolveError.spec.d.ts.map +1 -0
  32. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +2 -2
  33. package/lib/cjs/planning/models/NonCachedServiceNodeContext.d.ts +2 -2
  34. package/lib/cjs/resolution/actions/resolve.d.ts.map +1 -1
  35. package/lib/cjs/resolution/actions/resolve.js +8 -2
  36. package/lib/cjs/resolution/actions/resolve.js.map +1 -1
  37. package/lib/esm/index.d.ts +7 -7
  38. package/lib/esm/index.js +1 -1
  39. package/lib/esm/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts +0 -11
  42. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts +0 -2
  43. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @inversifyjs/core
2
2
 
3
+ ## 7.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 9db671c: Updated `resolve` to handle circular dependencies
8
+ - 95b2570: Updated `addServiceNodeBindingIfContextFree` to handle stack overflow errors
9
+
3
10
  ## 7.0.0
4
11
 
5
12
  ### Major Changes
@@ -1,5 +1,5 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
- import { SingleInmutableLinkedListNode } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedListNode } from '../../common/models/SingleImmutableLinkedList';
3
3
  import { MetadataName } from '../../metadata/models/MetadataName';
4
4
  import { MetadataTag } from '../../metadata/models/MetadataTag';
5
5
  import { BindingConstraints } from './BindingConstraints';
@@ -11,7 +11,7 @@ export interface InternalBindingConstraints {
11
11
  }
12
12
  export declare class BindingConstraintsImplementation implements BindingConstraints {
13
13
  #private;
14
- constructor(node: SingleInmutableLinkedListNode<InternalBindingConstraints>);
14
+ constructor(node: SingleImmutableLinkedListNode<InternalBindingConstraints>);
15
15
  get name(): MetadataName | undefined;
16
16
  get serviceIdentifier(): ServiceIdentifier;
17
17
  get tags(): Map<MetadataTag, unknown>;
@@ -0,0 +1,11 @@
1
+ export interface SingleImmutableLinkedListNode<T> {
2
+ elem: T;
3
+ previous: SingleImmutableLinkedListNode<T> | undefined;
4
+ }
5
+ export declare class SingleImmutableLinkedList<T> implements Iterable<T> {
6
+ readonly last: SingleImmutableLinkedListNode<T>;
7
+ constructor(last: SingleImmutableLinkedListNode<T>);
8
+ concat(elem: T): SingleImmutableLinkedList<T>;
9
+ [Symbol.iterator](): Iterator<T>;
10
+ }
11
+ //# sourceMappingURL=SingleImmutableLinkedList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleInmutableLinkedList.d.ts","sourceRoot":"","sources":["../../../../src/common/models/SingleInmutableLinkedList.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxD;AAED,qBAAa,yBAAyB,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;aAClC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;gBAAtC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC;IAO7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;CAsBxC"}
1
+ {"version":3,"file":"SingleImmutableLinkedList.d.ts","sourceRoot":"","sources":["../../../../src/common/models/SingleImmutableLinkedList.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxD;AAED,qBAAa,yBAAyB,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;aAClC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;gBAAtC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC;IAO7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;CAsBxC"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingleInmutableLinkedList = void 0;
4
- class SingleInmutableLinkedList {
3
+ exports.SingleImmutableLinkedList = void 0;
4
+ class SingleImmutableLinkedList {
5
5
  last;
6
6
  constructor(last) {
7
7
  this.last = last;
8
8
  }
9
9
  concat(elem) {
10
- return new SingleInmutableLinkedList({
10
+ return new SingleImmutableLinkedList({
11
11
  elem,
12
12
  previous: this.last,
13
13
  });
@@ -32,5 +32,5 @@ class SingleInmutableLinkedList {
32
32
  };
33
33
  }
34
34
  }
35
- exports.SingleInmutableLinkedList = SingleInmutableLinkedList;
36
- //# sourceMappingURL=SingleInmutableLinkedList.js.map
35
+ exports.SingleImmutableLinkedList = SingleImmutableLinkedList;
36
+ //# sourceMappingURL=SingleImmutableLinkedList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleInmutableLinkedList.js","sourceRoot":"","sources":["../../../../src/common/models/SingleInmutableLinkedList.ts"],"names":[],"mappings":";;;AAKA,MAAa,yBAAyB;IACR;IAA5B,YAA4B,IAAsC;QAAtC,SAAI,GAAJ,IAAI,CAAkC;IAAG,CAAC;IAE/D,MAAM,CAAC,IAAO;QACnB,OAAO,IAAI,yBAAyB,CAAC;YACnC,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,IAAI,IAAI,GAAiD,IAAI,CAAC,IAAI,CAAC;QAEnE,OAAO;YACL,IAAI,EAAE,GAAsB,EAAE;gBAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACjB,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAM,IAAI,CAAC,IAAI,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAErB,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAhCD,8DAgCC"}
1
+ {"version":3,"file":"SingleImmutableLinkedList.js","sourceRoot":"","sources":["../../../../src/common/models/SingleImmutableLinkedList.ts"],"names":[],"mappings":";;;AAKA,MAAa,yBAAyB;IACR;IAA5B,YAA4B,IAAsC;QAAtC,SAAI,GAAJ,IAAI,CAAkC;IAAG,CAAC;IAE/D,MAAM,CAAC,IAAO;QACnB,OAAO,IAAI,yBAAyB,CAAC;YACnC,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,IAAI,IAAI,GAAiD,IAAI,CAAC,IAAI,CAAC;QAEnE,OAAO;YACL,IAAI,EAAE,GAAsB,EAAE;gBAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACjB,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAM,IAAI,CAAC,IAAI,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAErB,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAhCD,8DAgCC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SingleImmutableLinkedList.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleImmutableLinkedList.spec.d.ts","sourceRoot":"","sources":["../../../../src/common/models/SingleImmutableLinkedList.spec.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { PlanServiceNodeBindingAddedResult } from '../../metadata/models/PlanServiceNodeBindingAddedResult';
5
5
  import { BasePlanParams } from '../models/BasePlanParams';
6
6
  import { PlanServiceNode } from '../models/PlanServiceNode';
@@ -13,5 +13,5 @@ import { PlanServiceNode } from '../models/PlanServiceNode';
13
13
  * @param chainedBindings Whether the bindings are chained.
14
14
  * @returns True if the binding requires ancestor metadata, false otherwise.
15
15
  */
16
- export declare function addServiceNodeBindingIfContextFree(params: BasePlanParams, serviceNode: PlanServiceNode, binding: Binding<unknown>, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, chainedBindings: boolean): PlanServiceNodeBindingAddedResult;
16
+ export declare function addServiceNodeBindingIfContextFree(params: BasePlanParams, serviceNode: PlanServiceNode, binding: Binding<unknown>, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, chainedBindings: boolean): PlanServiceNodeBindingAddedResult;
17
17
  //# sourceMappingURL=addServiceNodeBindingIfContextFree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addServiceNodeBindingIfContextFree.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/addServiceNodeBindingIfContextFree.ts"],"names":[],"mappings":"AAAA,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;AAI1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAE5G,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuE5D;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,GACvB,iCAAiC,CAsDnC"}
1
+ {"version":3,"file":"addServiceNodeBindingIfContextFree.d.ts","sourceRoot":"","sources":["../../../../src/planning/actions/addServiceNodeBindingIfContextFree.ts"],"names":[],"mappings":"AAAA,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;AAK1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAE5G,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuE5D;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,EAC7E,eAAe,EAAE,OAAO,GACvB,iCAAiC,CA6BnC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addServiceNodeBindingIfContextFree = addServiceNodeBindingIfContextFree;
4
4
  const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
5
+ const isStackOverflowError_1 = require("../../error/calculations/isStackOverflowError");
5
6
  const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
6
7
  const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
7
8
  const LazyPlanServiceNode_1 = require("../models/LazyPlanServiceNode");
@@ -44,7 +45,34 @@ function addServiceNodeBindingIfContextFree(params, serviceNode, binding, bindin
44
45
  shouldInvalidateServiceNode: false,
45
46
  };
46
47
  }
47
- const [serviceNodeBinding] = buildServiceNodeBindings(params, bindingConstraintsList, [binding], serviceNode, chainedBindings);
48
+ return addServiceNodeSatisfiedBindingIfContextFree(params, serviceNode, binding, bindingConstraintsList, chainedBindings);
49
+ }
50
+ function addServiceNodeSatisfiedBindingIfContextFree(params, serviceNode, binding, bindingConstraintsList, chainedBindings) {
51
+ let serviceNodeBinding;
52
+ try {
53
+ [serviceNodeBinding] = buildServiceNodeBindings(params, bindingConstraintsList, [binding], serviceNode, chainedBindings);
54
+ }
55
+ catch (error) {
56
+ if ((0, isStackOverflowError_1.isStackOverflowError)(error)) {
57
+ /**
58
+ * We could potentially detect if we managed to traverse at least one iteration of the circular dependency loop.
59
+ * If so, the binding is context free if and only if bindingConstraintsList.last.elem.getAncestorsCalled is false.
60
+ *
61
+ * Having said that, computing this does not solve an underlying issue with circular dependencies: further cache
62
+ * refreshes are likely to encounter the same issue again and again. Recovering from stack overflow errors constantly
63
+ * is not feasible, so we prefer to declare the binding as non context free, asking for a more aggressive cache
64
+ * invalidation strategy, which is likely to be a cache clear.
65
+ */
66
+ return {
67
+ isContextFreeBinding: false,
68
+ shouldInvalidateServiceNode: true,
69
+ };
70
+ }
71
+ throw error;
72
+ }
73
+ return addServiceNodeBindingNodeIfContextFree(serviceNode, serviceNodeBinding);
74
+ }
75
+ function addServiceNodeBindingNodeIfContextFree(serviceNode, serviceNodeBinding) {
48
76
  if (Array.isArray(serviceNode.bindings)) {
49
77
  serviceNode.bindings.push(serviceNodeBinding);
50
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addServiceNodeBindingIfContextFree.js","sourceRoot":"","sources":["../../../../src/planning/actions/addServiceNodeBindingIfContextFree.ts"],"names":[],"mappings":";;AAgGA,gFA4DC;AA1JD,4GAG+D;AAE/D,8EAA2E;AAC3E,sFAAmF;AAMnF,uEAAoE;AAIpE,mFAAgF;AAChF,mIAAgI;AAChI,mJAAgJ;AAChJ,iDAA8C;AAC9C,iCAGgB;AAEhB,MAAM,OAAO,GAGU,IAAA,2BAAY,EACjC,mDAA4C,EAC5C,2DAAoD,EACpD,wDAAwD,EACxD,gEAAgE,CACjE,CAAC;AAEF,MAAM,wBAAwB,GAML,IAAA,6DAA6B,EAAC,OAAO,CAAC,CAAC;AAEhE,MAAM,gDAAgD,GAKpD,IAAA,6GAAqD,EACnD,wBAAwB,CACzB,CAAC;AAEJ,MAAM,wDAAwD,GAK5D,IAAA,6HAA6D,EAC3D,wBAAwB,CACzB,CAAC;AAEJ,SAAS,wDAAwD,CAC/D,MAAqB,EACrB,sBAA6E,EAC7E,eAA4C;IAE5C,OAAO,gDAAgD,CACrD,MAAM,EACN,sBAAsB,EACtB,eAAe,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,gEAAgE,CACvE,MAAqB,EACrB,sBAA6E,EAC7E,eAA6C;IAE7C,OAAO,wDAAwD,CAC7D,MAAM,EACN,sBAAsB,EACtB,eAAe,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kCAAkC,CAChD,MAAsB,EACtB,WAA4B,EAC5B,OAAyB,EACzB,sBAA6E,EAC7E,eAAwB;IAExB,IAAI,yCAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;QACrE,OAAO;YACL,oBAAoB,EAAE,IAAI;YAC1B,2BAA2B,EAAE,KAAK;SACnC,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,oBAAoB,EAClB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;YACtD,2BAA2B,EAAE,KAAK;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAsB,wBAAwB,CACtE,MAAM,EACN,sBAAsB,EACtB,CAAC,OAAO,CAAC,EACT,WAAW,EACX,eAAe,CACK,CAAC;IAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,WAAW,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,yCAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,QAAQ,EAC/B,8GAA8G,CAC/G,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,oBAAoB,EAAE,IAAI;gBAC1B,2BAA2B,EAAE,IAAI;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,oBAAoB,EAAE,IAAI;QAC1B,2BAA2B,EAAE,KAAK;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"addServiceNodeBindingIfContextFree.js","sourceRoot":"","sources":["../../../../src/planning/actions/addServiceNodeBindingIfContextFree.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { BasePlanParams } from '../models/BasePlanParams';
5
5
  import { BindingNodeParent } from '../models/BindingNodeParent';
6
6
  import { PlanBindingNode } from '../models/PlanBindingNode';
7
7
  import { PlanParams } from '../models/PlanParams';
8
8
  import { PlanServiceNode } from '../models/PlanServiceNode';
9
- export declare function curryBuildPlanServiceNode(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: PlanParams) => PlanServiceNode;
9
+ export declare function curryBuildPlanServiceNode(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: PlanParams) => PlanServiceNode;
10
10
  //# sourceMappingURL=curryBuildPlanServiceNode.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
5
5
  import { BasePlanParams } from '../models/BasePlanParams';
6
6
  import { BindingNodeParent } from '../models/BindingNodeParent';
7
7
  import { PlanBindingNode } from '../models/PlanBindingNode';
8
8
  import { PlanServiceNode } from '../models/PlanServiceNode';
9
9
  import { SubplanParams } from '../models/SubplanParams';
10
- export declare function curryBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode;
10
+ export declare function curryBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode;
11
11
  //# sourceMappingURL=curryBuildPlanServiceNodeFromClassElementMetadata.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
5
  import { BasePlanParams } from '../models/BasePlanParams';
6
6
  import { BindingNodeParent } from '../models/BindingNodeParent';
7
7
  import { PlanBindingNode } from '../models/PlanBindingNode';
8
8
  import { PlanServiceNode } from '../models/PlanServiceNode';
9
9
  import { SubplanParams } from '../models/SubplanParams';
10
- export declare function curryBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode;
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
11
  //# sourceMappingURL=curryBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { BasePlanParams } from '../models/BasePlanParams';
5
5
  import { BindingNodeParent } from '../models/BindingNodeParent';
6
6
  import { PlanBindingNode } from '../models/PlanBindingNode';
7
7
  import { SubplanParams } from '../models/SubplanParams';
8
- export declare function curryBuildServiceNodeBindings(subplan: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>) => PlanBindingNode): (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[];
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
9
  //# sourceMappingURL=curryBuildServiceNodeBindings.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
5
5
  import { BasePlanParams } from '../models/BasePlanParams';
6
6
  import { BindingNodeParent } from '../models/BindingNodeParent';
7
7
  import { PlanBindingNode } from '../models/PlanBindingNode';
8
8
  import { PlanServiceNode } from '../models/PlanServiceNode';
9
9
  import { SubplanParams } from '../models/SubplanParams';
10
- export declare function curryLazyBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode | undefined;
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
11
  //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromClassElementMetadata.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
5
  import { BasePlanParams } from '../models/BasePlanParams';
6
6
  import { BindingNodeParent } from '../models/BindingNodeParent';
7
7
  import { PlanBindingNode } from '../models/PlanBindingNode';
8
8
  import { PlanServiceNode } from '../models/PlanServiceNode';
9
9
  import { SubplanParams } from '../models/SubplanParams';
10
- export declare function curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode | undefined;
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
11
  //# sourceMappingURL=curryLazyBuildPlanServiceNodeFromResolvedValueElementMetadata.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
3
  import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
4
4
  import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
5
  import { PlanBindingNode } from '../models/PlanBindingNode';
6
6
  import { PlanServiceNode } from '../models/PlanServiceNode';
7
7
  import { SubplanParams } from '../models/SubplanParams';
8
- export declare function currySubplan(buildLazyPlanServiceNodeNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode, buildLazyPlanServiceNodeNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode, buildPlanServiceNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode | undefined, buildPlanServiceNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode | undefined): (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>) => PlanBindingNode;
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
9
  //# sourceMappingURL=currySubplan.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
3
  import { ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata';
4
4
  import { ResolvedValueElementMetadata } from '../../metadata/models/ResolvedValueElementMetadata';
5
5
  import { PlanParams } from '../models/PlanParams';
6
6
  import { PlanResult } from '../models/PlanResult';
7
7
  import { PlanServiceNode } from '../models/PlanServiceNode';
8
8
  import { SubplanParams } from '../models/SubplanParams';
9
- export declare const buildPlanServiceNodeFromClassElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode;
10
- export declare const buildPlanServiceNodeFromResolvedValueElementMetadata: (params: SubplanParams, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, elementMetadata: ResolvedValueElementMetadata) => PlanServiceNode;
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;
11
11
  export declare function plan(params: PlanParams): PlanResult;
12
12
  //# sourceMappingURL=plan.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { Binding } from '../../binding/models/Binding';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { PlanServiceNodeBindingRemovedResult } from '../../metadata/models/PlanServiceNodeBindingRemovedResult';
5
5
  import { PlanServiceNode } from '../models/PlanServiceNode';
6
6
  /**
@@ -11,5 +11,5 @@ import { PlanServiceNode } from '../models/PlanServiceNode';
11
11
  * @param optionalBindings Whether the bindings are optional.
12
12
  * @returns True if the binding requires ancestor metadata, false otherwise.
13
13
  */
14
- export declare function removeServiceNodeBindingIfContextFree(serviceNode: PlanServiceNode, binding: Binding<unknown>, bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>, optionalBindings: boolean): PlanServiceNodeBindingRemovedResult;
14
+ export declare function removeServiceNodeBindingIfContextFree(serviceNode: PlanServiceNode, binding: Binding<unknown>, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, optionalBindings: boolean): PlanServiceNodeBindingRemovedResult;
15
15
  //# sourceMappingURL=removeServiceNodeBindingIfContextFree.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
3
  import { PlanParams } from '../models/PlanParams';
4
- export declare function buildPlanBindingConstraintsList(params: PlanParams): SingleInmutableLinkedList<InternalBindingConstraints>;
4
+ export declare function buildPlanBindingConstraintsList(params: PlanParams): SingleImmutableLinkedList<InternalBindingConstraints>;
5
5
  //# sourceMappingURL=buildPlanBindingConstraintsList.d.ts.map
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildPlanBindingConstraintsList = buildPlanBindingConstraintsList;
4
- const SingleInmutableLinkedList_1 = require("../../common/models/SingleInmutableLinkedList");
4
+ const SingleImmutableLinkedList_1 = require("../../common/models/SingleImmutableLinkedList");
5
5
  function buildPlanBindingConstraintsList(params) {
6
6
  const tags = new Map();
7
7
  if (params.rootConstraints.tag !== undefined) {
8
8
  tags.set(params.rootConstraints.tag.key, params.rootConstraints.tag.value);
9
9
  }
10
- return new SingleInmutableLinkedList_1.SingleInmutableLinkedList({
10
+ return new SingleImmutableLinkedList_1.SingleImmutableLinkedList({
11
11
  elem: {
12
12
  getAncestorsCalled: false,
13
13
  name: params.rootConstraints.name,
@@ -1,6 +1,6 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedListNode } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedListNode } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { PlanServiceRedirectionBindingNode } from '../models/PlanServiceRedirectionBindingNode';
5
- export declare function checkPlanServiceRedirectionBindingNodeSingleInjectionBindings(serviceRedirectionBindingNode: PlanServiceRedirectionBindingNode, isOptional: boolean, bindingConstraintNode: SingleInmutableLinkedListNode<InternalBindingConstraints>, serviceRedirections: readonly ServiceIdentifier[]): void;
5
+ export declare function checkPlanServiceRedirectionBindingNodeSingleInjectionBindings(serviceRedirectionBindingNode: PlanServiceRedirectionBindingNode, isOptional: boolean, bindingConstraintNode: SingleImmutableLinkedListNode<InternalBindingConstraints>, serviceRedirections: readonly ServiceIdentifier[]): void;
6
6
  //# sourceMappingURL=checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
- import { SingleInmutableLinkedListNode } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedListNode } from '../../common/models/SingleImmutableLinkedList';
3
3
  import { PlanServiceNode } from '../models/PlanServiceNode';
4
- export declare function checkServiceNodeSingleInjectionBindings(serviceNode: PlanServiceNode, isOptional: boolean, bindingConstraintNode: SingleInmutableLinkedListNode<InternalBindingConstraints>): void;
4
+ export declare function checkServiceNodeSingleInjectionBindings(serviceNode: PlanServiceNode, isOptional: boolean, bindingConstraintNode: SingleImmutableLinkedListNode<InternalBindingConstraints>): void;
5
5
  //# sourceMappingURL=checkServiceNodeSingleInjectionBindings.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { ResolutionParams } from '../../resolution/models/ResolutionParams';
2
+ export declare function handleResolveError(params: ResolutionParams, error: unknown): never;
3
+ //# sourceMappingURL=handleResolveError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveError.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/handleResolveError.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAS5E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,OAAO,GACb,KAAK,CAaP"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleResolveError = handleResolveError;
4
+ const common_1 = require("@inversifyjs/common");
5
+ const BindingType_1 = require("../../binding/models/BindingType");
6
+ const isStackOverflowError_1 = require("../../error/calculations/isStackOverflowError");
7
+ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
8
+ const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
9
+ const isPlanServiceRedirectionBindingNode_1 = require("./isPlanServiceRedirectionBindingNode");
10
+ const INDEX_NOT_FOUND = -1;
11
+ function handleResolveError(params, error) {
12
+ if ((0, isStackOverflowError_1.isStackOverflowError)(error)) {
13
+ const stringifiedCircularDependencies = stringifyServiceIdentifierTrace(extractLikelyCircularDependency(params));
14
+ throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.planning, `Circular dependency found: ${stringifiedCircularDependencies}`, { cause: error });
15
+ }
16
+ throw error;
17
+ }
18
+ function extractLikelyCircularDependency(params) {
19
+ const root = params.planResult.tree.root;
20
+ const stack = [];
21
+ function depthFirstSearch(node) {
22
+ const existingIndex = stack.indexOf(node);
23
+ if (existingIndex !== INDEX_NOT_FOUND) {
24
+ const cycleNodes = [
25
+ ...stack.slice(existingIndex),
26
+ node,
27
+ ];
28
+ return cycleNodes.map((n) => n.serviceIdentifier);
29
+ }
30
+ stack.push(node);
31
+ try {
32
+ for (const child of getChildServiceNodes(node)) {
33
+ const result = depthFirstSearch(child);
34
+ if (result !== undefined) {
35
+ return result;
36
+ }
37
+ }
38
+ }
39
+ finally {
40
+ stack.pop();
41
+ }
42
+ return undefined;
43
+ }
44
+ const result = depthFirstSearch(root);
45
+ return result ?? [];
46
+ }
47
+ function getChildServiceNodes(serviceNode) {
48
+ const children = [];
49
+ const bindings = serviceNode.bindings;
50
+ if (bindings === undefined) {
51
+ return children;
52
+ }
53
+ const processBindingNode = (bindingNode) => {
54
+ if ((0, isPlanServiceRedirectionBindingNode_1.isPlanServiceRedirectionBindingNode)(bindingNode)) {
55
+ for (const redirection of bindingNode.redirections) {
56
+ processBindingNode(redirection);
57
+ }
58
+ return;
59
+ }
60
+ switch (bindingNode.binding.type) {
61
+ case BindingType_1.bindingTypeValues.Instance: {
62
+ const instanceNode = bindingNode;
63
+ for (const ctorParam of instanceNode.constructorParams) {
64
+ if (ctorParam !== undefined) {
65
+ children.push(ctorParam);
66
+ }
67
+ }
68
+ for (const propParam of instanceNode.propertyParams.values()) {
69
+ children.push(propParam);
70
+ }
71
+ break;
72
+ }
73
+ case BindingType_1.bindingTypeValues.ResolvedValue: {
74
+ const resolvedValueNode = bindingNode;
75
+ for (const param of resolvedValueNode.params) {
76
+ children.push(param);
77
+ }
78
+ break;
79
+ }
80
+ default:
81
+ break;
82
+ }
83
+ };
84
+ if (Array.isArray(bindings)) {
85
+ for (const bindingNode of bindings) {
86
+ processBindingNode(bindingNode);
87
+ }
88
+ }
89
+ else {
90
+ processBindingNode(bindings);
91
+ }
92
+ return children;
93
+ }
94
+ function stringifyServiceIdentifierTrace(serviceIdentifiers) {
95
+ const serviceIdentifiersArray = [...serviceIdentifiers];
96
+ if (serviceIdentifiersArray.length === 0) {
97
+ return '(No dependency trace)';
98
+ }
99
+ return serviceIdentifiersArray.map(common_1.stringifyServiceIdentifier).join(' -> ');
100
+ }
101
+ //# sourceMappingURL=handleResolveError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveError.js","sourceRoot":"","sources":["../../../../src/planning/calculations/handleResolveError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=handleResolveError.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveError.spec.d.ts","sourceRoot":"","sources":["../../../../src/planning/calculations/handleResolveError.spec.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
3
- import { SingleInmutableLinkedListNode } from '../../common/models/SingleInmutableLinkedList';
3
+ import { SingleImmutableLinkedListNode } from '../../common/models/SingleImmutableLinkedList';
4
4
  import { PlanBindingNode } from '../models/PlanBindingNode';
5
- export declare function throwErrorWhenUnexpectedBindingsAmountFound(bindingNodes: PlanBindingNode[] | PlanBindingNode | undefined, isOptional: boolean, bindingConstraintNode: SingleInmutableLinkedListNode<InternalBindingConstraints>, serviceRedirections: readonly ServiceIdentifier[]): void;
5
+ export declare function throwErrorWhenUnexpectedBindingsAmountFound(bindingNodes: PlanBindingNode[] | PlanBindingNode | undefined, isOptional: boolean, bindingConstraintNode: SingleImmutableLinkedListNode<InternalBindingConstraints>, serviceRedirections: readonly ServiceIdentifier[]): void;
6
6
  //# sourceMappingURL=throwErrorWhenUnexpectedBindingsAmountFound.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
2
- import { SingleInmutableLinkedList } from '../../common/models/SingleInmutableLinkedList';
2
+ import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
3
3
  export interface NonCachedServiceNodeContext {
4
- bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>;
4
+ bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>;
5
5
  chainedBindings: boolean;
6
6
  optionalBindings: boolean;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/resolve.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuE9D,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAIzD"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/resolve.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuE9D,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAQzD"}
@@ -5,6 +5,7 @@ const common_1 = require("@inversifyjs/common");
5
5
  const BindingType_1 = require("../../binding/models/BindingType");
6
6
  const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
7
7
  const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
8
+ const handleResolveError_1 = require("../../planning/calculations/handleResolveError");
8
9
  const isPlanServiceRedirectionBindingNode_1 = require("../../planning/calculations/isPlanServiceRedirectionBindingNode");
9
10
  const resolveConstantValueBinding_1 = require("./resolveConstantValueBinding");
10
11
  const resolveDynamicValueBinding_1 = require("./resolveDynamicValueBinding");
@@ -31,8 +32,13 @@ const resolveResolvedValueBindingNode = (0, resolveResolvedValueBindingNode_1.re
31
32
  const resolveScopedInstanceBindingNode = (0, resolveScopedInstanceBindingNode_1.resolveScopedInstanceBindingNode)(resolveInstanceBindingNode);
32
33
  const resolveScopedResolvedValueBindingNode = (0, resolveScopedResolvedValueBindingNode_1.resolveScopedResolvedValueBindingNode)(resolveResolvedValueBindingNode);
33
34
  function resolve(params) {
34
- const serviceNode = params.planResult.tree.root;
35
- return resolveServiceNode(params, serviceNode);
35
+ try {
36
+ const serviceNode = params.planResult.tree.root;
37
+ return resolveServiceNode(params, serviceNode);
38
+ }
39
+ catch (error) {
40
+ (0, handleResolveError_1.handleResolveError)(params, error);
41
+ }
36
42
  }
37
43
  function resolveBindingNode(params, planBindingNode) {
38
44
  switch (planBindingNode.binding.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/resolution/actions/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/resolution/actions/resolve.ts"],"names":[],"mappings":"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"}
@@ -269,14 +269,14 @@ declare function tagged(key: MetadataTag, value: unknown): MethodDecorator & Par
269
269
 
270
270
  declare function unmanaged(): MethodDecorator & ParameterDecorator & PropertyDecorator;
271
271
 
272
- interface SingleInmutableLinkedListNode<T> {
272
+ interface SingleImmutableLinkedListNode<T> {
273
273
  elem: T;
274
- previous: SingleInmutableLinkedListNode<T> | undefined;
274
+ previous: SingleImmutableLinkedListNode<T> | undefined;
275
275
  }
276
- declare class SingleInmutableLinkedList<T> implements Iterable<T> {
277
- readonly last: SingleInmutableLinkedListNode<T>;
278
- constructor(last: SingleInmutableLinkedListNode<T>);
279
- concat(elem: T): SingleInmutableLinkedList<T>;
276
+ declare class SingleImmutableLinkedList<T> implements Iterable<T> {
277
+ readonly last: SingleImmutableLinkedListNode<T>;
278
+ constructor(last: SingleImmutableLinkedListNode<T>);
279
+ concat(elem: T): SingleImmutableLinkedList<T>;
280
280
  [Symbol.iterator](): Iterator<T>;
281
281
  }
282
282
 
@@ -315,7 +315,7 @@ interface GetSingleServicePlanOptions extends BaseGetPlanOptions {
315
315
  type GetPlanOptions = GetSingleServicePlanOptions | GetMultipleServicePlanOptions;
316
316
 
317
317
  interface NonCachedServiceNodeContext {
318
- bindingConstraintsList: SingleInmutableLinkedList<InternalBindingConstraints>;
318
+ bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>;
319
319
  chainedBindings: boolean;
320
320
  optionalBindings: boolean;
321
321
  }