inversify 6.0.2 → 6.1.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 (273) hide show
  1. package/CHANGELOG.md +95 -81
  2. package/LICENSE +22 -22
  3. package/README.md +311 -309
  4. package/amd/annotation/decorator_utils.js +119 -114
  5. package/amd/annotation/inject.js +31 -27
  6. package/amd/annotation/inject_base.js +16 -17
  7. package/amd/annotation/injectable.js +40 -37
  8. package/amd/annotation/lazy_service_identifier.js +4 -15
  9. package/amd/annotation/multi_inject.js +31 -27
  10. package/amd/annotation/named.js +32 -29
  11. package/amd/annotation/optional.js +32 -29
  12. package/amd/annotation/post_construct.js +32 -28
  13. package/amd/annotation/pre_destroy.js +32 -28
  14. package/amd/annotation/property_event_decorator.js +16 -17
  15. package/amd/annotation/tagged.js +8 -9
  16. package/amd/annotation/target_name.js +35 -32
  17. package/amd/annotation/unmanaged.js +35 -32
  18. package/amd/bindings/binding.js +40 -39
  19. package/amd/bindings/binding_count.js +11 -10
  20. package/amd/constants/error_msgs.js +74 -64
  21. package/amd/constants/literal_types.js +28 -28
  22. package/amd/constants/metadata_keys.js +28 -28
  23. package/amd/container/container.js +762 -719
  24. package/amd/container/container_module.js +21 -21
  25. package/amd/container/container_snapshot.js +20 -20
  26. package/amd/container/lookup.js +132 -127
  27. package/amd/container/module_activation_store.js +51 -53
  28. package/amd/interfaces/interfaces.js +4 -10
  29. package/amd/inversify.js +57 -55
  30. package/amd/planning/context.js +19 -19
  31. package/amd/planning/metadata.js +45 -41
  32. package/amd/planning/metadata_reader.js +49 -43
  33. package/amd/planning/plan.js +13 -13
  34. package/amd/planning/planner.js +184 -163
  35. package/amd/planning/queryable_string.js +33 -30
  36. package/amd/planning/reflection_utils.js +55 -157
  37. package/amd/planning/request.js +24 -26
  38. package/amd/planning/target.js +111 -101
  39. package/amd/resolution/instantiation.js +219 -211
  40. package/amd/resolution/resolver.js +234 -222
  41. package/amd/scope/scope.js +93 -93
  42. package/amd/syntax/binding_in_syntax.js +24 -24
  43. package/amd/syntax/binding_in_when_on_syntax.js +75 -75
  44. package/amd/syntax/binding_on_syntax.js +20 -20
  45. package/amd/syntax/binding_to_syntax.js +116 -105
  46. package/amd/syntax/binding_when_on_syntax.js +65 -65
  47. package/amd/syntax/binding_when_syntax.js +107 -102
  48. package/amd/syntax/constraint_helpers.js +66 -61
  49. package/amd/utils/async.js +17 -17
  50. package/amd/utils/binding_utils.js +86 -77
  51. package/amd/utils/clonable.js +11 -12
  52. package/amd/utils/exceptions.js +46 -42
  53. package/amd/utils/factory_type.js +11 -11
  54. package/amd/utils/id.js +9 -10
  55. package/amd/utils/js.js +18 -19
  56. package/amd/utils/serialization.js +135 -129
  57. package/es/annotation/decorator_utils.js +90 -88
  58. package/es/annotation/inject.js +4 -4
  59. package/es/annotation/inject_base.js +14 -14
  60. package/es/annotation/injectable.js +13 -13
  61. package/es/annotation/lazy_service_identifier.js +1 -10
  62. package/es/annotation/multi_inject.js +4 -4
  63. package/es/annotation/named.js +7 -7
  64. package/es/annotation/optional.js +7 -7
  65. package/es/annotation/post_construct.js +5 -5
  66. package/es/annotation/pre_destroy.js +5 -5
  67. package/es/annotation/property_event_decorator.js +13 -13
  68. package/es/annotation/tagged.js +6 -6
  69. package/es/annotation/target_name.js +10 -10
  70. package/es/annotation/unmanaged.js +10 -10
  71. package/es/bindings/binding.js +37 -36
  72. package/es/bindings/binding_count.js +6 -5
  73. package/es/constants/error_msgs.js +62 -52
  74. package/es/constants/literal_types.js +21 -21
  75. package/es/constants/metadata_keys.js +23 -23
  76. package/es/container/container.js +746 -707
  77. package/es/container/container_module.js +17 -17
  78. package/es/container/container_snapshot.js +15 -15
  79. package/es/container/lookup.js +105 -104
  80. package/es/container/module_activation_store.js +47 -49
  81. package/es/interfaces/interfaces.js +1 -5
  82. package/es/inversify.js +23 -25
  83. package/es/planning/context.js +15 -15
  84. package/es/planning/metadata.js +17 -17
  85. package/es/planning/metadata_reader.js +21 -19
  86. package/es/planning/plan.js +8 -8
  87. package/es/planning/planner.js +165 -147
  88. package/es/planning/queryable_string.js +28 -25
  89. package/es/planning/reflection_utils.js +27 -135
  90. package/es/planning/request.js +20 -22
  91. package/es/planning/target.js +87 -81
  92. package/es/resolution/instantiation.js +195 -190
  93. package/es/resolution/resolver.js +214 -205
  94. package/es/scope/scope.js +88 -88
  95. package/es/syntax/binding_in_syntax.js +21 -21
  96. package/es/syntax/binding_in_when_on_syntax.js +73 -73
  97. package/es/syntax/binding_on_syntax.js +16 -16
  98. package/es/syntax/binding_to_syntax.js +91 -84
  99. package/es/syntax/binding_when_on_syntax.js +62 -62
  100. package/es/syntax/binding_when_syntax.js +104 -99
  101. package/es/syntax/constraint_helpers.js +36 -35
  102. package/es/utils/async.js +12 -11
  103. package/es/utils/binding_utils.js +58 -53
  104. package/es/utils/clonable.js +7 -7
  105. package/es/utils/exceptions.js +16 -16
  106. package/es/utils/factory_type.js +6 -6
  107. package/es/utils/id.js +5 -5
  108. package/es/utils/js.js +13 -13
  109. package/es/utils/serialization.js +103 -100
  110. package/es6/annotation/decorator_utils.js +114 -109
  111. package/es6/annotation/inject.js +30 -26
  112. package/es6/annotation/inject_base.js +17 -18
  113. package/es6/annotation/injectable.js +38 -35
  114. package/es6/annotation/lazy_service_identifier.js +2 -12
  115. package/es6/annotation/multi_inject.js +30 -26
  116. package/es6/annotation/named.js +32 -29
  117. package/es6/annotation/optional.js +32 -29
  118. package/es6/annotation/post_construct.js +31 -27
  119. package/es6/annotation/pre_destroy.js +31 -27
  120. package/es6/annotation/property_event_decorator.js +15 -16
  121. package/es6/annotation/tagged.js +8 -9
  122. package/es6/annotation/target_name.js +35 -32
  123. package/es6/annotation/unmanaged.js +35 -32
  124. package/es6/bindings/binding.js +39 -38
  125. package/es6/bindings/binding_count.js +9 -8
  126. package/es6/constants/error_msgs.js +58 -53
  127. package/es6/constants/literal_types.js +26 -26
  128. package/es6/constants/metadata_keys.js +26 -26
  129. package/es6/container/container.js +541 -520
  130. package/es6/container/container_module.js +18 -18
  131. package/es6/container/container_snapshot.js +15 -15
  132. package/es6/container/lookup.js +125 -120
  133. package/es6/container/module_activation_store.js +49 -51
  134. package/es6/interfaces/interfaces.js +2 -8
  135. package/es6/inversify.js +76 -76
  136. package/es6/planning/context.js +17 -17
  137. package/es6/planning/metadata.js +42 -38
  138. package/es6/planning/metadata_reader.js +44 -38
  139. package/es6/planning/plan.js +10 -10
  140. package/es6/planning/planner.js +191 -170
  141. package/es6/planning/queryable_string.js +30 -27
  142. package/es6/planning/reflection_utils.js +53 -155
  143. package/es6/planning/request.js +22 -24
  144. package/es6/planning/target.js +105 -99
  145. package/es6/resolution/instantiation.js +158 -151
  146. package/es6/resolution/resolver.js +193 -187
  147. package/es6/scope/scope.js +57 -57
  148. package/es6/syntax/binding_in_syntax.js +23 -23
  149. package/es6/syntax/binding_in_when_on_syntax.js +75 -75
  150. package/es6/syntax/binding_on_syntax.js +18 -18
  151. package/es6/syntax/binding_to_syntax.js +110 -105
  152. package/es6/syntax/binding_when_on_syntax.js +64 -64
  153. package/es6/syntax/binding_when_syntax.js +84 -79
  154. package/es6/syntax/constraint_helpers.js +63 -58
  155. package/es6/utils/async.js +15 -15
  156. package/es6/utils/binding_utils.js +79 -68
  157. package/es6/utils/clonable.js +9 -10
  158. package/es6/utils/exceptions.js +44 -40
  159. package/es6/utils/factory_type.js +9 -9
  160. package/es6/utils/id.js +7 -8
  161. package/es6/utils/js.js +15 -16
  162. package/es6/utils/serialization.js +132 -126
  163. package/lib/annotation/decorator_utils.d.ts +16 -16
  164. package/lib/annotation/decorator_utils.js +118 -113
  165. package/lib/annotation/inject.d.ts +5 -2
  166. package/lib/annotation/inject.js +30 -26
  167. package/lib/annotation/inject_base.d.ts +4 -3
  168. package/lib/annotation/inject_base.js +17 -18
  169. package/lib/annotation/injectable.d.ts +2 -2
  170. package/lib/annotation/injectable.js +38 -35
  171. package/lib/annotation/lazy_service_identifier.d.ts +3 -7
  172. package/lib/annotation/lazy_service_identifier.js +2 -13
  173. package/lib/annotation/multi_inject.d.ts +5 -2
  174. package/lib/annotation/multi_inject.js +30 -26
  175. package/lib/annotation/named.d.ts +2 -2
  176. package/lib/annotation/named.js +32 -29
  177. package/lib/annotation/optional.d.ts +2 -2
  178. package/lib/annotation/optional.js +32 -29
  179. package/lib/annotation/post_construct.d.ts +4 -4
  180. package/lib/annotation/post_construct.js +31 -27
  181. package/lib/annotation/pre_destroy.d.ts +4 -4
  182. package/lib/annotation/pre_destroy.js +31 -27
  183. package/lib/annotation/property_event_decorator.d.ts +4 -4
  184. package/lib/annotation/property_event_decorator.js +15 -16
  185. package/lib/annotation/tagged.d.ts +2 -2
  186. package/lib/annotation/tagged.js +8 -9
  187. package/lib/annotation/target_name.d.ts +3 -3
  188. package/lib/annotation/target_name.js +35 -32
  189. package/lib/annotation/unmanaged.d.ts +3 -3
  190. package/lib/annotation/unmanaged.js +35 -32
  191. package/lib/bindings/binding.d.ts +20 -20
  192. package/lib/bindings/binding.js +40 -39
  193. package/lib/bindings/binding_count.d.ts +5 -5
  194. package/lib/bindings/binding_count.js +9 -8
  195. package/lib/constants/error_msgs.d.ts +30 -32
  196. package/lib/constants/error_msgs.js +72 -62
  197. package/lib/constants/literal_types.d.ts +5 -5
  198. package/lib/constants/literal_types.js +26 -26
  199. package/lib/constants/metadata_keys.d.ts +13 -13
  200. package/lib/constants/metadata_keys.js +26 -26
  201. package/lib/container/container.d.ts +73 -73
  202. package/lib/container/container.js +772 -729
  203. package/lib/container/container_module.d.ts +11 -11
  204. package/lib/container/container_module.js +20 -20
  205. package/lib/container/container_snapshot.d.ts +10 -10
  206. package/lib/container/container_snapshot.js +18 -18
  207. package/lib/container/lookup.d.ts +17 -16
  208. package/lib/container/lookup.js +131 -126
  209. package/lib/container/module_activation_store.d.ts +10 -10
  210. package/lib/container/module_activation_store.js +50 -52
  211. package/lib/interfaces/interfaces.d.ts +269 -284
  212. package/lib/interfaces/interfaces.js +2 -8
  213. package/lib/inversify.d.ts +24 -25
  214. package/lib/inversify.js +76 -76
  215. package/lib/planning/context.d.ts +11 -11
  216. package/lib/planning/context.js +18 -18
  217. package/lib/planning/metadata.d.ts +8 -8
  218. package/lib/planning/metadata.js +43 -39
  219. package/lib/planning/metadata_reader.d.ts +6 -6
  220. package/lib/planning/metadata_reader.js +47 -41
  221. package/lib/planning/plan.d.ts +7 -7
  222. package/lib/planning/plan.js +11 -11
  223. package/lib/planning/planner.d.ts +5 -5
  224. package/lib/planning/planner.js +192 -171
  225. package/lib/planning/queryable_string.d.ts +10 -11
  226. package/lib/planning/queryable_string.js +31 -28
  227. package/lib/planning/reflection_utils.d.ts +5 -5
  228. package/lib/planning/reflection_utils.js +55 -159
  229. package/lib/planning/request.d.ts +14 -14
  230. package/lib/planning/request.js +23 -25
  231. package/lib/planning/target.d.ts +23 -23
  232. package/lib/planning/target.js +113 -103
  233. package/lib/resolution/instantiation.d.ts +3 -3
  234. package/lib/resolution/instantiation.js +220 -212
  235. package/lib/resolution/resolver.d.ts +3 -3
  236. package/lib/resolution/resolver.js +239 -227
  237. package/lib/scope/scope.d.ts +3 -3
  238. package/lib/scope/scope.js +93 -93
  239. package/lib/syntax/binding_in_syntax.d.ts +9 -9
  240. package/lib/syntax/binding_in_syntax.js +24 -24
  241. package/lib/syntax/binding_in_when_on_syntax.d.ts +29 -29
  242. package/lib/syntax/binding_in_when_on_syntax.js +76 -76
  243. package/lib/syntax/binding_on_syntax.d.ts +8 -8
  244. package/lib/syntax/binding_on_syntax.js +19 -19
  245. package/lib/syntax/binding_to_syntax.d.ts +18 -18
  246. package/lib/syntax/binding_to_syntax.js +117 -106
  247. package/lib/syntax/binding_when_on_syntax.d.ts +25 -25
  248. package/lib/syntax/binding_when_on_syntax.js +65 -65
  249. package/lib/syntax/binding_when_syntax.d.ts +21 -21
  250. package/lib/syntax/binding_when_syntax.js +107 -102
  251. package/lib/syntax/constraint_helpers.d.ts +6 -6
  252. package/lib/syntax/constraint_helpers.js +65 -60
  253. package/lib/tsconfig.tsbuildinfo +1 -1
  254. package/lib/utils/async.d.ts +3 -3
  255. package/lib/utils/async.js +15 -15
  256. package/lib/utils/binding_utils.d.ts +4 -4
  257. package/lib/utils/binding_utils.js +87 -78
  258. package/lib/utils/clonable.d.ts +3 -3
  259. package/lib/utils/clonable.js +9 -10
  260. package/lib/utils/exceptions.d.ts +2 -2
  261. package/lib/utils/exceptions.js +44 -40
  262. package/lib/utils/factory_type.d.ts +5 -5
  263. package/lib/utils/factory_type.js +9 -9
  264. package/lib/utils/id.d.ts +2 -2
  265. package/lib/utils/id.js +7 -8
  266. package/lib/utils/js.d.ts +1 -1
  267. package/lib/utils/js.js +16 -17
  268. package/lib/utils/serialization.d.ts +10 -10
  269. package/lib/utils/serialization.js +133 -127
  270. package/package.json +74 -61
  271. package/.nyc_output/16b95af9-19b9-451c-8475-9a8585677128.json +0 -1
  272. package/.nyc_output/processinfo/16b95af9-19b9-451c-8475-9a8585677128.json +0 -1
  273. package/.nyc_output/processinfo/index.json +0 -1
