inversify 6.1.4 → 6.1.5-beta.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 (267) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +6 -15
  3. package/es/container/container.d.ts +2 -0
  4. package/es/container/module_activation_store.d.ts +2 -2
  5. package/es/interfaces/interfaces.d.ts +2 -2
  6. package/es/inversify.d.ts +1 -0
  7. package/es/inversify.js +3 -2
  8. package/es/inversify.js.LICENSE.txt +14 -0
  9. package/lib/annotation/decorator_utils.js +31 -25
  10. package/lib/annotation/inject.js +20 -10
  11. package/lib/annotation/inject_base.js +6 -6
  12. package/lib/annotation/injectable.js +20 -10
  13. package/lib/annotation/multi_inject.js +20 -10
  14. package/lib/annotation/named.js +20 -10
  15. package/lib/annotation/optional.js +20 -10
  16. package/lib/annotation/post_construct.js +21 -11
  17. package/lib/annotation/pre_destroy.js +21 -11
  18. package/lib/annotation/property_event_decorator.js +4 -4
  19. package/lib/annotation/tagged.js +2 -2
  20. package/lib/annotation/target_name.js +21 -11
  21. package/lib/annotation/unmanaged.js +21 -11
  22. package/lib/bindings/binding.js +23 -10
  23. package/lib/constants/error_msgs.js +15 -29
  24. package/lib/constants/literal_types.js +3 -3
  25. package/lib/container/container.d.ts +2 -0
  26. package/lib/container/container.js +317 -566
  27. package/lib/container/container_module.js +11 -9
  28. package/lib/container/container_snapshot.js +10 -8
  29. package/lib/container/lookup.js +61 -56
  30. package/lib/container/module_activation_store.d.ts +2 -2
  31. package/lib/container/module_activation_store.js +21 -24
  32. package/lib/interfaces/interfaces.d.ts +2 -2
  33. package/lib/inversify.d.ts +1 -0
  34. package/lib/inversify.js +19 -8
  35. package/lib/planning/context.js +12 -9
  36. package/lib/planning/metadata.js +27 -16
  37. package/lib/planning/metadata_reader.js +29 -24
  38. package/lib/planning/plan.js +5 -4
  39. package/lib/planning/planner.js +62 -53
  40. package/lib/planning/queryable_string.js +16 -16
  41. package/lib/planning/reflection_utils.js +25 -17
  42. package/lib/planning/request.js +15 -8
  43. package/lib/resolution/instantiation.js +59 -119
  44. package/lib/resolution/resolver.js +89 -134
  45. package/lib/scope/scope.js +17 -62
  46. package/lib/syntax/binding_in_syntax.js +12 -12
  47. package/lib/syntax/binding_in_when_on_syntax.js +50 -47
  48. package/lib/syntax/binding_on_syntax.js +9 -9
  49. package/lib/syntax/binding_to_syntax.js +70 -49
  50. package/lib/syntax/binding_when_on_syntax.js +42 -40
  51. package/lib/syntax/binding_when_syntax.js +54 -76
  52. package/lib/syntax/constraint_helpers.js +31 -23
  53. package/lib/utils/async.js +1 -1
  54. package/lib/utils/binding_utils.js +31 -29
  55. package/lib/utils/exceptions.js +19 -9
  56. package/lib/utils/id.js +1 -1
  57. package/lib/utils/js.js +2 -3
  58. package/lib/utils/serialization.js +42 -33
  59. package/package.json +14 -15
  60. package/amd/annotation/decorator_utils.d.ts +0 -16
  61. package/amd/annotation/decorator_utils.js +0 -119
  62. package/amd/annotation/inject.d.ts +0 -5
  63. package/amd/annotation/inject.js +0 -31
  64. package/amd/annotation/inject_base.d.ts +0 -4
  65. package/amd/annotation/inject_base.js +0 -16
  66. package/amd/annotation/injectable.d.ts +0 -2
  67. package/amd/annotation/injectable.js +0 -40
  68. package/amd/annotation/lazy_service_identifier.js +0 -4
  69. package/amd/annotation/multi_inject.d.ts +0 -5
  70. package/amd/annotation/multi_inject.js +0 -31
  71. package/amd/annotation/named.d.ts +0 -2
  72. package/amd/annotation/named.js +0 -32
  73. package/amd/annotation/optional.d.ts +0 -2
  74. package/amd/annotation/optional.js +0 -32
  75. package/amd/annotation/post_construct.d.ts +0 -4
  76. package/amd/annotation/post_construct.js +0 -32
  77. package/amd/annotation/pre_destroy.d.ts +0 -4
  78. package/amd/annotation/pre_destroy.js +0 -32
  79. package/amd/annotation/property_event_decorator.d.ts +0 -4
  80. package/amd/annotation/property_event_decorator.js +0 -16
  81. package/amd/annotation/tagged.d.ts +0 -2
  82. package/amd/annotation/tagged.js +0 -8
  83. package/amd/annotation/target_name.d.ts +0 -3
  84. package/amd/annotation/target_name.js +0 -35
  85. package/amd/annotation/unmanaged.d.ts +0 -3
  86. package/amd/annotation/unmanaged.js +0 -35
  87. package/amd/bindings/binding.d.ts +0 -20
  88. package/amd/bindings/binding.js +0 -40
  89. package/amd/bindings/binding_count.d.ts +0 -5
  90. package/amd/bindings/binding_count.js +0 -11
  91. package/amd/constants/error_msgs.d.ts +0 -30
  92. package/amd/constants/error_msgs.js +0 -75
  93. package/amd/constants/literal_types.d.ts +0 -5
  94. package/amd/constants/literal_types.js +0 -28
  95. package/amd/constants/metadata_keys.d.ts +0 -13
  96. package/amd/constants/metadata_keys.js +0 -28
  97. package/amd/container/container.d.ts +0 -73
  98. package/amd/container/container.js +0 -766
  99. package/amd/container/container_module.d.ts +0 -11
  100. package/amd/container/container_module.js +0 -21
  101. package/amd/container/container_snapshot.d.ts +0 -10
  102. package/amd/container/container_snapshot.js +0 -20
  103. package/amd/container/lookup.d.ts +0 -17
  104. package/amd/container/lookup.js +0 -132
  105. package/amd/container/module_activation_store.d.ts +0 -10
  106. package/amd/container/module_activation_store.js +0 -51
  107. package/amd/interfaces/interfaces.d.ts +0 -269
  108. package/amd/interfaces/interfaces.js +0 -4
  109. package/amd/inversify.d.ts +0 -24
  110. package/amd/inversify.js +0 -57
  111. package/amd/planning/context.d.ts +0 -11
  112. package/amd/planning/context.js +0 -19
  113. package/amd/planning/metadata.d.ts +0 -8
  114. package/amd/planning/metadata.js +0 -45
  115. package/amd/planning/metadata_reader.d.ts +0 -6
  116. package/amd/planning/metadata_reader.js +0 -49
  117. package/amd/planning/plan.d.ts +0 -7
  118. package/amd/planning/plan.js +0 -13
  119. package/amd/planning/planner.d.ts +0 -5
  120. package/amd/planning/planner.js +0 -187
  121. package/amd/planning/queryable_string.d.ts +0 -10
  122. package/amd/planning/queryable_string.js +0 -33
  123. package/amd/planning/reflection_utils.d.ts +0 -5
  124. package/amd/planning/reflection_utils.js +0 -55
  125. package/amd/planning/request.d.ts +0 -14
  126. package/amd/planning/request.js +0 -24
  127. package/amd/planning/target.js +0 -111
  128. package/amd/resolution/instantiation.d.ts +0 -3
  129. package/amd/resolution/instantiation.js +0 -219
  130. package/amd/resolution/resolver.d.ts +0 -3
  131. package/amd/resolution/resolver.js +0 -234
  132. package/amd/scope/scope.d.ts +0 -3
  133. package/amd/scope/scope.js +0 -93
  134. package/amd/syntax/binding_in_syntax.d.ts +0 -9
  135. package/amd/syntax/binding_in_syntax.js +0 -24
  136. package/amd/syntax/binding_in_when_on_syntax.d.ts +0 -29
  137. package/amd/syntax/binding_in_when_on_syntax.js +0 -75
  138. package/amd/syntax/binding_on_syntax.d.ts +0 -8
  139. package/amd/syntax/binding_on_syntax.js +0 -20
  140. package/amd/syntax/binding_to_syntax.d.ts +0 -18
  141. package/amd/syntax/binding_to_syntax.js +0 -116
  142. package/amd/syntax/binding_when_on_syntax.d.ts +0 -25
  143. package/amd/syntax/binding_when_on_syntax.js +0 -65
  144. package/amd/syntax/binding_when_syntax.d.ts +0 -21
  145. package/amd/syntax/binding_when_syntax.js +0 -107
  146. package/amd/syntax/constraint_helpers.d.ts +0 -6
  147. package/amd/syntax/constraint_helpers.js +0 -66
  148. package/amd/utils/async.d.ts +0 -3
  149. package/amd/utils/async.js +0 -17
  150. package/amd/utils/binding_utils.d.ts +0 -4
  151. package/amd/utils/binding_utils.js +0 -86
  152. package/amd/utils/clonable.d.ts +0 -3
  153. package/amd/utils/clonable.js +0 -11
  154. package/amd/utils/exceptions.d.ts +0 -2
  155. package/amd/utils/exceptions.js +0 -46
  156. package/amd/utils/factory_type.d.ts +0 -5
  157. package/amd/utils/factory_type.js +0 -11
  158. package/amd/utils/id.d.ts +0 -2
  159. package/amd/utils/id.js +0 -9
  160. package/amd/utils/js.d.ts +0 -1
  161. package/amd/utils/js.js +0 -18
  162. package/amd/utils/serialization.d.ts +0 -10
  163. package/amd/utils/serialization.js +0 -135
  164. package/es6/annotation/decorator_utils.d.ts +0 -16
  165. package/es6/annotation/decorator_utils.js +0 -114
  166. package/es6/annotation/inject.d.ts +0 -5
  167. package/es6/annotation/inject.js +0 -30
  168. package/es6/annotation/inject_base.d.ts +0 -4
  169. package/es6/annotation/inject_base.js +0 -17
  170. package/es6/annotation/injectable.d.ts +0 -2
  171. package/es6/annotation/injectable.js +0 -38
  172. package/es6/annotation/lazy_service_identifier.js +0 -2
  173. package/es6/annotation/multi_inject.d.ts +0 -5
  174. package/es6/annotation/multi_inject.js +0 -30
  175. package/es6/annotation/named.d.ts +0 -2
  176. package/es6/annotation/named.js +0 -32
  177. package/es6/annotation/optional.d.ts +0 -2
  178. package/es6/annotation/optional.js +0 -32
  179. package/es6/annotation/post_construct.d.ts +0 -4
  180. package/es6/annotation/post_construct.js +0 -31
  181. package/es6/annotation/pre_destroy.d.ts +0 -4
  182. package/es6/annotation/pre_destroy.js +0 -31
  183. package/es6/annotation/property_event_decorator.d.ts +0 -4
  184. package/es6/annotation/property_event_decorator.js +0 -15
  185. package/es6/annotation/tagged.d.ts +0 -2
  186. package/es6/annotation/tagged.js +0 -8
  187. package/es6/annotation/target_name.d.ts +0 -3
  188. package/es6/annotation/target_name.js +0 -35
  189. package/es6/annotation/unmanaged.d.ts +0 -3
  190. package/es6/annotation/unmanaged.js +0 -35
  191. package/es6/bindings/binding.d.ts +0 -20
  192. package/es6/bindings/binding.js +0 -39
  193. package/es6/bindings/binding_count.d.ts +0 -5
  194. package/es6/bindings/binding_count.js +0 -9
  195. package/es6/constants/error_msgs.d.ts +0 -30
  196. package/es6/constants/error_msgs.js +0 -59
  197. package/es6/constants/literal_types.d.ts +0 -5
  198. package/es6/constants/literal_types.js +0 -26
  199. package/es6/constants/metadata_keys.d.ts +0 -13
  200. package/es6/constants/metadata_keys.js +0 -26
  201. package/es6/container/container.d.ts +0 -73
  202. package/es6/container/container.js +0 -545
  203. package/es6/container/container_module.d.ts +0 -11
  204. package/es6/container/container_module.js +0 -18
  205. package/es6/container/container_snapshot.d.ts +0 -10
  206. package/es6/container/container_snapshot.js +0 -15
  207. package/es6/container/lookup.d.ts +0 -17
  208. package/es6/container/lookup.js +0 -125
  209. package/es6/container/module_activation_store.d.ts +0 -10
  210. package/es6/container/module_activation_store.js +0 -49
  211. package/es6/interfaces/interfaces.d.ts +0 -269
  212. package/es6/interfaces/interfaces.js +0 -2
  213. package/es6/inversify.d.ts +0 -24
  214. package/es6/inversify.js +0 -76
  215. package/es6/planning/context.d.ts +0 -11
  216. package/es6/planning/context.js +0 -17
  217. package/es6/planning/metadata.d.ts +0 -8
  218. package/es6/planning/metadata.js +0 -42
  219. package/es6/planning/metadata_reader.d.ts +0 -6
  220. package/es6/planning/metadata_reader.js +0 -44
  221. package/es6/planning/plan.d.ts +0 -7
  222. package/es6/planning/plan.js +0 -10
  223. package/es6/planning/planner.d.ts +0 -5
  224. package/es6/planning/planner.js +0 -194
  225. package/es6/planning/queryable_string.d.ts +0 -10
  226. package/es6/planning/queryable_string.js +0 -30
  227. package/es6/planning/reflection_utils.d.ts +0 -5
  228. package/es6/planning/reflection_utils.js +0 -53
  229. package/es6/planning/request.d.ts +0 -14
  230. package/es6/planning/request.js +0 -22
  231. package/es6/planning/target.js +0 -105
  232. package/es6/resolution/instantiation.d.ts +0 -3
  233. package/es6/resolution/instantiation.js +0 -158
  234. package/es6/resolution/resolver.d.ts +0 -3
  235. package/es6/resolution/resolver.js +0 -193
  236. package/es6/scope/scope.d.ts +0 -3
  237. package/es6/scope/scope.js +0 -57
  238. package/es6/syntax/binding_in_syntax.d.ts +0 -9
  239. package/es6/syntax/binding_in_syntax.js +0 -23
  240. package/es6/syntax/binding_in_when_on_syntax.d.ts +0 -29
  241. package/es6/syntax/binding_in_when_on_syntax.js +0 -75
  242. package/es6/syntax/binding_on_syntax.d.ts +0 -8
  243. package/es6/syntax/binding_on_syntax.js +0 -18
  244. package/es6/syntax/binding_to_syntax.d.ts +0 -18
  245. package/es6/syntax/binding_to_syntax.js +0 -110
  246. package/es6/syntax/binding_when_on_syntax.d.ts +0 -25
  247. package/es6/syntax/binding_when_on_syntax.js +0 -64
  248. package/es6/syntax/binding_when_syntax.d.ts +0 -21
  249. package/es6/syntax/binding_when_syntax.js +0 -84
  250. package/es6/syntax/constraint_helpers.d.ts +0 -6
  251. package/es6/syntax/constraint_helpers.js +0 -63
  252. package/es6/utils/async.d.ts +0 -3
  253. package/es6/utils/async.js +0 -15
  254. package/es6/utils/binding_utils.d.ts +0 -4
  255. package/es6/utils/binding_utils.js +0 -79
  256. package/es6/utils/clonable.d.ts +0 -3
  257. package/es6/utils/clonable.js +0 -9
  258. package/es6/utils/exceptions.d.ts +0 -2
  259. package/es6/utils/exceptions.js +0 -44
  260. package/es6/utils/factory_type.d.ts +0 -5
  261. package/es6/utils/factory_type.js +0 -9
  262. package/es6/utils/id.d.ts +0 -2
  263. package/es6/utils/id.js +0 -7
  264. package/es6/utils/js.d.ts +0 -1
  265. package/es6/utils/js.js +0 -15
  266. package/es6/utils/serialization.d.ts +0 -10
  267. package/es6/utils/serialization.js +0 -132
