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,75 +0,0 @@
1
- define(["require", "exports", "./binding_in_syntax", "./binding_on_syntax", "./binding_when_syntax"], function (require, exports, binding_in_syntax_1, binding_on_syntax_1, binding_when_syntax_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BindingInWhenOnSyntax = void 0;
5
- var BindingInWhenOnSyntax = (function () {
6
- function BindingInWhenOnSyntax(binding) {
7
- this._binding = binding;
8
- this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
9
- this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);
10
- this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);
11
- }
12
- BindingInWhenOnSyntax.prototype.inRequestScope = function () {
13
- return this._bindingInSyntax.inRequestScope();
14
- };
15
- BindingInWhenOnSyntax.prototype.inSingletonScope = function () {
16
- return this._bindingInSyntax.inSingletonScope();
17
- };
18
- BindingInWhenOnSyntax.prototype.inTransientScope = function () {
19
- return this._bindingInSyntax.inTransientScope();
20
- };
21
- BindingInWhenOnSyntax.prototype.when = function (constraint) {
22
- return this._bindingWhenSyntax.when(constraint);
23
- };
24
- BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {
25
- return this._bindingWhenSyntax.whenTargetNamed(name);
26
- };
27
- BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {
28
- return this._bindingWhenSyntax.whenTargetIsDefault();
29
- };
30
- BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {
31
- return this._bindingWhenSyntax.whenTargetTagged(tag, value);
32
- };
33
- BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {
34
- return this._bindingWhenSyntax.whenInjectedInto(parent);
35
- };
36
- BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {
37
- return this._bindingWhenSyntax.whenParentNamed(name);
38
- };
39
- BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {
40
- return this._bindingWhenSyntax.whenParentTagged(tag, value);
41
- };
42
- BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
43
- return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);
44
- };
45
- BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {
46
- return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);
47
- };
48
- BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {
49
- return this._bindingWhenSyntax.whenAnyAncestorNamed(name);
50
- };
51
- BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
52
- return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);
53
- };
54
- BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {
55
- return this._bindingWhenSyntax.whenNoAncestorNamed(name);
56
- };
57
- BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
58
- return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);
59
- };
60
- BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
61
- return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);
62
- };
63
- BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {
64
- return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);
65
- };
66
- BindingInWhenOnSyntax.prototype.onActivation = function (handler) {
67
- return this._bindingOnSyntax.onActivation(handler);
68
- };
69
- BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) {
70
- return this._bindingOnSyntax.onDeactivation(handler);
71
- };
72
- return BindingInWhenOnSyntax;
73
- }());
74
- exports.BindingInWhenOnSyntax = BindingInWhenOnSyntax;
75
- });
@@ -1,8 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {
3
- private readonly _binding;
4
- constructor(binding: interfaces.Binding<T>);
5
- onActivation(handler: interfaces.BindingActivation<T>): interfaces.BindingWhenSyntax<T>;
6
- onDeactivation(handler: interfaces.BindingDeactivation<T>): interfaces.BindingWhenSyntax<T>;
7
- }
8
- export { BindingOnSyntax };
@@ -1,20 +0,0 @@
1
- define(["require", "exports", "./binding_when_syntax"], function (require, exports, binding_when_syntax_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BindingOnSyntax = void 0;
5
- var BindingOnSyntax = (function () {
6
- function BindingOnSyntax(binding) {
7
- this._binding = binding;
8
- }
9
- BindingOnSyntax.prototype.onActivation = function (handler) {
10
- this._binding.onActivation = handler;
11
- return new binding_when_syntax_1.BindingWhenSyntax(this._binding);
12
- };
13
- BindingOnSyntax.prototype.onDeactivation = function (handler) {
14
- this._binding.onDeactivation = handler;
15
- return new binding_when_syntax_1.BindingWhenSyntax(this._binding);
16
- };
17
- return BindingOnSyntax;
18
- }());
19
- exports.BindingOnSyntax = BindingOnSyntax;
20
- });
@@ -1,18 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- import { BindingWhenOnSyntax } from './binding_when_on_syntax';
3
- declare class BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {
4
- private readonly _binding;
5
- constructor(binding: interfaces.Binding<T>);
6
- to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T>;
7
- toSelf(): interfaces.BindingInWhenOnSyntax<T>;
8
- toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T>;
9
- toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T>;
10
- toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T>;
11
- toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T>;
12
- toFunction(func: T): interfaces.BindingWhenOnSyntax<T>;
13
- toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T>;
14
- toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;
15
- toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T>;
16
- toService(service: interfaces.ServiceIdentifier<T>): void;
17
- }
18
- export { BindingToSyntax };
@@ -1,116 +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/error_msgs", "../constants/literal_types", "./binding_in_when_on_syntax", "./binding_when_on_syntax"], function (require, exports, ERROR_MSGS, literal_types_1, binding_in_when_on_syntax_1, binding_when_on_syntax_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.BindingToSyntax = void 0;
28
- ERROR_MSGS = __importStar(ERROR_MSGS);
29
- var BindingToSyntax = (function () {
30
- function BindingToSyntax(binding) {
31
- this._binding = binding;
32
- }
33
- BindingToSyntax.prototype.to = function (constructor) {
34
- this._binding.type = literal_types_1.BindingTypeEnum.Instance;
35
- this._binding.implementationType = constructor;
36
- return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);
37
- };
38
- BindingToSyntax.prototype.toSelf = function () {
39
- if (typeof this._binding.serviceIdentifier !== 'function') {
40
- throw new Error(ERROR_MSGS.INVALID_TO_SELF_VALUE);
41
- }
42
- var self = this._binding
43
- .serviceIdentifier;
44
- return this.to(self);
45
- };
46
- BindingToSyntax.prototype.toConstantValue = function (value) {
47
- this._binding.type = literal_types_1.BindingTypeEnum.ConstantValue;
48
- this._binding.cache = value;
49
- this._binding.dynamicValue = null;
50
- this._binding.implementationType = null;
51
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
52
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
53
- };
54
- BindingToSyntax.prototype.toDynamicValue = function (func) {
55
- this._binding.type = literal_types_1.BindingTypeEnum.DynamicValue;
56
- this._binding.cache = null;
57
- this._binding.dynamicValue = func;
58
- this._binding.implementationType = null;
59
- return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);
60
- };
61
- BindingToSyntax.prototype.toConstructor = function (constructor) {
62
- this._binding.type = literal_types_1.BindingTypeEnum.Constructor;
63
- this._binding.implementationType = constructor;
64
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
65
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
66
- };
67
- BindingToSyntax.prototype.toFactory = function (factory) {
68
- this._binding.type = literal_types_1.BindingTypeEnum.Factory;
69
- this._binding.factory = factory;
70
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
71
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
72
- };
73
- BindingToSyntax.prototype.toFunction = function (func) {
74
- if (typeof func !== 'function') {
75
- throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);
76
- }
77
- var bindingWhenOnSyntax = this.toConstantValue(func);
78
- this._binding.type = literal_types_1.BindingTypeEnum.Function;
79
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
80
- return bindingWhenOnSyntax;
81
- };
82
- BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) {
83
- this._binding.type = literal_types_1.BindingTypeEnum.Factory;
84
- this._binding.factory = function (context) {
85
- var autofactory = function () {
86
- return context.container.get(serviceIdentifier);
87
- };
88
- return autofactory;
89
- };
90
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
91
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
92
- };
93
- BindingToSyntax.prototype.toAutoNamedFactory = function (serviceIdentifier) {
94
- this._binding.type = literal_types_1.BindingTypeEnum.Factory;
95
- this._binding.factory = function (context) {
96
- return function (named) {
97
- return context.container.getNamed(serviceIdentifier, named);
98
- };
99
- };
100
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
101
- };
102
- BindingToSyntax.prototype.toProvider = function (provider) {
103
- this._binding.type = literal_types_1.BindingTypeEnum.Provider;
104
- this._binding.provider = provider;
105
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
106
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
107
- };
108
- BindingToSyntax.prototype.toService = function (service) {
109
- this.toDynamicValue(function (context) {
110
- return context.container.get(service);
111
- });
112
- };
113
- return BindingToSyntax;
114
- }());
115
- exports.BindingToSyntax = BindingToSyntax;
116
- });
@@ -1,25 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {
3
- private readonly _bindingWhenSyntax;
4
- private readonly _bindingOnSyntax;
5
- private readonly _binding;
6
- constructor(binding: interfaces.Binding<T>);
7
- when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
8
- whenTargetNamed(name: string): interfaces.BindingOnSyntax<T>;
9
- whenTargetIsDefault(): interfaces.BindingOnSyntax<T>;
10
- whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
11
- whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T>;
12
- whenParentNamed(name: string): interfaces.BindingOnSyntax<T>;
13
- whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
14
- whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
15
- whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
16
- whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
17
- whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
18
- whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
19
- whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
20
- whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
21
- whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
22
- onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T>;
23
- onDeactivation(handler: (injectable: T) => Promise<void> | void): interfaces.BindingWhenSyntax<T>;
24
- }
25
- export { BindingWhenOnSyntax };
@@ -1,65 +0,0 @@
1
- define(["require", "exports", "./binding_on_syntax", "./binding_when_syntax"], function (require, exports, binding_on_syntax_1, binding_when_syntax_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BindingWhenOnSyntax = void 0;
5
- var BindingWhenOnSyntax = (function () {
6
- function BindingWhenOnSyntax(binding) {
7
- this._binding = binding;
8
- this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
9
- this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);
10
- }
11
- BindingWhenOnSyntax.prototype.when = function (constraint) {
12
- return this._bindingWhenSyntax.when(constraint);
13
- };
14
- BindingWhenOnSyntax.prototype.whenTargetNamed = function (name) {
15
- return this._bindingWhenSyntax.whenTargetNamed(name);
16
- };
17
- BindingWhenOnSyntax.prototype.whenTargetIsDefault = function () {
18
- return this._bindingWhenSyntax.whenTargetIsDefault();
19
- };
20
- BindingWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {
21
- return this._bindingWhenSyntax.whenTargetTagged(tag, value);
22
- };
23
- BindingWhenOnSyntax.prototype.whenInjectedInto = function (parent) {
24
- return this._bindingWhenSyntax.whenInjectedInto(parent);
25
- };
26
- BindingWhenOnSyntax.prototype.whenParentNamed = function (name) {
27
- return this._bindingWhenSyntax.whenParentNamed(name);
28
- };
29
- BindingWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {
30
- return this._bindingWhenSyntax.whenParentTagged(tag, value);
31
- };
32
- BindingWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
33
- return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);
34
- };
35
- BindingWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {
36
- return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);
37
- };
38
- BindingWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {
39
- return this._bindingWhenSyntax.whenAnyAncestorNamed(name);
40
- };
41
- BindingWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
42
- return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);
43
- };
44
- BindingWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {
45
- return this._bindingWhenSyntax.whenNoAncestorNamed(name);
46
- };
47
- BindingWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
48
- return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);
49
- };
50
- BindingWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
51
- return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);
52
- };
53
- BindingWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {
54
- return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);
55
- };
56
- BindingWhenOnSyntax.prototype.onActivation = function (handler) {
57
- return this._bindingOnSyntax.onActivation(handler);
58
- };
59
- BindingWhenOnSyntax.prototype.onDeactivation = function (handler) {
60
- return this._bindingOnSyntax.onDeactivation(handler);
61
- };
62
- return BindingWhenOnSyntax;
63
- }());
64
- exports.BindingWhenOnSyntax = BindingWhenOnSyntax;
65
- });
@@ -1,21 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingWhenSyntax<T> implements interfaces.BindingWhenSyntax<T> {
3
- private readonly _binding;
4
- constructor(binding: interfaces.Binding<T>);
5
- when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
6
- whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T>;
7
- whenTargetIsDefault(): interfaces.BindingOnSyntax<T>;
8
- whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T>;
9
- whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T>;
10
- whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T>;
11
- whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T>;
12
- whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
13
- whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
14
- whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T>;
15
- whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T>;
16
- whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T>;
17
- whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T>;
18
- whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
19
- whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
20
- }
21
- export { BindingWhenSyntax };
@@ -1,107 +0,0 @@
1
- define(["require", "exports", "./binding_on_syntax", "./constraint_helpers"], function (require, exports, binding_on_syntax_1, constraint_helpers_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BindingWhenSyntax = void 0;
5
- var BindingWhenSyntax = (function () {
6
- function BindingWhenSyntax(binding) {
7
- this._binding = binding;
8
- }
9
- BindingWhenSyntax.prototype.when = function (constraint) {
10
- this._binding.constraint = constraint;
11
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
12
- };
13
- BindingWhenSyntax.prototype.whenTargetNamed = function (name) {
14
- this._binding.constraint = (0, constraint_helpers_1.namedConstraint)(name);
15
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
16
- };
17
- BindingWhenSyntax.prototype.whenTargetIsDefault = function () {
18
- this._binding.constraint = function (request) {
19
- if (request === null) {
20
- return false;
21
- }
22
- var targetIsDefault = request.target !== null &&
23
- !request.target.isNamed() &&
24
- !request.target.isTagged();
25
- return targetIsDefault;
26
- };
27
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
28
- };
29
- BindingWhenSyntax.prototype.whenTargetTagged = function (tag, value) {
30
- this._binding.constraint = (0, constraint_helpers_1.taggedConstraint)(tag)(value);
31
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
32
- };
33
- BindingWhenSyntax.prototype.whenInjectedInto = function (parent) {
34
- this._binding.constraint = function (request) {
35
- return request !== null && (0, constraint_helpers_1.typeConstraint)(parent)(request.parentRequest);
36
- };
37
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
38
- };
39
- BindingWhenSyntax.prototype.whenParentNamed = function (name) {
40
- this._binding.constraint = function (request) {
41
- return request !== null && (0, constraint_helpers_1.namedConstraint)(name)(request.parentRequest);
42
- };
43
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
44
- };
45
- BindingWhenSyntax.prototype.whenParentTagged = function (tag, value) {
46
- this._binding.constraint = function (request) {
47
- return request !== null && (0, constraint_helpers_1.taggedConstraint)(tag)(value)(request.parentRequest);
48
- };
49
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
50
- };
51
- BindingWhenSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
52
- this._binding.constraint = function (request) {
53
- return request !== null && (0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.typeConstraint)(ancestor));
54
- };
55
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
56
- };
57
- BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) {
58
- this._binding.constraint = function (request) {
59
- return request !== null &&
60
- !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.typeConstraint)(ancestor));
61
- };
62
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
63
- };
64
- BindingWhenSyntax.prototype.whenAnyAncestorNamed = function (name) {
65
- this._binding.constraint = function (request) {
66
- return request !== null && (0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.namedConstraint)(name));
67
- };
68
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
69
- };
70
- BindingWhenSyntax.prototype.whenNoAncestorNamed = function (name) {
71
- this._binding.constraint = function (request) {
72
- return request !== null && !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.namedConstraint)(name));
73
- };
74
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
75
- };
76
- BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
77
- this._binding.constraint = function (request) {
78
- return request !== null &&
79
- (0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
80
- };
81
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
82
- };
83
- BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
84
- this._binding.constraint = function (request) {
85
- return request !== null &&
86
- !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
87
- };
88
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
89
- };
90
- BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
91
- this._binding.constraint = function (request) {
92
- return request !== null &&
93
- (0, constraint_helpers_1.traverseAncerstors)(request, constraint);
94
- };
95
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
96
- };
97
- BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) {
98
- this._binding.constraint = function (request) {
99
- return request !== null &&
100
- !(0, constraint_helpers_1.traverseAncerstors)(request, constraint);
101
- };
102
- return new binding_on_syntax_1.BindingOnSyntax(this._binding);
103
- };
104
- return BindingWhenSyntax;
105
- }());
106
- exports.BindingWhenSyntax = BindingWhenSyntax;
107
- });
@@ -1,6 +0,0 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare const traverseAncerstors: (request: interfaces.Request, constraint: interfaces.ConstraintFunction) => boolean;
3
- declare const taggedConstraint: (key: string | number | symbol) => (value: unknown) => interfaces.ConstraintFunction;
4
- declare const namedConstraint: (value: unknown) => interfaces.ConstraintFunction;
5
- declare const typeConstraint: (type: NewableFunction | string) => (request: interfaces.Request | null) => boolean;
6
- export { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint, };
@@ -1,66 +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", "../planning/metadata"], function (require, exports, METADATA_KEY, metadata_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.typeConstraint = exports.namedConstraint = exports.taggedConstraint = exports.traverseAncerstors = void 0;
28
- METADATA_KEY = __importStar(METADATA_KEY);
29
- var traverseAncerstors = function (request, constraint) {
30
- var parent = request.parentRequest;
31
- if (parent !== null) {
32
- return constraint(parent) ? true : traverseAncerstors(parent, constraint);
33
- }
34
- else {
35
- return false;
36
- }
37
- };
38
- exports.traverseAncerstors = traverseAncerstors;
39
- var taggedConstraint = function (key) { return function (value) {
40
- var constraint = function (request) {
41
- return request !== null &&
42
- request.target !== null &&
43
- request.target.matchesTag(key)(value);
44
- };
45
- constraint.metaData = new metadata_1.Metadata(key, value);
46
- return constraint;
47
- }; };
48
- exports.taggedConstraint = taggedConstraint;
49
- var namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);
50
- exports.namedConstraint = namedConstraint;
51
- var typeConstraint = function (type) { return function (request) {
52
- var binding = null;
53
- if (request !== null) {
54
- binding = request.bindings[0];
55
- if (typeof type === 'string') {
56
- return binding.serviceIdentifier === type;
57
- }
58
- else {
59
- var constructor = request.bindings[0].implementationType;
60
- return type === constructor;
61
- }
62
- }
63
- return false;
64
- }; };
65
- exports.typeConstraint = typeConstraint;
66
- });
@@ -1,3 +0,0 @@
1
- declare function isPromise<T>(object: unknown): object is Promise<T>;
2
- declare function isPromiseOrContainsPromise<T>(object: unknown): object is Promise<T> | (T | Promise<T>)[];
3
- export { isPromise, isPromiseOrContainsPromise };
@@ -1,17 +0,0 @@
1
- define(["require", "exports"], function (require, exports) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isPromise = isPromise;
5
- exports.isPromiseOrContainsPromise = isPromiseOrContainsPromise;
6
- function isPromise(object) {
7
- var isObjectOrFunction = (typeof object === 'object' && object !== null) ||
8
- typeof object === 'function';
9
- return (isObjectOrFunction && typeof object.then === 'function');
10
- }
11
- function isPromiseOrContainsPromise(object) {
12
- if (isPromise(object)) {
13
- return true;
14
- }
15
- return Array.isArray(object) && object.some(isPromise);
16
- }
17
- });
@@ -1,4 +0,0 @@
1
- import type { interfaces } from '../interfaces/interfaces';
2
- export declare const multiBindToService: (container: interfaces.Container) => (service: interfaces.ServiceIdentifier) => (...types: interfaces.ServiceIdentifier[]) => void;
3
- export declare const ensureFullyBound: <T = unknown>(binding: interfaces.Binding<T>) => void;
4
- export declare const getFactoryDetails: <T = unknown>(binding: interfaces.Binding<T>) => interfaces.FactoryDetails;
@@ -1,86 +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/error_msgs", "../constants/literal_types", "../utils/serialization", "./factory_type"], function (require, exports, ERROR_MSGS, literal_types_1, serialization_1, factory_type_1) {
25
- "use strict";
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.getFactoryDetails = exports.ensureFullyBound = exports.multiBindToService = void 0;
28
- ERROR_MSGS = __importStar(ERROR_MSGS);
29
- var multiBindToService = function (container) {
30
- return function (service) {
31
- return function () {
32
- var types = [];
33
- for (var _i = 0; _i < arguments.length; _i++) {
34
- types[_i] = arguments[_i];
35
- }
36
- types.forEach(function (t) {
37
- container.bind(t).toService(service);
38
- });
39
- };
40
- };
41
- };
42
- exports.multiBindToService = multiBindToService;
43
- var ensureFullyBound = function (binding) {
44
- var boundValue = null;
45
- switch (binding.type) {
46
- case literal_types_1.BindingTypeEnum.ConstantValue:
47
- case literal_types_1.BindingTypeEnum.Function:
48
- boundValue = binding.cache;
49
- break;
50
- case literal_types_1.BindingTypeEnum.Constructor:
51
- case literal_types_1.BindingTypeEnum.Instance:
52
- boundValue = binding.implementationType;
53
- break;
54
- case literal_types_1.BindingTypeEnum.DynamicValue:
55
- boundValue = binding.dynamicValue;
56
- break;
57
- case literal_types_1.BindingTypeEnum.Provider:
58
- boundValue = binding.provider;
59
- break;
60
- case literal_types_1.BindingTypeEnum.Factory:
61
- boundValue = binding.factory;
62
- break;
63
- }
64
- if (boundValue === null) {
65
- var serviceIdentifierAsString = (0, serialization_1.getServiceIdentifierAsString)(binding.serviceIdentifier);
66
- throw new Error("".concat(ERROR_MSGS.INVALID_BINDING_TYPE, " ").concat(serviceIdentifierAsString));
67
- }
68
- };
69
- exports.ensureFullyBound = ensureFullyBound;
70
- var getFactoryDetails = function (binding) {
71
- switch (binding.type) {
72
- case literal_types_1.BindingTypeEnum.Factory:
73
- return { factory: binding.factory, factoryType: factory_type_1.FactoryType.Factory };
74
- case literal_types_1.BindingTypeEnum.Provider:
75
- return { factory: binding.provider, factoryType: factory_type_1.FactoryType.Provider };
76
- case literal_types_1.BindingTypeEnum.DynamicValue:
77
- return {
78
- factory: binding.dynamicValue,
79
- factoryType: factory_type_1.FactoryType.DynamicValue,
80
- };
81
- default:
82
- throw new Error("Unexpected factory type ".concat(binding.type));
83
- }
84
- };
85
- exports.getFactoryDetails = getFactoryDetails;
86
- });