@@ -1,93 +1,93 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.saveToScope = exports.tryGetFromScope = void 0;
40
- var literal_types_1 = require("../constants/literal_types");
41
- var async_1 = require("../utils/async");
42
- var tryGetFromScope = function (requestScope, binding) {
43
- if ((binding.scope === literal_types_1.BindingScopeEnum.Singleton) && binding.activated) {
44
- return binding.cache;
45
- }
46
- if (binding.scope === literal_types_1.BindingScopeEnum.Request &&
47
- requestScope.has(binding.id)) {
48
- return requestScope.get(binding.id);
49
- }
50
- return null;
51
- };
52
- exports.tryGetFromScope = tryGetFromScope;
53
- var saveToScope = function (requestScope, binding, result) {
54
- if (binding.scope === literal_types_1.BindingScopeEnum.Singleton) {
55
- _saveToSingletonScope(binding, result);
56
- }
57
- if (binding.scope === literal_types_1.BindingScopeEnum.Request) {
58
- _saveToRequestScope(requestScope, binding, result);
59
- }
60
- };
61
- exports.saveToScope = saveToScope;
62
- var _saveToRequestScope = function (requestScope, binding, result) {
63
- if (!requestScope.has(binding.id)) {
64
- requestScope.set(binding.id, result);
65
- }
66
- };
67
- var _saveToSingletonScope = function (binding, result) {
68
- binding.cache = result;
69
- binding.activated = true;
70
- if ((0, async_1.isPromise)(result)) {
71
- void _saveAsyncResultToSingletonScope(binding, result);
72
- }
73
- };
74
- var _saveAsyncResultToSingletonScope = function (binding, asyncResult) { return __awaiter(void 0, void 0, void 0, function () {
75
- var result, ex_1;
76
- return __generator(this, function (_a) {
77
- switch (_a.label) {
78
- case 0:
79
- _a.trys.push([0, 2, , 3]);
80
- return [4, asyncResult];
81
- case 1:
82
- result = _a.sent();
83
- binding.cache = result;
84
- return [3, 3];
85
- case 2:
86
- ex_1 = _a.sent();
87
- binding.cache = null;
88
- binding.activated = false;
89
- throw ex_1;
90
- case 3: return [2];
91
- }
92
- });
93
- }); };
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.saveToScope = exports.tryGetFromScope = void 0;
40
+ var literal_types_1 = require("../constants/literal_types");
41
+ var async_1 = require("../utils/async");
42
+ var tryGetFromScope = function (requestScope, binding) {
43
+ if (binding.scope === literal_types_1.BindingScopeEnum.Singleton && binding.activated) {
44
+ return binding.cache;
45
+ }
46
+ if (binding.scope === literal_types_1.BindingScopeEnum.Request &&
47
+ requestScope.has(binding.id)) {
48
+ return requestScope.get(binding.id);
49
+ }
50
+ return null;
51
+ };
52
+ exports.tryGetFromScope = tryGetFromScope;
53
+ var saveToScope = function (requestScope, binding, result) {
54
+ if (binding.scope === literal_types_1.BindingScopeEnum.Singleton) {
55
+ _saveToSingletonScope(binding, result);
56
+ }
57
+ if (binding.scope === literal_types_1.BindingScopeEnum.Request) {
58
+ _saveToRequestScope(requestScope, binding, result);
59
+ }
60
+ };
61
+ exports.saveToScope = saveToScope;
62
+ var _saveToRequestScope = function (requestScope, binding, result) {
63
+ if (!requestScope.has(binding.id)) {
64
+ requestScope.set(binding.id, result);
65
+ }
66
+ };
67
+ var _saveToSingletonScope = function (binding, result) {
68
+ binding.cache = result;
69
+ binding.activated = true;
70
+ if ((0, async_1.isPromise)(result)) {
71
+ void _saveAsyncResultToSingletonScope(binding, result);
72
+ }
73
+ };
74
+ var _saveAsyncResultToSingletonScope = function (binding, asyncResult) { return __awaiter(void 0, void 0, void 0, function () {
75
+ var result, ex_1;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0:
79
+ _a.trys.push([0, 2, , 3]);
80
+ return [4, asyncResult];
81
+ case 1:
82
+ result = _a.sent();
83
+ binding.cache = result;
84
+ return [3, 3];
85
+ case 2:
86
+ ex_1 = _a.sent();
87
+ binding.cache = null;
88
+ binding.activated = false;
89
+ throw ex_1;
90
+ case 3: return [2];
91
+ }
92
+ });
93
+ }); };
@@ -1,9 +1,9 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {
3
- private _binding;
4
- constructor(binding: interfaces.Binding<T>);
5
- inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
6
- inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
7
- inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
8
- }
9
- export { BindingInSyntax };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ declare class BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {
3
+ private readonly _binding;
4
+ constructor(binding: interfaces.Binding<T>);
5
+ inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
6
+ inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
7
+ inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
8
+ }
9
+ export { BindingInSyntax };
@@ -1,24 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BindingInSyntax = void 0;
4
- var literal_types_1 = require("../constants/literal_types");
5
- var binding_when_on_syntax_1 = require("./binding_when_on_syntax");
6
- var BindingInSyntax = (function () {
7
- function BindingInSyntax(binding) {
8
- this._binding = binding;
9
- }
10
- BindingInSyntax.prototype.inRequestScope = function () {
11
- this._binding.scope = literal_types_1.BindingScopeEnum.Request;
12
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
13
- };
14
- BindingInSyntax.prototype.inSingletonScope = function () {
15
- this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
16
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
17
- };
18
- BindingInSyntax.prototype.inTransientScope = function () {
19
- this._binding.scope = literal_types_1.BindingScopeEnum.Transient;
20
- return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
21
- };
22
- return BindingInSyntax;
23
- }());
24
- exports.BindingInSyntax = BindingInSyntax;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingInSyntax = void 0;
4
+ var literal_types_1 = require("../constants/literal_types");
5
+ var binding_when_on_syntax_1 = require("./binding_when_on_syntax");
6
+ var BindingInSyntax = (function () {
7
+ function BindingInSyntax(binding) {
8
+ this._binding = binding;
9
+ }
10
+ BindingInSyntax.prototype.inRequestScope = function () {
11
+ this._binding.scope = literal_types_1.BindingScopeEnum.Request;
12
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
13
+ };
14
+ BindingInSyntax.prototype.inSingletonScope = function () {
15
+ this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
16
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
17
+ };
18
+ BindingInSyntax.prototype.inTransientScope = function () {
19
+ this._binding.scope = literal_types_1.BindingScopeEnum.Transient;
20
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
21
+ };
22
+ return BindingInSyntax;
23
+ }());
24
+ exports.BindingInSyntax = BindingInSyntax;
@@ -1,29 +1,29 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingInWhenOnSyntax<T> implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {
3
- private _bindingInSyntax;
4
- private _bindingWhenSyntax;
5
- private _bindingOnSyntax;
6
- private _binding;
7
- constructor(binding: interfaces.Binding<T>);
8
- inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
9
- inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
10
- inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
11
- when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
12
- whenTargetNamed(name: string): interfaces.BindingOnSyntax<T>;
13
- whenTargetIsDefault(): interfaces.BindingOnSyntax<T>;
14
- whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
15
- whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T>;
16
- whenParentNamed(name: string): interfaces.BindingOnSyntax<T>;
17
- whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
18
- whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T>;
19
- whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T>;
20
- whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
21
- whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
22
- whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
23
- whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
24
- whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
25
- whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
26
- onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T>;
27
- onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T>;
28
- }
29
- export { BindingInWhenOnSyntax };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ declare class BindingInWhenOnSyntax<T> implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {
3
+ private readonly _bindingInSyntax;
4
+ private readonly _bindingWhenSyntax;
5
+ private readonly _bindingOnSyntax;
6
+ private readonly _binding;
7
+ constructor(binding: interfaces.Binding<T>);
8
+ inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
9
+ inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
10
+ inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
11
+ when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
12
+ whenTargetNamed(name: string): interfaces.BindingOnSyntax<T>;
13
+ whenTargetIsDefault(): interfaces.BindingOnSyntax<T>;
14
+ whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
15
+ whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T>;
16
+ whenParentNamed(name: string): interfaces.BindingOnSyntax<T>;
17
+ whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
18
+ whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
19
+ whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T>;
20
+ whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
21
+ whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
22
+ whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T>;
23
+ whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T>;
24
+ whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
25
+ whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T>;
26
+ onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T>;
27
+ onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T>;
28
+ }
29
+ export { BindingInWhenOnSyntax };
@@ -1,76 +1,76 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BindingInWhenOnSyntax = void 0;
4
- var binding_in_syntax_1 = require("./binding_in_syntax");
5
- var binding_on_syntax_1 = require("./binding_on_syntax");
6
- var binding_when_syntax_1 = require("./binding_when_syntax");
7
- var BindingInWhenOnSyntax = (function () {
8
- function BindingInWhenOnSyntax(binding) {
9
- this._binding = binding;
10
- this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
11
- this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);
12
- this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);
13
- }
14
- BindingInWhenOnSyntax.prototype.inRequestScope = function () {
15
- return this._bindingInSyntax.inRequestScope();
16
- };
17
- BindingInWhenOnSyntax.prototype.inSingletonScope = function () {
18
- return this._bindingInSyntax.inSingletonScope();
19
- };
20
- BindingInWhenOnSyntax.prototype.inTransientScope = function () {
21
- return this._bindingInSyntax.inTransientScope();
22
- };
23
- BindingInWhenOnSyntax.prototype.when = function (constraint) {
24
- return this._bindingWhenSyntax.when(constraint);
25
- };
26
- BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {
27
- return this._bindingWhenSyntax.whenTargetNamed(name);
28
- };
29
- BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {
30
- return this._bindingWhenSyntax.whenTargetIsDefault();
31
- };
32
- BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {
33
- return this._bindingWhenSyntax.whenTargetTagged(tag, value);
34
- };
35
- BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {
36
- return this._bindingWhenSyntax.whenInjectedInto(parent);
37
- };
38
- BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {
39
- return this._bindingWhenSyntax.whenParentNamed(name);
40
- };
41
- BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {
42
- return this._bindingWhenSyntax.whenParentTagged(tag, value);
43
- };
44
- BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
45
- return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);
46
- };
47
- BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {
48
- return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);
49
- };
50
- BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {
51
- return this._bindingWhenSyntax.whenAnyAncestorNamed(name);
52
- };
53
- BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
54
- return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);
55
- };
56
- BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {
57
- return this._bindingWhenSyntax.whenNoAncestorNamed(name);
58
- };
59
- BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
60
- return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);
61
- };
62
- BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
63
- return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);
64
- };
65
- BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {
66
- return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);
67
- };
68
- BindingInWhenOnSyntax.prototype.onActivation = function (handler) {
69
- return this._bindingOnSyntax.onActivation(handler);
70
- };
71
- BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) {
72
- return this._bindingOnSyntax.onDeactivation(handler);
73
- };
74
- return BindingInWhenOnSyntax;
75
- }());
76
- exports.BindingInWhenOnSyntax = BindingInWhenOnSyntax;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingInWhenOnSyntax = void 0;
4
+ var binding_in_syntax_1 = require("./binding_in_syntax");
5
+ var binding_on_syntax_1 = require("./binding_on_syntax");
6
+ var binding_when_syntax_1 = require("./binding_when_syntax");
7
+ var BindingInWhenOnSyntax = (function () {
8
+ function BindingInWhenOnSyntax(binding) {
9
+ this._binding = binding;
10
+ this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
11
+ this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);
12
+ this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);
13
+ }
14
+ BindingInWhenOnSyntax.prototype.inRequestScope = function () {
15
+ return this._bindingInSyntax.inRequestScope();
16
+ };
17
+ BindingInWhenOnSyntax.prototype.inSingletonScope = function () {
18
+ return this._bindingInSyntax.inSingletonScope();
19
+ };
20
+ BindingInWhenOnSyntax.prototype.inTransientScope = function () {
21
+ return this._bindingInSyntax.inTransientScope();
22
+ };
23
+ BindingInWhenOnSyntax.prototype.when = function (constraint) {
24
+ return this._bindingWhenSyntax.when(constraint);
25
+ };
26
+ BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {
27
+ return this._bindingWhenSyntax.whenTargetNamed(name);
28
+ };
29
+ BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {
30
+ return this._bindingWhenSyntax.whenTargetIsDefault();
31
+ };
32
+ BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {
33
+ return this._bindingWhenSyntax.whenTargetTagged(tag, value);
34
+ };
35
+ BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {
36
+ return this._bindingWhenSyntax.whenInjectedInto(parent);
37
+ };
38
+ BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {
39
+ return this._bindingWhenSyntax.whenParentNamed(name);
40
+ };
41
+ BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {
42
+ return this._bindingWhenSyntax.whenParentTagged(tag, value);
43
+ };
44
+ BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
45
+ return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);
46
+ };
47
+ BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {
48
+ return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);
49
+ };
50
+ BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {
51
+ return this._bindingWhenSyntax.whenAnyAncestorNamed(name);
52
+ };
53
+ BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
54
+ return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);
55
+ };
56
+ BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {
57
+ return this._bindingWhenSyntax.whenNoAncestorNamed(name);
58
+ };
59
+ BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
60
+ return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);
61
+ };
62
+ BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
63
+ return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);
64
+ };
65
+ BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {
66
+ return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);
67
+ };
68
+ BindingInWhenOnSyntax.prototype.onActivation = function (handler) {
69
+ return this._bindingOnSyntax.onActivation(handler);
70
+ };
71
+ BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) {
72
+ return this._bindingOnSyntax.onDeactivation(handler);
73
+ };
74
+ return BindingInWhenOnSyntax;
75
+ }());
76
+ exports.BindingInWhenOnSyntax = BindingInWhenOnSyntax;
@@ -1,8 +1,8 @@
1
- import { interfaces } from '../interfaces/interfaces';
2
- declare class BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {
3
- private _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
+ 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,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BindingOnSyntax = void 0;
4
- var binding_when_syntax_1 = require("./binding_when_syntax");
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingOnSyntax = void 0;
4
+ var binding_when_syntax_1 = require("./binding_when_syntax");
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;
@@ -1,18 +1,18 @@
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 _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: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void;
17
- }
18
- export { BindingToSyntax };
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 };