inversify 6.2.1 → 7.0.0-alpha.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 (219) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/README.md +3 -0
  3. package/lib/cjs/index.d.ts +3 -29
  4. package/lib/cjs/index.d.ts.map +1 -1
  5. package/lib/cjs/index.js +19 -90
  6. package/lib/cjs/index.js.map +1 -1
  7. package/lib/esm/index.d.ts +3 -504
  8. package/lib/esm/index.d.ts.map +1 -1
  9. package/lib/esm/index.js +1 -1
  10. package/lib/esm/index.js.map +1 -1
  11. package/package.json +13 -12
  12. package/lib/cjs/annotation/decorator_utils.d.ts +0 -17
  13. package/lib/cjs/annotation/decorator_utils.d.ts.map +0 -1
  14. package/lib/cjs/annotation/decorator_utils.js +0 -132
  15. package/lib/cjs/annotation/decorator_utils.js.map +0 -1
  16. package/lib/cjs/annotation/inject.d.ts +0 -6
  17. package/lib/cjs/annotation/inject.d.ts.map +0 -1
  18. package/lib/cjs/annotation/inject.js +0 -41
  19. package/lib/cjs/annotation/inject.js.map +0 -1
  20. package/lib/cjs/annotation/inject_base.d.ts +0 -5
  21. package/lib/cjs/annotation/inject_base.d.ts.map +0 -1
  22. package/lib/cjs/annotation/inject_base.js +0 -19
  23. package/lib/cjs/annotation/inject_base.js.map +0 -1
  24. package/lib/cjs/annotation/injectable.d.ts +0 -3
  25. package/lib/cjs/annotation/injectable.d.ts.map +0 -1
  26. package/lib/cjs/annotation/injectable.js +0 -50
  27. package/lib/cjs/annotation/injectable.js.map +0 -1
  28. package/lib/cjs/annotation/multi_inject.d.ts +0 -6
  29. package/lib/cjs/annotation/multi_inject.d.ts.map +0 -1
  30. package/lib/cjs/annotation/multi_inject.js +0 -41
  31. package/lib/cjs/annotation/multi_inject.js.map +0 -1
  32. package/lib/cjs/annotation/named.d.ts +0 -3
  33. package/lib/cjs/annotation/named.d.ts.map +0 -1
  34. package/lib/cjs/annotation/named.js +0 -44
  35. package/lib/cjs/annotation/named.js.map +0 -1
  36. package/lib/cjs/annotation/optional.d.ts +0 -3
  37. package/lib/cjs/annotation/optional.d.ts.map +0 -1
  38. package/lib/cjs/annotation/optional.js +0 -43
  39. package/lib/cjs/annotation/optional.js.map +0 -1
  40. package/lib/cjs/annotation/post_construct.d.ts +0 -5
  41. package/lib/cjs/annotation/post_construct.d.ts.map +0 -1
  42. package/lib/cjs/annotation/post_construct.js +0 -42
  43. package/lib/cjs/annotation/post_construct.js.map +0 -1
  44. package/lib/cjs/annotation/pre_destroy.d.ts +0 -5
  45. package/lib/cjs/annotation/pre_destroy.d.ts.map +0 -1
  46. package/lib/cjs/annotation/pre_destroy.js +0 -42
  47. package/lib/cjs/annotation/pre_destroy.js.map +0 -1
  48. package/lib/cjs/annotation/property_event_decorator.d.ts +0 -5
  49. package/lib/cjs/annotation/property_event_decorator.d.ts.map +0 -1
  50. package/lib/cjs/annotation/property_event_decorator.js +0 -16
  51. package/lib/cjs/annotation/property_event_decorator.js.map +0 -1
  52. package/lib/cjs/annotation/tagged.d.ts +0 -3
  53. package/lib/cjs/annotation/tagged.d.ts.map +0 -1
  54. package/lib/cjs/annotation/tagged.js +0 -10
  55. package/lib/cjs/annotation/tagged.js.map +0 -1
  56. package/lib/cjs/annotation/target_name.d.ts +0 -4
  57. package/lib/cjs/annotation/target_name.d.ts.map +0 -1
  58. package/lib/cjs/annotation/target_name.js +0 -46
  59. package/lib/cjs/annotation/target_name.js.map +0 -1
  60. package/lib/cjs/annotation/unmanaged.d.ts +0 -4
  61. package/lib/cjs/annotation/unmanaged.d.ts.map +0 -1
  62. package/lib/cjs/annotation/unmanaged.js +0 -46
  63. package/lib/cjs/annotation/unmanaged.js.map +0 -1
  64. package/lib/cjs/bindings/binding.d.ts +0 -21
  65. package/lib/cjs/bindings/binding.d.ts.map +0 -1
  66. package/lib/cjs/bindings/binding.js +0 -68
  67. package/lib/cjs/bindings/binding.js.map +0 -1
  68. package/lib/cjs/bindings/binding_count.d.ts +0 -6
  69. package/lib/cjs/bindings/binding_count.d.ts.map +0 -1
  70. package/lib/cjs/bindings/binding_count.js +0 -10
  71. package/lib/cjs/bindings/binding_count.js.map +0 -1
  72. package/lib/cjs/constants/error_msgs.d.ts +0 -31
  73. package/lib/cjs/constants/error_msgs.d.ts.map +0 -1
  74. package/lib/cjs/constants/error_msgs.js +0 -61
  75. package/lib/cjs/constants/error_msgs.js.map +0 -1
  76. package/lib/cjs/constants/literal_types.d.ts +0 -6
  77. package/lib/cjs/constants/literal_types.d.ts.map +0 -1
  78. package/lib/cjs/constants/literal_types.js +0 -30
  79. package/lib/cjs/constants/literal_types.js.map +0 -1
  80. package/lib/cjs/constants/metadata_keys.d.ts +0 -14
  81. package/lib/cjs/constants/metadata_keys.d.ts.map +0 -1
  82. package/lib/cjs/constants/metadata_keys.js +0 -39
  83. package/lib/cjs/constants/metadata_keys.js.map +0 -1
  84. package/lib/cjs/container/container.d.ts +0 -89
  85. package/lib/cjs/container/container.d.ts.map +0 -1
  86. package/lib/cjs/container/container.js +0 -622
  87. package/lib/cjs/container/container.js.map +0 -1
  88. package/lib/cjs/container/container_module.d.ts +0 -12
  89. package/lib/cjs/container/container_module.d.ts.map +0 -1
  90. package/lib/cjs/container/container_module.js +0 -23
  91. package/lib/cjs/container/container_module.js.map +0 -1
  92. package/lib/cjs/container/container_snapshot.d.ts +0 -11
  93. package/lib/cjs/container/container_snapshot.d.ts.map +0 -1
  94. package/lib/cjs/container/container_snapshot.js +0 -21
  95. package/lib/cjs/container/container_snapshot.js.map +0 -1
  96. package/lib/cjs/container/lookup.d.ts +0 -18
  97. package/lib/cjs/container/lookup.d.ts.map +0 -1
  98. package/lib/cjs/container/lookup.js +0 -144
  99. package/lib/cjs/container/lookup.js.map +0 -1
  100. package/lib/cjs/container/module_activation_store.d.ts +0 -11
  101. package/lib/cjs/container/module_activation_store.d.ts.map +0 -1
  102. package/lib/cjs/container/module_activation_store.js +0 -48
  103. package/lib/cjs/container/module_activation_store.js.map +0 -1
  104. package/lib/cjs/interfaces/interfaces.d.ts +0 -286
  105. package/lib/cjs/interfaces/interfaces.d.ts.map +0 -1
  106. package/lib/cjs/interfaces/interfaces.js +0 -3
  107. package/lib/cjs/interfaces/interfaces.js.map +0 -1
  108. package/lib/cjs/interfaces/interfaces_common_exports.d.ts +0 -4
  109. package/lib/cjs/interfaces/interfaces_common_exports.d.ts.map +0 -1
  110. package/lib/cjs/interfaces/interfaces_common_exports.js +0 -3
  111. package/lib/cjs/interfaces/interfaces_common_exports.js.map +0 -1
  112. package/lib/cjs/planning/context.d.ts +0 -12
  113. package/lib/cjs/planning/context.d.ts.map +0 -1
  114. package/lib/cjs/planning/context.js +0 -22
  115. package/lib/cjs/planning/context.js.map +0 -1
  116. package/lib/cjs/planning/metadata.d.ts +0 -9
  117. package/lib/cjs/planning/metadata.d.ts.map +0 -1
  118. package/lib/cjs/planning/metadata.js +0 -55
  119. package/lib/cjs/planning/metadata.js.map +0 -1
  120. package/lib/cjs/planning/metadata_reader.d.ts +0 -7
  121. package/lib/cjs/planning/metadata_reader.d.ts.map +0 -1
  122. package/lib/cjs/planning/metadata_reader.js +0 -56
  123. package/lib/cjs/planning/metadata_reader.js.map +0 -1
  124. package/lib/cjs/planning/plan.d.ts +0 -8
  125. package/lib/cjs/planning/plan.d.ts.map +0 -1
  126. package/lib/cjs/planning/plan.js +0 -13
  127. package/lib/cjs/planning/plan.js.map +0 -1
  128. package/lib/cjs/planning/planner.d.ts +0 -13
  129. package/lib/cjs/planning/planner.d.ts.map +0 -1
  130. package/lib/cjs/planning/planner.js +0 -217
  131. package/lib/cjs/planning/planner.js.map +0 -1
  132. package/lib/cjs/planning/queryable_string.d.ts +0 -11
  133. package/lib/cjs/planning/queryable_string.d.ts.map +0 -1
  134. package/lib/cjs/planning/queryable_string.js +0 -33
  135. package/lib/cjs/planning/queryable_string.js.map +0 -1
  136. package/lib/cjs/planning/reflection_utils.d.ts +0 -6
  137. package/lib/cjs/planning/reflection_utils.d.ts.map +0 -1
  138. package/lib/cjs/planning/reflection_utils.js +0 -67
  139. package/lib/cjs/planning/reflection_utils.js.map +0 -1
  140. package/lib/cjs/planning/request.d.ts +0 -15
  141. package/lib/cjs/planning/request.d.ts.map +0 -1
  142. package/lib/cjs/planning/request.js +0 -34
  143. package/lib/cjs/planning/request.js.map +0 -1
  144. package/lib/cjs/resolution/instantiation.d.ts +0 -4
  145. package/lib/cjs/resolution/instantiation.d.ts.map +0 -1
  146. package/lib/cjs/resolution/instantiation.js +0 -161
  147. package/lib/cjs/resolution/instantiation.js.map +0 -1
  148. package/lib/cjs/resolution/resolver.d.ts +0 -4
  149. package/lib/cjs/resolution/resolver.d.ts.map +0 -1
  150. package/lib/cjs/resolution/resolver.js +0 -212
  151. package/lib/cjs/resolution/resolver.js.map +0 -1
  152. package/lib/cjs/scope/scope.d.ts +0 -4
  153. package/lib/cjs/scope/scope.d.ts.map +0 -1
  154. package/lib/cjs/scope/scope.js +0 -55
  155. package/lib/cjs/scope/scope.js.map +0 -1
  156. package/lib/cjs/syntax/binding_in_syntax.d.ts +0 -10
  157. package/lib/cjs/syntax/binding_in_syntax.d.ts.map +0 -1
  158. package/lib/cjs/syntax/binding_in_syntax.js +0 -25
  159. package/lib/cjs/syntax/binding_in_syntax.js.map +0 -1
  160. package/lib/cjs/syntax/binding_in_when_on_syntax.d.ts +0 -30
  161. package/lib/cjs/syntax/binding_in_when_on_syntax.d.ts.map +0 -1
  162. package/lib/cjs/syntax/binding_in_when_on_syntax.js +0 -80
  163. package/lib/cjs/syntax/binding_in_when_on_syntax.js.map +0 -1
  164. package/lib/cjs/syntax/binding_on_syntax.d.ts +0 -9
  165. package/lib/cjs/syntax/binding_on_syntax.d.ts.map +0 -1
  166. package/lib/cjs/syntax/binding_on_syntax.js +0 -20
  167. package/lib/cjs/syntax/binding_on_syntax.js.map +0 -1
  168. package/lib/cjs/syntax/binding_to_syntax.d.ts +0 -19
  169. package/lib/cjs/syntax/binding_to_syntax.d.ts.map +0 -1
  170. package/lib/cjs/syntax/binding_to_syntax.js +0 -145
  171. package/lib/cjs/syntax/binding_to_syntax.js.map +0 -1
  172. package/lib/cjs/syntax/binding_when_on_syntax.d.ts +0 -26
  173. package/lib/cjs/syntax/binding_when_on_syntax.d.ts.map +0 -1
  174. package/lib/cjs/syntax/binding_when_on_syntax.js +0 -68
  175. package/lib/cjs/syntax/binding_when_on_syntax.js.map +0 -1
  176. package/lib/cjs/syntax/binding_when_syntax.d.ts +0 -22
  177. package/lib/cjs/syntax/binding_when_syntax.d.ts.map +0 -1
  178. package/lib/cjs/syntax/binding_when_syntax.js +0 -88
  179. package/lib/cjs/syntax/binding_when_syntax.js.map +0 -1
  180. package/lib/cjs/syntax/constraint_helpers.d.ts +0 -7
  181. package/lib/cjs/syntax/constraint_helpers.d.ts.map +0 -1
  182. package/lib/cjs/syntax/constraint_helpers.js +0 -78
  183. package/lib/cjs/syntax/constraint_helpers.js.map +0 -1
  184. package/lib/cjs/utils/async.d.ts +0 -4
  185. package/lib/cjs/utils/async.d.ts.map +0 -1
  186. package/lib/cjs/utils/async.js +0 -16
  187. package/lib/cjs/utils/async.js.map +0 -1
  188. package/lib/cjs/utils/binding_utils.d.ts +0 -5
  189. package/lib/cjs/utils/binding_utils.d.ts.map +0 -1
  190. package/lib/cjs/utils/binding_utils.js +0 -93
  191. package/lib/cjs/utils/binding_utils.js.map +0 -1
  192. package/lib/cjs/utils/clonable.d.ts +0 -4
  193. package/lib/cjs/utils/clonable.d.ts.map +0 -1
  194. package/lib/cjs/utils/clonable.js +0 -10
  195. package/lib/cjs/utils/clonable.js.map +0 -1
  196. package/lib/cjs/utils/exceptions.d.ts +0 -3
  197. package/lib/cjs/utils/exceptions.d.ts.map +0 -1
  198. package/lib/cjs/utils/exceptions.js +0 -55
  199. package/lib/cjs/utils/exceptions.js.map +0 -1
  200. package/lib/cjs/utils/factory_type.d.ts +0 -6
  201. package/lib/cjs/utils/factory_type.d.ts.map +0 -1
  202. package/lib/cjs/utils/factory_type.js +0 -10
  203. package/lib/cjs/utils/factory_type.js.map +0 -1
  204. package/lib/cjs/utils/get_base_type.d.ts +0 -3
  205. package/lib/cjs/utils/get_base_type.d.ts.map +0 -1
  206. package/lib/cjs/utils/get_base_type.js +0 -10
  207. package/lib/cjs/utils/get_base_type.js.map +0 -1
  208. package/lib/cjs/utils/id.d.ts +0 -3
  209. package/lib/cjs/utils/id.d.ts.map +0 -1
  210. package/lib/cjs/utils/id.js +0 -8
  211. package/lib/cjs/utils/id.js.map +0 -1
  212. package/lib/cjs/utils/js.d.ts +0 -2
  213. package/lib/cjs/utils/js.d.ts.map +0 -1
  214. package/lib/cjs/utils/js.js +0 -16
  215. package/lib/cjs/utils/js.js.map +0 -1
  216. package/lib/cjs/utils/serialization.d.ts +0 -11
  217. package/lib/cjs/utils/serialization.d.ts.map +0 -1
  218. package/lib/cjs/utils/serialization.js +0 -148
  219. package/lib/cjs/utils/serialization.js.map +0 -1
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getFunctionName = void 0;
37
- exports.getDependencies = getDependencies;
38
- exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
39
- const core_1 = require("@inversifyjs/core");
40
- const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
41
- const get_base_type_1 = require("../utils/get_base_type");
42
- const serialization_1 = require("../utils/serialization");
43
- Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
44
- function getDependencies(metadataReader, func) {
45
- return (0, core_1.getTargets)(metadataReader)(func);
46
- }
47
- function getBaseClassDependencyCount(metadataReader, func) {
48
- const baseConstructor = (0, get_base_type_1.getBaseType)(func);
49
- if (baseConstructor === undefined || baseConstructor === Object) {
50
- return 0;
51
- }
52
- // get targets for base class
53
- const targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
54
- // get unmanaged metadata
55
- const metadata = targets.map((t) => t.metadata.filter((m) => m.key === METADATA_KEY.UNMANAGED_TAG));
56
- // Compare the number of constructor arguments with the number of
57
- // unmanaged dependencies unmanaged dependencies are not required
58
- const unmanagedCount = [].concat.apply([], metadata).length;
59
- const dependencyCount = targets.length - unmanagedCount;
60
- if (dependencyCount > 0) {
61
- return dependencyCount;
62
- }
63
- else {
64
- return getBaseClassDependencyCount(metadataReader, baseConstructor);
65
- }
66
- }
67
- //# sourceMappingURL=reflection_utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reflection_utils.js","sourceRoot":"","sources":["../../../src/planning/reflection_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDS,0CAAe;AAAE,kEAA2B;AApDrD,4CAA+C;AAE/C,yEAA2D;AAE3D,0DAAqD;AACrD,0DAAyD;AA+CF,gGA/C9C,+BAAe,OA+C8C;AA5CtE,SAAS,eAAe,CACtB,cAAyC,EACzC,IAAqB;IAErB,OAAO,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAC,IAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,2BAA2B,CAClC,cAAyC,EACzC,IAAqB;IAErB,MAAM,eAAe,GAAwB,IAAA,2BAAW,EAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GACX,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAE9C,yBAAyB;IACzB,MAAM,QAAQ,GAA4B,OAAO,CAAC,GAAG,CACnD,CAAC,CAAoB,EAAE,EAAE,CACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CACf,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,aAAa,CACjE,CACJ,CAAC;IAEF,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,cAAc,GAAY,EAAiB,CAAC,MAAM,CAAC,KAAK,CAC5D,EAAE,EACF,QAAQ,CACT,CAAC,MAAM,CAAC;IACT,MAAM,eAAe,GAAW,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;IAEhE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class Request implements interfaces.Request {
3
- id: number;
4
- serviceIdentifier: interfaces.ServiceIdentifier;
5
- parentContext: interfaces.Context;
6
- parentRequest: interfaces.Request | null;
7
- bindings: interfaces.Binding<unknown>[];
8
- childRequests: interfaces.Request[];
9
- target: interfaces.Target;
10
- requestScope: interfaces.RequestScope | null;
11
- constructor(serviceIdentifier: interfaces.ServiceIdentifier, parentContext: interfaces.Context, parentRequest: interfaces.Request | null, bindings: interfaces.Binding<any> | interfaces.Binding<any>[], target: interfaces.Target);
12
- addChildRequest(serviceIdentifier: interfaces.ServiceIdentifier, bindings: interfaces.Binding<unknown> | interfaces.Binding<unknown>[], target: interfaces.Target): interfaces.Request;
13
- }
14
- export { Request };
15
- //# sourceMappingURL=request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/planning/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,cAAM,OAAQ,YAAW,UAAU,CAAC,OAAO;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC;IAChD,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC;IAClC,aAAa,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IACzC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;gBAGlD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAC/C,aAAa,EAAE,UAAU,CAAC,OAAO,EACjC,aAAa,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,EAExC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAC7D,MAAM,EAAE,UAAU,CAAC,MAAM;IAcpB,eAAe,CACpB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAC/C,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACrE,MAAM,EAAE,UAAU,CAAC,MAAM,GACxB,UAAU,CAAC,OAAO;CAWtB;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Request = void 0;
4
- const id_1 = require("../utils/id");
5
- class Request {
6
- id;
7
- serviceIdentifier;
8
- parentContext;
9
- parentRequest;
10
- bindings;
11
- childRequests;
12
- target;
13
- requestScope;
14
- constructor(serviceIdentifier, parentContext, parentRequest,
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- bindings, target) {
17
- this.id = (0, id_1.id)();
18
- this.serviceIdentifier = serviceIdentifier;
19
- this.parentContext = parentContext;
20
- this.parentRequest = parentRequest;
21
- this.target = target;
22
- this.childRequests = [];
23
- this.bindings = Array.isArray(bindings) ? bindings : [bindings];
24
- // Set requestScope if Request is the root request
25
- this.requestScope = parentRequest === null ? new Map() : null;
26
- }
27
- addChildRequest(serviceIdentifier, bindings, target) {
28
- const child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
29
- this.childRequests.push(child);
30
- return child;
31
- }
32
- }
33
- exports.Request = Request;
34
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/planning/request.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,OAAO;IACJ,EAAE,CAAS;IACX,iBAAiB,CAA+B;IAChD,aAAa,CAAqB;IAClC,aAAa,CAA4B;IACzC,QAAQ,CAAgC;IACxC,aAAa,CAAuB;IACpC,MAAM,CAAoB;IAC1B,YAAY,CAAiC;IAEpD,YACE,iBAA+C,EAC/C,aAAiC,EACjC,aAAwC;IACxC,8DAA8D;IAC9D,QAA6D,EAC7D,MAAyB;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEhE,kDAAkD;QAClD,IAAI,CAAC,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAEM,eAAe,CACpB,iBAA+C,EAC/C,QAAqE,EACrE,MAAyB;QAEzB,MAAM,KAAK,GAAY,IAAI,OAAO,CAChC,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,CACP,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEQ,0BAAO"}
@@ -1,4 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare function resolveInstance<T>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>, childRequests: interfaces.Request[], resolveRequest: interfaces.ResolveRequestHandler): T | Promise<T>;
3
- export { resolveInstance };
4
- //# sourceMappingURL=instantiation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instantiation.d.ts","sourceRoot":"","sources":["../../../src/resolution/instantiation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAmLtD,iBAAS,eAAe,CAAC,CAAC,EACxB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,EACnC,cAAc,EAAE,UAAU,CAAC,qBAAqB,GAC/C,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBhB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,161 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.resolveInstance = resolveInstance;
37
- const error_msgs_1 = require("../constants/error_msgs");
38
- const literal_types_1 = require("../constants/literal_types");
39
- const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
40
- const async_1 = require("../utils/async");
41
- function _resolveRequests(childRequests, resolveRequest) {
42
- return childRequests.reduce((resolvedRequests, childRequest) => {
43
- const injection = resolveRequest(childRequest);
44
- const targetType = childRequest.target.type;
45
- if (targetType === literal_types_1.TargetTypeEnum.ConstructorArgument) {
46
- resolvedRequests.constructorInjections.push(injection);
47
- }
48
- else {
49
- resolvedRequests.propertyRequests.push(childRequest);
50
- resolvedRequests.propertyInjections.push(injection);
51
- }
52
- if (!resolvedRequests.isAsync) {
53
- resolvedRequests.isAsync = (0, async_1.isPromiseOrContainsPromise)(injection);
54
- }
55
- return resolvedRequests;
56
- }, {
57
- constructorInjections: [],
58
- isAsync: false,
59
- propertyInjections: [],
60
- propertyRequests: [],
61
- });
62
- }
63
- function _createInstance(constr, childRequests, resolveRequest) {
64
- let result;
65
- if (childRequests.length > 0) {
66
- const resolved = _resolveRequests(childRequests, resolveRequest);
67
- const createInstanceWithInjectionsArg = {
68
- ...resolved,
69
- constr,
70
- };
71
- if (resolved.isAsync) {
72
- result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);
73
- }
74
- else {
75
- result = createInstanceWithInjections(createInstanceWithInjectionsArg);
76
- }
77
- }
78
- else {
79
- result = new constr();
80
- }
81
- return result;
82
- }
83
- function createInstanceWithInjections(args) {
84
- const instance = new args.constr(...args.constructorInjections);
85
- args.propertyRequests.forEach((r, index) => {
86
- const property = r.target.identifier;
87
- const injection = args.propertyInjections[index];
88
- if (!r.target.isOptional() || injection !== undefined) {
89
- instance[property] = injection;
90
- }
91
- });
92
- return instance;
93
- }
94
- async function createInstanceWithInjectionsAsync(args) {
95
- const constructorInjections = await possiblyWaitInjections(args.constructorInjections);
96
- const propertyInjections = await possiblyWaitInjections(args.propertyInjections);
97
- return createInstanceWithInjections({
98
- ...args,
99
- constructorInjections,
100
- propertyInjections,
101
- });
102
- }
103
- async function possiblyWaitInjections(possiblePromiseinjections) {
104
- const injections = [];
105
- for (const injection of possiblePromiseinjections) {
106
- if (Array.isArray(injection)) {
107
- injections.push(Promise.all(injection));
108
- }
109
- else {
110
- injections.push(injection);
111
- }
112
- }
113
- return Promise.all(injections);
114
- }
115
- function _getInstanceAfterPostConstruct(constr, result) {
116
- const postConstructResult = _postConstruct(constr, result);
117
- if ((0, async_1.isPromise)(postConstructResult)) {
118
- return postConstructResult.then(() => result);
119
- }
120
- else {
121
- return result;
122
- }
123
- }
124
- function _postConstruct(constr, instance) {
125
- if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
126
- const data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);
127
- try {
128
- return instance[data.value]?.();
129
- }
130
- catch (e) {
131
- if (e instanceof Error) {
132
- throw new Error((0, error_msgs_1.POST_CONSTRUCT_ERROR)(constr.name, e.message));
133
- }
134
- }
135
- }
136
- }
137
- function _validateInstanceResolution(binding, constr) {
138
- if (binding.scope !== literal_types_1.BindingScopeEnum.Singleton) {
139
- _throwIfHandlingDeactivation(binding, constr);
140
- }
141
- }
142
- function _throwIfHandlingDeactivation(binding, constr) {
143
- const scopeErrorMessage = `Class cannot be instantiated in ${binding.scope === literal_types_1.BindingScopeEnum.Request ? 'request' : 'transient'} scope.`;
144
- if (typeof binding.onDeactivation === 'function') {
145
- throw new Error((0, error_msgs_1.ON_DEACTIVATION_ERROR)(constr.name, scopeErrorMessage));
146
- }
147
- if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {
148
- throw new Error((0, error_msgs_1.PRE_DESTROY_ERROR)(constr.name, scopeErrorMessage));
149
- }
150
- }
151
- function resolveInstance(binding, constr, childRequests, resolveRequest) {
152
- _validateInstanceResolution(binding, constr);
153
- const result = _createInstance(constr, childRequests, resolveRequest);
154
- if ((0, async_1.isPromise)(result)) {
155
- return result.then((resolvedResult) => _getInstanceAfterPostConstruct(constr, resolvedResult));
156
- }
157
- else {
158
- return _getInstanceAfterPostConstruct(constr, result);
159
- }
160
- }
161
- //# sourceMappingURL=instantiation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instantiation.js","sourceRoot":"","sources":["../../../src/resolution/instantiation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare function resolve<T>(context: interfaces.Context): T | Promise<T> | (T | Promise<T>)[];
3
- export { resolve };
4
- //# sourceMappingURL=resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/resolution/resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAwVtD,iBAAS,OAAO,CAAC,CAAC,EAChB,OAAO,EAAE,UAAU,CAAC,OAAO,GAC1B,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAWrC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,212 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.resolve = resolve;
37
- const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
38
- const literal_types_1 = require("../constants/literal_types");
39
- const planner_1 = require("../planning/planner");
40
- const scope_1 = require("../scope/scope");
41
- const async_1 = require("../utils/async");
42
- const binding_utils_1 = require("../utils/binding_utils");
43
- const exceptions_1 = require("../utils/exceptions");
44
- const instantiation_1 = require("./instantiation");
45
- // eslint-disable-next-line @typescript-eslint/naming-convention
46
- const _resolveRequest = (requestScope) => (request) => {
47
- request.parentContext.setCurrentRequest(request);
48
- const bindings = request.bindings;
49
- const childRequests = request.childRequests;
50
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
51
- const targetIsAnArray = request.target && request.target.isArray();
52
- const targetParentIsNotAnArray = !request.parentRequest ||
53
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
54
- !request.parentRequest.target ||
55
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
56
- !request.target ||
57
- !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);
58
- if (targetIsAnArray && targetParentIsNotAnArray) {
59
- // Create an array instead of creating an instance
60
- return childRequests.map((childRequest) => {
61
- const resolveRequest = _resolveRequest(requestScope);
62
- return resolveRequest(childRequest);
63
- });
64
- }
65
- else {
66
- if (request.target.isOptional() && bindings.length === 0) {
67
- return undefined;
68
- }
69
- const binding = bindings[0];
70
- return _resolveBinding(requestScope, request, binding);
71
- }
72
- };
73
- // eslint-disable-next-line @typescript-eslint/naming-convention
74
- const _resolveFactoryFromBinding = (binding, context) => {
75
- const factoryDetails = (0, binding_utils_1.getFactoryDetails)(binding);
76
- return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(() => factoryDetails.factory.bind(binding)(context), () => new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())));
77
- };
78
- // eslint-disable-next-line @typescript-eslint/naming-convention
79
- const _getResolvedFromBinding = (requestScope, request, binding) => {
80
- let result;
81
- const childRequests = request.childRequests;
82
- (0, binding_utils_1.ensureFullyBound)(binding);
83
- switch (binding.type) {
84
- case literal_types_1.BindingTypeEnum.ConstantValue:
85
- case literal_types_1.BindingTypeEnum.Function:
86
- result = binding.cache;
87
- break;
88
- case literal_types_1.BindingTypeEnum.Constructor:
89
- result = binding.implementationType;
90
- break;
91
- case literal_types_1.BindingTypeEnum.Instance:
92
- result = (0, instantiation_1.resolveInstance)(binding, binding.implementationType, childRequests, _resolveRequest(requestScope));
93
- break;
94
- default:
95
- result = _resolveFactoryFromBinding(binding, request.parentContext);
96
- }
97
- return result;
98
- };
99
- // eslint-disable-next-line @typescript-eslint/naming-convention
100
- const _resolveInScope = (requestScope, binding, resolveFromBinding) => {
101
- let result = (0, scope_1.tryGetFromScope)(requestScope, binding);
102
- if (result !== null) {
103
- return result;
104
- }
105
- result = resolveFromBinding();
106
- (0, scope_1.saveToScope)(requestScope, binding, result);
107
- return result;
108
- };
109
- // eslint-disable-next-line @typescript-eslint/naming-convention
110
- const _resolveBinding = (requestScope, request, binding) => {
111
- return _resolveInScope(requestScope, binding, () => {
112
- let result = _getResolvedFromBinding(requestScope, request, binding);
113
- if ((0, async_1.isPromise)(result)) {
114
- result = result.then((resolved) => _onActivation(request, binding, resolved));
115
- }
116
- else {
117
- result = _onActivation(request, binding, result);
118
- }
119
- return result;
120
- });
121
- };
122
- function _onActivation(request, binding, resolved) {
123
- let result = _bindingActivation(request.parentContext, binding, resolved);
124
- const containersIterator = _getContainersIterator(request.parentContext.container);
125
- let container;
126
- let containersIteratorResult = containersIterator.next();
127
- do {
128
- container = containersIteratorResult.value;
129
- const context = request.parentContext;
130
- const serviceIdentifier = request.serviceIdentifier;
131
- const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);
132
- if ((0, async_1.isPromise)(result)) {
133
- result = _activateContainerAsync(activationsIterator, context, result);
134
- }
135
- else {
136
- result = _activateContainer(activationsIterator, context, result);
137
- }
138
- containersIteratorResult = containersIterator.next();
139
- // make sure if we are currently on the container that owns the binding, not to keep looping down to child containers
140
- } while (containersIteratorResult.done !== true &&
141
- !(0, planner_1.getBindingDictionary)(container).hasKey(request.serviceIdentifier));
142
- return result;
143
- }
144
- // eslint-disable-next-line @typescript-eslint/naming-convention
145
- const _bindingActivation = (context, binding, previousResult) => {
146
- let result;
147
- // use activation handler if available
148
- if (typeof binding.onActivation === 'function') {
149
- result = binding.onActivation(context, previousResult);
150
- }
151
- else {
152
- result = previousResult;
153
- }
154
- return result;
155
- };
156
- // eslint-disable-next-line @typescript-eslint/naming-convention
157
- const _activateContainer = (activationsIterator, context, result) => {
158
- let activation = activationsIterator.next();
159
- while (activation.done !== true) {
160
- result = activation.value(context, result);
161
- if ((0, async_1.isPromise)(result)) {
162
- return _activateContainerAsync(activationsIterator, context, result);
163
- }
164
- activation = activationsIterator.next();
165
- }
166
- return result;
167
- };
168
- // eslint-disable-next-line @typescript-eslint/naming-convention
169
- const _activateContainerAsync = async (activationsIterator, context, resultPromise) => {
170
- let result = await resultPromise;
171
- let activation = activationsIterator.next();
172
- while (activation.done !== true) {
173
- result = await activation.value(context, result);
174
- activation = activationsIterator.next();
175
- }
176
- return result;
177
- };
178
- // eslint-disable-next-line @typescript-eslint/naming-convention
179
- const _getContainerActivationsForService = (container, serviceIdentifier) => {
180
- // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()
181
- const activations = container._activations;
182
- return activations.hasKey(serviceIdentifier)
183
- ? activations.get(serviceIdentifier).values()
184
- : [].values();
185
- };
186
- // eslint-disable-next-line @typescript-eslint/naming-convention
187
- const _getContainersIterator = (container) => {
188
- const containersStack = [container];
189
- let parent = container.parent;
190
- while (parent !== null) {
191
- containersStack.push(parent);
192
- parent = parent.parent;
193
- }
194
- const getNextContainer = () => {
195
- const nextContainer = containersStack.pop();
196
- if (nextContainer !== undefined) {
197
- return { done: false, value: nextContainer };
198
- }
199
- else {
200
- return { done: true, value: undefined };
201
- }
202
- };
203
- const containersIterator = {
204
- next: getNextContainer,
205
- };
206
- return containersIterator;
207
- };
208
- function resolve(context) {
209
- const resolveRequestFunction = _resolveRequest(context.plan.rootRequest.requestScope);
210
- return resolveRequestFunction(context.plan.rootRequest);
211
- }
212
- //# sourceMappingURL=resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolution/resolver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { interfaces } from '../interfaces/interfaces';
2
- export declare const tryGetFromScope: <T>(requestScope: interfaces.RequestScope, binding: interfaces.Binding<T>) => T | Promise<T> | null;
3
- export declare const saveToScope: <T>(requestScope: interfaces.RequestScope, binding: interfaces.Binding<T>, result: T | Promise<T>) => void;
4
- //# sourceMappingURL=scope.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/scope/scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,EAC9B,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAC3B,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAgBrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,EAC1B,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KACnB,IAYJ,CAAC"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.saveToScope = exports.tryGetFromScope = void 0;
4
- const literal_types_1 = require("../constants/literal_types");
5
- const async_1 = require("../utils/async");
6
- const tryGetFromScope = (requestScope, binding) => {
7
- if (binding.scope === literal_types_1.BindingScopeEnum.Singleton && binding.activated) {
8
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9
- return binding.cache;
10
- }
11
- if (binding.scope === literal_types_1.BindingScopeEnum.Request &&
12
- requestScope.has(binding.id)) {
13
- return requestScope.get(binding.id);
14
- }
15
- return null;
16
- };
17
- exports.tryGetFromScope = tryGetFromScope;
18
- const saveToScope = (requestScope, binding, result) => {
19
- if (binding.scope === literal_types_1.BindingScopeEnum.Singleton) {
20
- _saveToSingletonScope(binding, result);
21
- }
22
- if (binding.scope === literal_types_1.BindingScopeEnum.Request) {
23
- _saveToRequestScope(requestScope, binding, result);
24
- }
25
- };
26
- exports.saveToScope = saveToScope;
27
- // eslint-disable-next-line @typescript-eslint/naming-convention
28
- const _saveToRequestScope = (requestScope, binding, result) => {
29
- if (!requestScope.has(binding.id)) {
30
- requestScope.set(binding.id, result);
31
- }
32
- };
33
- // eslint-disable-next-line @typescript-eslint/naming-convention
34
- const _saveToSingletonScope = (binding, result) => {
35
- // store in cache if scope is singleton
36
- binding.cache = result;
37
- binding.activated = true;
38
- if ((0, async_1.isPromise)(result)) {
39
- void _saveAsyncResultToSingletonScope(binding, result);
40
- }
41
- };
42
- // eslint-disable-next-line @typescript-eslint/naming-convention
43
- const _saveAsyncResultToSingletonScope = async (binding, asyncResult) => {
44
- try {
45
- const result = await asyncResult;
46
- binding.cache = result;
47
- }
48
- catch (ex) {
49
- // allow binding to retry in future
50
- binding.cache = null;
51
- binding.activated = false;
52
- throw ex;
53
- }
54
- };
55
- //# sourceMappingURL=scope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/scope/scope.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,0CAA2C;AAEpC,MAAM,eAAe,GAGC,CAC3B,YAAqC,EACrC,OAA8B,EACP,EAAE;IACzB,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtE,oEAAoE;QACpE,OAAO,OAAO,CAAC,KAAM,CAAC;IACxB,CAAC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5B,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEK,MAAM,WAAW,GAIZ,CACV,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,EAAE,CAAC;QACjD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAAE,CAAC;QAC/C,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB;AAEF,gEAAgE;AAChE,MAAM,mBAAmB,GAIb,CACV,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,qBAAqB,GAGf,CACV,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,uCAAuC;IACvC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;QACtB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,gCAAgC,GAGjB,KAAK,EACxB,OAA8B,EAC9B,WAAuB,EACR,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAe,MAAM,WAAW,CAAC;QAE7C,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,EAAW,EAAE,CAAC;QACrB,mCAAmC;QACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {
3
- private readonly _binding;
4
- constructor(binding: interfaces.Binding<T>);
5
- inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
6
- inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
7
- inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
8
- }
9
- export { BindingInSyntax };
10
- //# sourceMappingURL=binding_in_syntax.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binding_in_syntax.d.ts","sourceRoot":"","sources":["../../../src/syntax/binding_in_syntax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,cAAM,eAAe,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;gBAErC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAInC,cAAc,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAKnD,gBAAgB,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAKrD,gBAAgB,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;CAI7D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}