@@ -1,19 +0,0 @@
1
- define(["require", "exports", "../utils/id"], function (require, exports, id_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Context = void 0;
5
- var Context = (function () {
6
- function Context(container) {
7
- this.id = (0, id_1.id)();
8
- this.container = container;
9
- }
10
- Context.prototype.addPlan = function (plan) {
11
- this.plan = plan;
12
- };
13
- Context.prototype.setCurrentRequest = function (currentRequest) {
14
- this.currentRequest = currentRequest;
15
- };
16
- return Context;
17
- }());
18
- exports.Context = Context;
19
- });
@@ -1,8 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class Metadata implements interfaces.Metadata {
3
- key: string | number | symbol;
4
- value: unknown;
5
- constructor(key: string | number | symbol, value: unknown);
6
- toString(): string;
7
- }
8
- export { Metadata };
@@ -1,45 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- define(["require", "exports", "../constants/metadata_keys"], function (require, exports, METADATA_KEY) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Metadata = void 0;
28
- METADATA_KEY = __importStar(METADATA_KEY);
29
- var Metadata = (function () {
30
- function Metadata(key, value) {
31
- this.key = key;
32
- this.value = value;
33
- }
34
- Metadata.prototype.toString = function () {
35
- if (this.key === METADATA_KEY.NAMED_TAG) {
36
- return "named: ".concat(String(this.value).toString(), " ");
37
- }
38
- else {
39
- return "tagged: { key:".concat(this.key.toString(), ", value: ").concat(String(this.value), " }");
40
- }
41
- };
42
- return Metadata;
43
- }());
44
- exports.Metadata = Metadata;
45
- });
@@ -1,6 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class MetadataReader implements interfaces.MetadataReader {
3
- getConstructorMetadata(constructorFunc: NewableFunction): interfaces.ConstructorMetadata;
4
- getPropertiesMetadata(constructorFunc: NewableFunction): interfaces.MetadataMap;
5
- }
6
- export { MetadataReader };
@@ -1,49 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- define(["require", "exports", "../constants/metadata_keys"], function (require, exports, METADATA_KEY) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.MetadataReader = void 0;
28
- METADATA_KEY = __importStar(METADATA_KEY);
29
- var MetadataReader = (function () {
30
- function MetadataReader() {
31
- }
32
- MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {
33
- var _a;
34
- var compilerGeneratedMetadata = (_a = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, constructorFunc)) !== null && _a !== void 0 ? _a : [];
35
- var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);
36
- return {
37
- compilerGeneratedMetadata: compilerGeneratedMetadata,
38
- userGeneratedMetadata: userGeneratedMetadata !== null && userGeneratedMetadata !== void 0 ? userGeneratedMetadata : {},
39
- };
40
- };
41
- MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {
42
- var _a;
43
- var userGeneratedMetadata = (_a = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc)) !== null && _a !== void 0 ? _a : {};
44
- return userGeneratedMetadata;
45
- };
46
- return MetadataReader;
47
- }());
48
- exports.MetadataReader = MetadataReader;
49
- });
@@ -1,7 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class Plan implements interfaces.Plan {
3
- parentContext: interfaces.Context;
4
- rootRequest: interfaces.Request;
5
- constructor(parentContext: interfaces.Context, rootRequest: interfaces.Request);
6
- }
7
- export { Plan };
@@ -1,13 +0,0 @@
1
- define(["require", "exports"], function (require, exports) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Plan = void 0;
5
- var Plan = (function () {
6
- function Plan(parentContext, rootRequest) {
7
- this.parentContext = parentContext;
8
- this.rootRequest = rootRequest;
9
- }
10
- return Plan;
11
- }());
12
- exports.Plan = Plan;
13
- });
@@ -1,5 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare function getBindingDictionary(cntnr: interfaces.Container): interfaces.Lookup<interfaces.Binding<unknown>>;
3
- declare function plan(metadataReader: interfaces.MetadataReader, container: interfaces.Container, isMultiInject: boolean, targetType: interfaces.TargetType, serviceIdentifier: interfaces.ServiceIdentifier, key?: string | number | symbol, value?: unknown, avoidConstraints?: boolean): interfaces.Context;
4
- declare function createMockRequest(container: interfaces.Container, serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): interfaces.Request;
5
- export { plan, createMockRequest, getBindingDictionary };
@@ -1,187 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- define(["require", "exports", "@inversifyjs/core", "../bindings/binding_count", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/exceptions", "../utils/serialization", "./context", "./metadata", "./plan", "./reflection_utils", "./request"], function (require, exports, core_1, binding_count_1, ERROR_MSGS, literal_types_1, METADATA_KEY, exceptions_1, serialization_1, context_1, metadata_1, plan_1, reflection_utils_1, request_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.plan = plan;
28
- exports.createMockRequest = createMockRequest;
29
- exports.getBindingDictionary = getBindingDictionary;
30
- ERROR_MSGS = __importStar(ERROR_MSGS);
31
- METADATA_KEY = __importStar(METADATA_KEY);
32
- function getBindingDictionary(cntnr) {
33
- return cntnr._bindingDictionary;
34
- }
35
- function _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {
36
- var metadataList = _getTargetMetadata(isMultiInject, serviceIdentifier, key, value);
37
- var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
38
- if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
39
- throw new Error('Unexpected metadata when creating target');
40
- }
41
- var target = new core_1.LegacyTargetImpl(name, classElementMetadata, targetType);
42
- return target;
43
- }
44
- function _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {
45
- var bindings = getBindings(context.container, target.serviceIdentifier);
46
- var activeBindings = [];
47
- if (bindings.length === binding_count_1.BindingCount.NoBindingsAvailable &&
48
- context.container.options.autoBindInjectable === true &&
49
- typeof target.serviceIdentifier === 'function' &&
50
- metadataReader.getConstructorMetadata(target.serviceIdentifier)
51
- .compilerGeneratedMetadata) {
52
- context.container.bind(target.serviceIdentifier).toSelf();
53
- bindings = getBindings(context.container, target.serviceIdentifier);
54
- }
55
- if (!avoidConstraints) {
56
- activeBindings = bindings.filter(function (binding) {
57
- var request = new request_1.Request(binding.serviceIdentifier, context, parentRequest, binding, target);
58
- return binding.constraint(request);
59
- });
60
- }
61
- else {
62
- activeBindings = bindings;
63
- }
64
- _validateActiveBindingCount(target.serviceIdentifier, activeBindings, parentRequest, target, context.container);
65
- return activeBindings;
66
- }
67
- function _getTargetMetadata(isMultiInject, serviceIdentifier, key, value) {
68
- var metadataKey = isMultiInject
69
- ? METADATA_KEY.MULTI_INJECT_TAG
70
- : METADATA_KEY.INJECT_TAG;
71
- var metadataList = [
72
- new metadata_1.Metadata(metadataKey, serviceIdentifier),
73
- ];
74
- if (key !== undefined) {
75
- metadataList.push(new metadata_1.Metadata(key, value));
76
- }
77
- return metadataList;
78
- }
79
- function _validateActiveBindingCount(serviceIdentifier, bindings, parentRequest, target, container) {
80
- switch (bindings.length) {
81
- case binding_count_1.BindingCount.NoBindingsAvailable:
82
- if (target.isOptional()) {
83
- return bindings;
84
- }
85
- else {
86
- var serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
87
- var msg = ERROR_MSGS.NOT_REGISTERED;
88
- msg += (0, serialization_1.listMetadataForTarget)(serviceIdentifierString, target);
89
- msg += (0, serialization_1.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings);
90
- if (parentRequest !== null) {
91
- msg += "\n".concat(ERROR_MSGS.TRYING_TO_RESOLVE_BINDINGS((0, serialization_1.getServiceIdentifierAsString)(parentRequest.serviceIdentifier)));
92
- }
93
- throw new Error(msg);
94
- }
95
- case binding_count_1.BindingCount.OnlyOneBindingAvailable:
96
- return bindings;
97
- case binding_count_1.BindingCount.MultipleBindingsAvailable:
98
- default:
99
- if (!target.isArray()) {
100
- var serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
101
- var msg = "".concat(ERROR_MSGS.AMBIGUOUS_MATCH, " ").concat(serviceIdentifierString);
102
- msg += (0, serialization_1.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings);
103
- throw new Error(msg);
104
- }
105
- else {
106
- return bindings;
107
- }
108
- }
109
- }
110
- function _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) {
111
- var activeBindings;
112
- var childRequest;
113
- if (parentRequest === null) {
114
- activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);
115
- childRequest = new request_1.Request(serviceIdentifier, context, null, activeBindings, target);
116
- var thePlan = new plan_1.Plan(context, childRequest);
117
- context.addPlan(thePlan);
118
- }
119
- else {
120
- activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);
121
- childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);
122
- }
123
- activeBindings.forEach(function (binding) {
124
- var subChildRequest = null;
125
- if (target.isArray()) {
126
- subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);
127
- }
128
- else {
129
- if (binding.cache !== null) {
130
- return;
131
- }
132
- subChildRequest = childRequest;
133
- }
134
- if (binding.type === literal_types_1.BindingTypeEnum.Instance &&
135
- binding.implementationType !== null) {
136
- var dependencies = (0, reflection_utils_1.getDependencies)(metadataReader, binding.implementationType);
137
- if (context.container.options.skipBaseClassChecks !== true) {
138
- var baseClassDependencyCount = (0, reflection_utils_1.getBaseClassDependencyCount)(metadataReader, binding.implementationType);
139
- if (dependencies.length < baseClassDependencyCount) {
140
- var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH((0, reflection_utils_1.getFunctionName)(binding.implementationType));
141
- throw new Error(error);
142
- }
143
- }
144
- dependencies.forEach(function (dependency) {
145
- _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);
146
- });
147
- }
148
- });
149
- }
150
- function getBindings(container, serviceIdentifier) {
151
- var bindings = [];
152
- var bindingDictionary = getBindingDictionary(container);
153
- if (bindingDictionary.hasKey(serviceIdentifier)) {
154
- bindings = bindingDictionary.get(serviceIdentifier);
155
- }
156
- else if (container.parent !== null) {
157
- bindings = getBindings(container.parent, serviceIdentifier);
158
- }
159
- return bindings;
160
- }
161
- function plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) {
162
- if (avoidConstraints === void 0) { avoidConstraints = false; }
163
- var context = new context_1.Context(container);
164
- var target = _createTarget(isMultiInject, targetType, serviceIdentifier, '', key, value);
165
- try {
166
- _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);
167
- return context;
168
- }
169
- catch (error) {
170
- if ((0, exceptions_1.isStackOverflowException)(error)) {
171
- (0, serialization_1.circularDependencyToException)(context.plan.rootRequest);
172
- }
173
- throw error;
174
- }
175
- }
176
- function createMockRequest(container, serviceIdentifier, key, value) {
177
- var metadataList = _getTargetMetadata(false, serviceIdentifier, key, value);
178
- var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
179
- if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
180
- throw new Error('Unexpected metadata when creating target');
181
- }
182
- var target = new core_1.LegacyTargetImpl('', classElementMetadata, 'Variable');
183
- var context = new context_1.Context(container);
184
- var request = new request_1.Request(serviceIdentifier, context, null, [], target);
185
- return request;
186
- }
187
- });
@@ -1,10 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- export declare class QueryableString implements interfaces.QueryableString {
3
- private readonly str;
4
- constructor(str: string);
5
- startsWith(searchString: string): boolean;
6
- endsWith(searchString: string): boolean;
7
- contains(searchString: string): boolean;
8
- equals(compareString: string): boolean;
9
- value(): string;
10
- }
@@ -1,33 +0,0 @@
1
- define(["require", "exports"], function (require, exports) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.QueryableString = void 0;
5
- var QueryableString = (function () {
6
- function QueryableString(str) {
7
- this.str = str;
8
- }
9
- QueryableString.prototype.startsWith = function (searchString) {
10
- return this.str.indexOf(searchString) === 0;
11
- };
12
- QueryableString.prototype.endsWith = function (searchString) {
13
- var reverseString = '';
14
- var reverseSearchString = searchString
15
- .split('')
16
- .reverse()
17
- .join('');
18
- reverseString = this.str.split('').reverse().join('');
19
- return this.startsWith.call({ str: reverseString }, reverseSearchString);
20
- };
21
- QueryableString.prototype.contains = function (searchString) {
22
- return this.str.indexOf(searchString) !== -1;
23
- };
24
- QueryableString.prototype.equals = function (compareString) {
25
- return this.str === compareString;
26
- };
27
- QueryableString.prototype.value = function () {
28
- return this.str;
29
- };
30
- return QueryableString;
31
- }());
32
- exports.QueryableString = QueryableString;
33
- });
@@ -1,5 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- import { getFunctionName } from '../utils/serialization';
3
- declare function getDependencies(metadataReader: interfaces.MetadataReader, func: NewableFunction): interfaces.Target[];
4
- declare function getBaseClassDependencyCount(metadataReader: interfaces.MetadataReader, func: NewableFunction): number;
5
- export { getDependencies, getBaseClassDependencyCount, getFunctionName };
@@ -1,55 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- define(["require", "exports", "@inversifyjs/core", "../constants/metadata_keys", "../utils/serialization"], function (require, exports, core_1, METADATA_KEY, serialization_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.getFunctionName = void 0;
28
- exports.getDependencies = getDependencies;
29
- exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
30
- METADATA_KEY = __importStar(METADATA_KEY);
31
- Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
32
- function getDependencies(metadataReader, func) {
33
- return (0, core_1.getTargets)(metadataReader)(func);
34
- }
35
- function getBaseClassDependencyCount(metadataReader, func) {
36
- var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
37
- if (baseConstructor !== Object) {
38
- var targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
39
- var metadata = targets.map(function (t) {
40
- return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; });
41
- });
42
- var unmanagedCount = [].concat.apply([], metadata).length;
43
- var dependencyCount = targets.length - unmanagedCount;
44
- if (dependencyCount > 0) {
45
- return dependencyCount;
46
- }
47
- else {
48
- return getBaseClassDependencyCount(metadataReader, baseConstructor);
49
- }
50
- }
51
- else {
52
- return 0;
53
- }
54
- }
55
- });
@@ -1,14 +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 };
@@ -1,24 +0,0 @@
1
- define(["require", "exports", "../utils/id"], function (require, exports, id_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Request = void 0;
5
- var Request = (function () {
6
- function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
7
- this.id = (0, id_1.id)();
8
- this.serviceIdentifier = serviceIdentifier;
9
- this.parentContext = parentContext;
10
- this.parentRequest = parentRequest;
11
- this.target = target;
12
- this.childRequests = [];
13
- this.bindings = Array.isArray(bindings) ? bindings : [bindings];
14
- this.requestScope = parentRequest === null ? new Map() : null;
15
- }
16
- Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
17
- var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
18
- this.childRequests.push(child);
19
- return child;
20
- };
21
- return Request;
22
- }());
23
- exports.Request = Request;
24
- });
@@ -1,111 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- define(["require", "exports", "../constants/metadata_keys", "../utils/id", "../utils/serialization", "./metadata", "./queryable_string"], function (require, exports, METADATA_KEY, id_1, serialization_1, metadata_1, queryable_string_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Target = void 0;
28
- METADATA_KEY = __importStar(METADATA_KEY);
29
- var Target = (function () {
30
- function Target(type, identifier, serviceIdentifier, namedOrTagged) {
31
- this.id = (0, id_1.id)();
32
- this.type = type;
33
- this.serviceIdentifier = serviceIdentifier;
34
- var queryableName = typeof identifier === 'symbol'
35
- ? (0, serialization_1.getSymbolDescription)(identifier)
36
- : identifier;
37
- this.name = new queryable_string_1.QueryableString(queryableName || '');
38
- this.identifier = identifier;
39
- this.metadata = new Array();
40
- var metadataItem = null;
41
- if (typeof namedOrTagged === 'string') {
42
- metadataItem = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);
43
- }
44
- else if (namedOrTagged instanceof metadata_1.Metadata) {
45
- metadataItem = namedOrTagged;
46
- }
47
- if (metadataItem !== null) {
48
- this.metadata.push(metadataItem);
49
- }
50
- }
51
- Target.prototype.hasTag = function (key) {
52
- for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {
53
- var m = _a[_i];
54
- if (m.key === key) {
55
- return true;
56
- }
57
- }
58
- return false;
59
- };
60
- Target.prototype.isArray = function () {
61
- return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);
62
- };
63
- Target.prototype.matchesArray = function (name) {
64
- return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);
65
- };
66
- Target.prototype.isNamed = function () {
67
- return this.hasTag(METADATA_KEY.NAMED_TAG);
68
- };
69
- Target.prototype.isTagged = function () {
70
- return this.metadata.some(function (metadata) {
71
- return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; });
72
- });
73
- };
74
- Target.prototype.isOptional = function () {
75
- return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);
76
- };
77
- Target.prototype.getNamedTag = function () {
78
- if (this.isNamed()) {
79
- return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];
80
- }
81
- return null;
82
- };
83
- Target.prototype.getCustomTags = function () {
84
- if (this.isTagged()) {
85
- return this.metadata.filter(function (metadata) {
86
- return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; });
87
- });
88
- }
89
- else {
90
- return null;
91
- }
92
- };
93
- Target.prototype.matchesNamedTag = function (name) {
94
- return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);
95
- };
96
- Target.prototype.matchesTag = function (key) {
97
- var _this = this;
98
- return function (value) {
99
- for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {
100
- var m = _a[_i];
101
- if (m.key === key && m.value === value) {
102
- return true;
103
- }
104
- }
105
- return false;
106
- };
107
- };
108
- return Target;
109
- }());
110
- exports.Target = Target;
111
- });
@@ -1,3 +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 };