inversify 6.2.1 → 7.0.0-alpha.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 (219) hide show
  1. package/CHANGELOG.md +66 -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,622 +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.Container = void 0;
37
- const binding_1 = require("../bindings/binding");
38
- const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
39
- const literal_types_1 = require("../constants/literal_types");
40
- const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
41
- const metadata_reader_1 = require("../planning/metadata_reader");
42
- const planner_1 = require("../planning/planner");
43
- const resolver_1 = require("../resolution/resolver");
44
- const binding_to_syntax_1 = require("../syntax/binding_to_syntax");
45
- const async_1 = require("../utils/async");
46
- const id_1 = require("../utils/id");
47
- const serialization_1 = require("../utils/serialization");
48
- const container_snapshot_1 = require("./container_snapshot");
49
- const lookup_1 = require("./lookup");
50
- const module_activation_store_1 = require("./module_activation_store");
51
- class Container {
52
- id;
53
- parent;
54
- options;
55
- _middleware;
56
- _bindingDictionary;
57
- _activations;
58
- _deactivations;
59
- _snapshots;
60
- _metadataReader;
61
- _moduleActivationStore;
62
- constructor(containerOptions) {
63
- const options = containerOptions || {};
64
- if (typeof options !== 'object') {
65
- throw new Error(ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);
66
- }
67
- if (options.defaultScope === undefined) {
68
- options.defaultScope = literal_types_1.BindingScopeEnum.Transient;
69
- }
70
- else if (options.defaultScope !== literal_types_1.BindingScopeEnum.Singleton &&
71
- options.defaultScope !== literal_types_1.BindingScopeEnum.Transient &&
72
- options.defaultScope !== literal_types_1.BindingScopeEnum.Request) {
73
- throw new Error(ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);
74
- }
75
- if (options.autoBindInjectable === undefined) {
76
- options.autoBindInjectable = false;
77
- }
78
- else if (typeof options.autoBindInjectable !== 'boolean') {
79
- throw new Error(ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);
80
- }
81
- if (options.skipBaseClassChecks === undefined) {
82
- options.skipBaseClassChecks = false;
83
- }
84
- else if (typeof options.skipBaseClassChecks !== 'boolean') {
85
- throw new Error(ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK);
86
- }
87
- this.options = {
88
- autoBindInjectable: options.autoBindInjectable,
89
- defaultScope: options.defaultScope,
90
- skipBaseClassChecks: options.skipBaseClassChecks,
91
- };
92
- this.id = (0, id_1.id)();
93
- this._bindingDictionary = new lookup_1.Lookup();
94
- this._snapshots = [];
95
- this._middleware = null;
96
- this._activations = new lookup_1.Lookup();
97
- this._deactivations = new lookup_1.Lookup();
98
- this.parent = null;
99
- this._metadataReader = new metadata_reader_1.MetadataReader();
100
- this._moduleActivationStore = new module_activation_store_1.ModuleActivationStore();
101
- }
102
- static merge(container1, container2, ...containers) {
103
- const container = new Container();
104
- const targetContainers = [
105
- container1,
106
- container2,
107
- ...containers,
108
- ].map((targetContainer) => (0, planner_1.getBindingDictionary)(targetContainer));
109
- const bindingDictionary = (0, planner_1.getBindingDictionary)(container);
110
- function copyDictionary(origin, destination) {
111
- origin.traverse((_key, value) => {
112
- value.forEach((binding) => {
113
- destination.add(binding.serviceIdentifier, binding.clone());
114
- });
115
- });
116
- }
117
- targetContainers.forEach((targetBindingDictionary) => {
118
- copyDictionary(targetBindingDictionary, bindingDictionary);
119
- });
120
- return container;
121
- }
122
- load(...modules) {
123
- // eslint-disable-next-line @typescript-eslint/typedef
124
- const getHelpers = this._getContainerModuleHelpersFactory();
125
- for (const currentModule of modules) {
126
- // eslint-disable-next-line @typescript-eslint/typedef
127
- const containerModuleHelpers = getHelpers(currentModule.id);
128
- currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);
129
- }
130
- }
131
- async loadAsync(...modules) {
132
- // eslint-disable-next-line @typescript-eslint/typedef
133
- const getHelpers = this._getContainerModuleHelpersFactory();
134
- for (const currentModule of modules) {
135
- // eslint-disable-next-line @typescript-eslint/typedef
136
- const containerModuleHelpers = getHelpers(currentModule.id);
137
- await currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);
138
- }
139
- }
140
- unload(...modules) {
141
- modules.forEach((module) => {
142
- const deactivations = this._removeModuleBindings(module.id);
143
- this._deactivateSingletons(deactivations);
144
- this._removeModuleHandlers(module.id);
145
- });
146
- }
147
- async unloadAsync(...modules) {
148
- for (const module of modules) {
149
- const deactivations = this._removeModuleBindings(module.id);
150
- await this._deactivateSingletonsAsync(deactivations);
151
- this._removeModuleHandlers(module.id);
152
- }
153
- }
154
- // Registers a type binding
155
- bind(serviceIdentifier) {
156
- return this._bind(this._buildBinding(serviceIdentifier));
157
- }
158
- rebind(serviceIdentifier) {
159
- this.unbind(serviceIdentifier);
160
- return this.bind(serviceIdentifier);
161
- }
162
- async rebindAsync(serviceIdentifier) {
163
- await this.unbindAsync(serviceIdentifier);
164
- return this.bind(serviceIdentifier);
165
- }
166
- // Removes a type binding from the registry by its key
167
- unbind(serviceIdentifier) {
168
- if (this._bindingDictionary.hasKey(serviceIdentifier)) {
169
- const bindings = this._bindingDictionary.get(serviceIdentifier);
170
- this._deactivateSingletons(bindings);
171
- }
172
- this._removeServiceFromDictionary(serviceIdentifier);
173
- }
174
- async unbindAsync(serviceIdentifier) {
175
- if (this._bindingDictionary.hasKey(serviceIdentifier)) {
176
- const bindings = this._bindingDictionary.get(serviceIdentifier);
177
- await this._deactivateSingletonsAsync(bindings);
178
- }
179
- this._removeServiceFromDictionary(serviceIdentifier);
180
- }
181
- // Removes all the type bindings from the registry
182
- unbindAll() {
183
- this._bindingDictionary.traverse((_key, value) => {
184
- this._deactivateSingletons(value);
185
- });
186
- this._bindingDictionary = new lookup_1.Lookup();
187
- }
188
- async unbindAllAsync() {
189
- const promises = [];
190
- this._bindingDictionary.traverse((_key, value) => {
191
- promises.push(this._deactivateSingletonsAsync(value));
192
- });
193
- await Promise.all(promises);
194
- this._bindingDictionary = new lookup_1.Lookup();
195
- }
196
- onActivation(serviceIdentifier, onActivation) {
197
- this._activations.add(serviceIdentifier, onActivation);
198
- }
199
- onDeactivation(serviceIdentifier, onDeactivation) {
200
- this._deactivations.add(serviceIdentifier, onDeactivation);
201
- }
202
- // Allows to check if there are bindings available for serviceIdentifier
203
- isBound(serviceIdentifier) {
204
- let bound = this._bindingDictionary.hasKey(serviceIdentifier);
205
- if (!bound && this.parent) {
206
- bound = this.parent.isBound(serviceIdentifier);
207
- }
208
- return bound;
209
- }
210
- // check binding dependency only in current container
211
- isCurrentBound(serviceIdentifier) {
212
- return this._bindingDictionary.hasKey(serviceIdentifier);
213
- }
214
- isBoundNamed(serviceIdentifier, named) {
215
- return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
216
- }
217
- // Check if a binding with a complex constraint is available without throwing a error. Ancestors are also verified.
218
- isBoundTagged(serviceIdentifier, key, value) {
219
- let bound = false;
220
- // verify if there are bindings available for serviceIdentifier on current binding dictionary
221
- if (this._bindingDictionary.hasKey(serviceIdentifier)) {
222
- const bindings = this._bindingDictionary.get(serviceIdentifier);
223
- const request = (0, planner_1.createMockRequest)(this, serviceIdentifier, {
224
- customTag: {
225
- key,
226
- value,
227
- },
228
- isMultiInject: false,
229
- });
230
- bound = bindings.some((b) => b.constraint(request));
231
- }
232
- // verify if there is a parent container that could solve the request
233
- if (!bound && this.parent) {
234
- bound = this.parent.isBoundTagged(serviceIdentifier, key, value);
235
- }
236
- return bound;
237
- }
238
- snapshot() {
239
- this._snapshots.push(container_snapshot_1.ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware, this._activations.clone(), this._deactivations.clone(), this._moduleActivationStore.clone()));
240
- }
241
- restore() {
242
- const snapshot = this._snapshots.pop();
243
- if (snapshot === undefined) {
244
- throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);
245
- }
246
- this._bindingDictionary = snapshot.bindings;
247
- this._activations = snapshot.activations;
248
- this._deactivations = snapshot.deactivations;
249
- this._middleware = snapshot.middleware;
250
- this._moduleActivationStore = snapshot.moduleActivationStore;
251
- }
252
- createChild(containerOptions) {
253
- const child = new Container(containerOptions || this.options);
254
- child.parent = this;
255
- return child;
256
- }
257
- applyMiddleware(...middlewares) {
258
- const initial = this._middleware
259
- ? this._middleware
260
- : this._planAndResolve();
261
- this._middleware = middlewares.reduce((prev, curr) => curr(prev), initial);
262
- }
263
- applyCustomMetadataReader(metadataReader) {
264
- this._metadataReader = metadataReader;
265
- }
266
- // Resolves a dependency by its runtime identifier
267
- // The runtime identifier must be associated with only one binding
268
- // use getAll when the runtime identifier is associated with multiple bindings
269
- get(serviceIdentifier) {
270
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, false);
271
- return this._getButThrowIfAsync(getArgs);
272
- }
273
- async getAsync(serviceIdentifier) {
274
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, false);
275
- return this._get(getArgs);
276
- }
277
- getTagged(serviceIdentifier, key, value) {
278
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, false, key, value);
279
- return this._getButThrowIfAsync(getArgs);
280
- }
281
- async getTaggedAsync(serviceIdentifier, key, value) {
282
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, false, key, value);
283
- return this._get(getArgs);
284
- }
285
- getNamed(serviceIdentifier, named) {
286
- return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
287
- }
288
- async getNamedAsync(serviceIdentifier, named) {
289
- return this.getTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
290
- }
291
- // Resolves a dependency by its runtime identifier
292
- // The runtime identifier can be associated with one or multiple bindings
293
- getAll(serviceIdentifier, options) {
294
- const getArgs = this._getAllArgs(serviceIdentifier, options, false);
295
- return this._getButThrowIfAsync(getArgs);
296
- }
297
- async getAllAsync(serviceIdentifier, options) {
298
- const getArgs = this._getAllArgs(serviceIdentifier, options, false);
299
- return this._getAll(getArgs);
300
- }
301
- getAllTagged(serviceIdentifier, key, value) {
302
- const getArgs = this._getNotAllArgs(serviceIdentifier, true, false, key, value);
303
- return this._getButThrowIfAsync(getArgs);
304
- }
305
- async getAllTaggedAsync(serviceIdentifier, key, value) {
306
- const getArgs = this._getNotAllArgs(serviceIdentifier, true, false, key, value);
307
- return this._getAll(getArgs);
308
- }
309
- getAllNamed(serviceIdentifier, named) {
310
- return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
311
- }
312
- async getAllNamedAsync(serviceIdentifier, named) {
313
- return this.getAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
314
- }
315
- resolve(constructorFunction) {
316
- const isBound = this.isBound(constructorFunction);
317
- if (!isBound) {
318
- this.bind(constructorFunction).toSelf();
319
- }
320
- const resolved = this.get(constructorFunction);
321
- if (!isBound) {
322
- this.unbind(constructorFunction);
323
- }
324
- return resolved;
325
- }
326
- tryGet(serviceIdentifier) {
327
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, true);
328
- return this._getButThrowIfAsync(getArgs);
329
- }
330
- async tryGetAsync(serviceIdentifier) {
331
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, true);
332
- return this._get(getArgs);
333
- }
334
- tryGetTagged(serviceIdentifier, key, value) {
335
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, true, key, value);
336
- return this._getButThrowIfAsync(getArgs);
337
- }
338
- async tryGetTaggedAsync(serviceIdentifier, key, value) {
339
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, true, key, value);
340
- return this._get(getArgs);
341
- }
342
- tryGetNamed(serviceIdentifier, named) {
343
- return this.tryGetTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
344
- }
345
- async tryGetNamedAsync(serviceIdentifier, named) {
346
- return this.tryGetTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
347
- }
348
- tryGetAll(serviceIdentifier, options) {
349
- const getArgs = this._getAllArgs(serviceIdentifier, options, true);
350
- return this._getButThrowIfAsync(getArgs);
351
- }
352
- async tryGetAllAsync(serviceIdentifier, options) {
353
- const getArgs = this._getAllArgs(serviceIdentifier, options, true);
354
- return this._getAll(getArgs);
355
- }
356
- tryGetAllTagged(serviceIdentifier, key, value) {
357
- const getArgs = this._getNotAllArgs(serviceIdentifier, true, true, key, value);
358
- return this._getButThrowIfAsync(getArgs);
359
- }
360
- async tryGetAllTaggedAsync(serviceIdentifier, key, value) {
361
- const getArgs = this._getNotAllArgs(serviceIdentifier, true, true, key, value);
362
- return this._getAll(getArgs);
363
- }
364
- tryGetAllNamed(serviceIdentifier, named) {
365
- return this.tryGetAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
366
- }
367
- async tryGetAllNamedAsync(serviceIdentifier, named) {
368
- return this.tryGetAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
369
- }
370
- _preDestroy(constructor, instance) {
371
- if (constructor !== undefined &&
372
- Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {
373
- const data = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);
374
- return instance[data.value]?.();
375
- }
376
- }
377
- _removeModuleHandlers(moduleId) {
378
- const moduleActivationsHandlers = this._moduleActivationStore.remove(moduleId);
379
- this._activations.removeIntersection(moduleActivationsHandlers.onActivations);
380
- this._deactivations.removeIntersection(moduleActivationsHandlers.onDeactivations);
381
- }
382
- _removeModuleBindings(moduleId) {
383
- return this._bindingDictionary.removeByCondition((binding) => binding.moduleId === moduleId);
384
- }
385
- _deactivate(binding, instance) {
386
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
387
- const constructor = instance == undefined
388
- ? undefined
389
- : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
390
- Object.getPrototypeOf(instance).constructor;
391
- try {
392
- if (this._deactivations.hasKey(binding.serviceIdentifier)) {
393
- const result = this._deactivateContainer(instance, this._deactivations.get(binding.serviceIdentifier).values());
394
- if ((0, async_1.isPromise)(result)) {
395
- return this._handleDeactivationError(result.then(async () => this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor)), binding.serviceIdentifier);
396
- }
397
- }
398
- const propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor);
399
- if ((0, async_1.isPromise)(propagateDeactivationResult)) {
400
- return this._handleDeactivationError(propagateDeactivationResult, binding.serviceIdentifier);
401
- }
402
- }
403
- catch (ex) {
404
- if (ex instanceof Error) {
405
- throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR((0, serialization_1.getServiceIdentifierAsString)(binding.serviceIdentifier), ex.message));
406
- }
407
- }
408
- }
409
- async _handleDeactivationError(asyncResult, serviceIdentifier) {
410
- try {
411
- await asyncResult;
412
- }
413
- catch (ex) {
414
- if (ex instanceof Error) {
415
- throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR((0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier), ex.message));
416
- }
417
- }
418
- }
419
- _deactivateContainer(instance, deactivationsIterator) {
420
- let deactivation = deactivationsIterator.next();
421
- while (typeof deactivation.value === 'function') {
422
- const result = deactivation.value(instance);
423
- if ((0, async_1.isPromise)(result)) {
424
- return result.then(async () => this._deactivateContainerAsync(instance, deactivationsIterator));
425
- }
426
- deactivation = deactivationsIterator.next();
427
- }
428
- }
429
- async _deactivateContainerAsync(instance, deactivationsIterator) {
430
- let deactivation = deactivationsIterator.next();
431
- while (typeof deactivation.value === 'function') {
432
- await deactivation.value(instance);
433
- deactivation = deactivationsIterator.next();
434
- }
435
- }
436
- _getContainerModuleHelpersFactory() {
437
- const getBindFunction = (moduleId) => (serviceIdentifier) => {
438
- const binding = this._buildBinding(serviceIdentifier);
439
- binding.moduleId = moduleId;
440
- return this._bind(binding);
441
- };
442
- const getUnbindFunction = () => (serviceIdentifier) => {
443
- this.unbind(serviceIdentifier);
444
- };
445
- const getUnbindAsyncFunction = () => async (serviceIdentifier) => {
446
- return this.unbindAsync(serviceIdentifier);
447
- };
448
- const getIsboundFunction = () => (serviceIdentifier) => {
449
- return this.isBound(serviceIdentifier);
450
- };
451
- const getRebindFunction = (moduleId) => {
452
- const bind = getBindFunction(moduleId);
453
- return (serviceIdentifier) => {
454
- this.unbind(serviceIdentifier);
455
- return bind(serviceIdentifier);
456
- };
457
- };
458
- const getOnActivationFunction = (moduleId) => (serviceIdentifier, onActivation) => {
459
- this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation);
460
- this.onActivation(serviceIdentifier, onActivation);
461
- };
462
- const getOnDeactivationFunction = (moduleId) => (serviceIdentifier, onDeactivation) => {
463
- this._moduleActivationStore.addDeactivation(moduleId, serviceIdentifier, onDeactivation);
464
- this.onDeactivation(serviceIdentifier, onDeactivation);
465
- };
466
- return (mId) => ({
467
- bindFunction: getBindFunction(mId),
468
- isboundFunction: getIsboundFunction(),
469
- onActivationFunction: getOnActivationFunction(mId),
470
- onDeactivationFunction: getOnDeactivationFunction(mId),
471
- rebindFunction: getRebindFunction(mId),
472
- unbindAsyncFunction: getUnbindAsyncFunction(),
473
- unbindFunction: getUnbindFunction(),
474
- });
475
- }
476
- _bind(binding) {
477
- this._bindingDictionary.add(binding.serviceIdentifier, binding);
478
- return new binding_to_syntax_1.BindingToSyntax(binding);
479
- }
480
- _buildBinding(serviceIdentifier) {
481
- const scope = this.options.defaultScope || literal_types_1.BindingScopeEnum.Transient;
482
- return new binding_1.Binding(serviceIdentifier, scope);
483
- }
484
- async _getAll(getArgs) {
485
- return Promise.all(this._get(getArgs));
486
- }
487
- // Prepares arguments required for resolution and
488
- // delegates resolution to _middleware if available
489
- // otherwise it delegates resolution to _planAndResolve
490
- _get(getArgs) {
491
- const planAndResolveArgs = {
492
- ...getArgs,
493
- contextInterceptor: (context) => context,
494
- targetType: literal_types_1.TargetTypeEnum.Variable,
495
- };
496
- if (this._middleware) {
497
- const middlewareResult = this._middleware(planAndResolveArgs);
498
- if (middlewareResult === undefined || middlewareResult === null) {
499
- throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);
500
- }
501
- return middlewareResult;
502
- }
503
- return this._planAndResolve()(planAndResolveArgs);
504
- }
505
- _getButThrowIfAsync(getArgs) {
506
- const result = this._get(getArgs);
507
- if ((0, async_1.isPromiseOrContainsPromise)(result)) {
508
- throw new Error(ERROR_MSGS.LAZY_IN_SYNC(getArgs.serviceIdentifier));
509
- }
510
- return result;
511
- }
512
- _getAllArgs(serviceIdentifier, options, isOptional) {
513
- const getAllArgs = {
514
- avoidConstraints: !(options?.enforceBindingConstraints ?? false),
515
- isMultiInject: true,
516
- isOptional,
517
- serviceIdentifier,
518
- };
519
- return getAllArgs;
520
- }
521
- _getNotAllArgs(serviceIdentifier, isMultiInject, isOptional, key, value) {
522
- const getNotAllArgs = {
523
- avoidConstraints: false,
524
- isMultiInject,
525
- isOptional,
526
- key,
527
- serviceIdentifier,
528
- value,
529
- };
530
- return getNotAllArgs;
531
- }
532
- _getPlanMetadataFromNextArgs(args) {
533
- const planMetadata = {
534
- isMultiInject: args.isMultiInject,
535
- };
536
- if (args.key !== undefined) {
537
- planMetadata.customTag = {
538
- key: args.key,
539
- value: args.value,
540
- };
541
- }
542
- if (args.isOptional === true) {
543
- planMetadata.isOptional = true;
544
- }
545
- return planMetadata;
546
- }
547
- // Planner creates a plan and Resolver resolves a plan
548
- // one of the jobs of the Container is to links the Planner
549
- // with the Resolver and that is what this function is about
550
- _planAndResolve() {
551
- return (args) => {
552
- // create a plan
553
- let context = (0, planner_1.plan)(this._metadataReader, this, args.targetType, args.serviceIdentifier, this._getPlanMetadataFromNextArgs(args), args.avoidConstraints);
554
- // apply context interceptor
555
- context = args.contextInterceptor(context);
556
- // resolve plan
557
- const result = (0, resolver_1.resolve)(context);
558
- return result;
559
- };
560
- }
561
- _deactivateIfSingleton(binding) {
562
- if (!binding.activated) {
563
- return;
564
- }
565
- if ((0, async_1.isPromise)(binding.cache)) {
566
- return binding.cache.then((resolved) => this._deactivate(binding, resolved));
567
- }
568
- return this._deactivate(binding, binding.cache);
569
- }
570
- _deactivateSingletons(bindings) {
571
- for (const binding of bindings) {
572
- const result = this._deactivateIfSingleton(binding);
573
- if ((0, async_1.isPromise)(result)) {
574
- throw new Error(ERROR_MSGS.ASYNC_UNBIND_REQUIRED);
575
- }
576
- }
577
- }
578
- async _deactivateSingletonsAsync(bindings) {
579
- await Promise.all(bindings.map(async (b) => this._deactivateIfSingleton(b)));
580
- }
581
- _propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor) {
582
- if (this.parent) {
583
- return this._deactivate.bind(this.parent)(binding, instance);
584
- }
585
- else {
586
- return this._bindingDeactivationAndPreDestroy(binding, instance, constructor);
587
- }
588
- }
589
- async _propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor) {
590
- if (this.parent) {
591
- await this._deactivate.bind(this.parent)(binding, instance);
592
- }
593
- else {
594
- await this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor);
595
- }
596
- }
597
- _removeServiceFromDictionary(serviceIdentifier) {
598
- try {
599
- this._bindingDictionary.remove(serviceIdentifier);
600
- }
601
- catch (_e) {
602
- throw new Error(`${ERROR_MSGS.CANNOT_UNBIND} ${(0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier)}`);
603
- }
604
- }
605
- _bindingDeactivationAndPreDestroy(binding, instance, constructor) {
606
- if (typeof binding.onDeactivation === 'function') {
607
- const result = binding.onDeactivation(instance);
608
- if ((0, async_1.isPromise)(result)) {
609
- return result.then(() => this._preDestroy(constructor, instance));
610
- }
611
- }
612
- return this._preDestroy(constructor, instance);
613
- }
614
- async _bindingDeactivationAndPreDestroyAsync(binding, instance, constructor) {
615
- if (typeof binding.onDeactivation === 'function') {
616
- await binding.onDeactivation(instance);
617
- }
618
- await this._preDestroy(constructor, instance);
619
- }
620
- }
621
- exports.Container = Container;
622
- //# sourceMappingURL=container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/container/container.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- export declare class ContainerModule implements interfaces.ContainerModule {
3
- id: number;
4
- registry: interfaces.ContainerModuleCallBack;
5
- constructor(registry: interfaces.ContainerModuleCallBack);
6
- }
7
- export declare class AsyncContainerModule implements interfaces.AsyncContainerModule {
8
- id: number;
9
- registry: interfaces.AsyncContainerModuleCallBack;
10
- constructor(registry: interfaces.AsyncContainerModuleCallBack);
11
- }
12
- //# sourceMappingURL=container_module.d.ts.map