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
@@ -15,95 +15,63 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- 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);
36
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- 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;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
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
+ })();
61
35
  Object.defineProperty(exports, "__esModule", { value: true });
62
36
  exports.resolve = resolve;
63
- var ERROR_MSGS = __importStar(require("../constants/error_msgs"));
64
- var literal_types_1 = require("../constants/literal_types");
65
- var planner_1 = require("../planning/planner");
66
- var scope_1 = require("../scope/scope");
67
- var async_1 = require("../utils/async");
68
- var binding_utils_1 = require("../utils/binding_utils");
69
- var exceptions_1 = require("../utils/exceptions");
70
- var instantiation_1 = require("./instantiation");
71
- var _resolveRequest = function (requestScope) {
72
- return function (request) {
73
- request.parentContext.setCurrentRequest(request);
74
- var bindings = request.bindings;
75
- var childRequests = request.childRequests;
76
- var targetIsAnArray = request.target && request.target.isArray();
77
- var targetParentIsNotAnArray = !request.parentRequest ||
78
- !request.parentRequest.target ||
79
- !request.target ||
80
- !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);
81
- if (targetIsAnArray && targetParentIsNotAnArray) {
82
- return childRequests.map(function (childRequest) {
83
- var resolveRequest = _resolveRequest(requestScope);
84
- return resolveRequest(childRequest);
85
- });
86
- }
87
- else {
88
- if (request.target.isOptional() && bindings.length === 0) {
89
- return undefined;
90
- }
91
- var binding = bindings[0];
92
- return _resolveBinding(requestScope, request, binding);
37
+ const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
38
+ const literal_types_1 = require("../constants/literal_types");
39
+ const planner_1 = require("../planning/planner");
40
+ const scope_1 = require("../scope/scope");
41
+ const async_1 = require("../utils/async");
42
+ const binding_utils_1 = require("../utils/binding_utils");
43
+ const exceptions_1 = require("../utils/exceptions");
44
+ const instantiation_1 = require("./instantiation");
45
+ const _resolveRequest = (requestScope) => (request) => {
46
+ request.parentContext.setCurrentRequest(request);
47
+ const bindings = request.bindings;
48
+ const childRequests = request.childRequests;
49
+ const targetIsAnArray = request.target && request.target.isArray();
50
+ const targetParentIsNotAnArray = !request.parentRequest ||
51
+ !request.parentRequest.target ||
52
+ !request.target ||
53
+ !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);
54
+ if (targetIsAnArray && targetParentIsNotAnArray) {
55
+ return childRequests.map((childRequest) => {
56
+ const resolveRequest = _resolveRequest(requestScope);
57
+ return resolveRequest(childRequest);
58
+ });
59
+ }
60
+ else {
61
+ if (request.target.isOptional() && bindings.length === 0) {
62
+ return undefined;
93
63
  }
94
- };
64
+ const binding = bindings[0];
65
+ return _resolveBinding(requestScope, request, binding);
66
+ }
95
67
  };
96
- var _resolveFactoryFromBinding = function (binding, context) {
97
- var factoryDetails = (0, binding_utils_1.getFactoryDetails)(binding);
98
- return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(function () {
99
- return factoryDetails.factory.bind(binding)(context);
100
- }, function () {
101
- return new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString()));
102
- });
68
+ const _resolveFactoryFromBinding = (binding, context) => {
69
+ const factoryDetails = (0, binding_utils_1.getFactoryDetails)(binding);
70
+ return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(() => factoryDetails.factory.bind(binding)(context), () => new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())));
103
71
  };
104
- var _getResolvedFromBinding = function (requestScope, request, binding) {
105
- var result;
106
- var childRequests = request.childRequests;
72
+ const _getResolvedFromBinding = (requestScope, request, binding) => {
73
+ let result;
74
+ const childRequests = request.childRequests;
107
75
  (0, binding_utils_1.ensureFullyBound)(binding);
108
76
  switch (binding.type) {
109
77
  case literal_types_1.BindingTypeEnum.ConstantValue:
@@ -121,8 +89,8 @@ var _getResolvedFromBinding = function (requestScope, request, binding) {
121
89
  }
122
90
  return result;
123
91
  };
124
- var _resolveInScope = function (requestScope, binding, resolveFromBinding) {
125
- var result = (0, scope_1.tryGetFromScope)(requestScope, binding);
92
+ const _resolveInScope = (requestScope, binding, resolveFromBinding) => {
93
+ let result = (0, scope_1.tryGetFromScope)(requestScope, binding);
126
94
  if (result !== null) {
127
95
  return result;
128
96
  }
@@ -130,13 +98,11 @@ var _resolveInScope = function (requestScope, binding, resolveFromBinding) {
130
98
  (0, scope_1.saveToScope)(requestScope, binding, result);
131
99
  return result;
132
100
  };
133
- var _resolveBinding = function (requestScope, request, binding) {
134
- return _resolveInScope(requestScope, binding, function () {
135
- var result = _getResolvedFromBinding(requestScope, request, binding);
101
+ const _resolveBinding = (requestScope, request, binding) => {
102
+ return _resolveInScope(requestScope, binding, () => {
103
+ let result = _getResolvedFromBinding(requestScope, request, binding);
136
104
  if ((0, async_1.isPromise)(result)) {
137
- result = result.then(function (resolved) {
138
- return _onActivation(request, binding, resolved);
139
- });
105
+ result = result.then((resolved) => _onActivation(request, binding, resolved));
140
106
  }
141
107
  else {
142
108
  result = _onActivation(request, binding, result);
@@ -145,28 +111,28 @@ var _resolveBinding = function (requestScope, request, binding) {
145
111
  });
146
112
  };
147
113
  function _onActivation(request, binding, resolved) {
148
- var result = _bindingActivation(request.parentContext, binding, resolved);
149
- var containersIterator = _getContainersIterator(request.parentContext.container);
150
- var container;
151
- var containersIteratorResult = containersIterator.next();
114
+ let result = _bindingActivation(request.parentContext, binding, resolved);
115
+ const containersIterator = _getContainersIterator(request.parentContext.container);
116
+ let container;
117
+ let containersIteratorResult = containersIterator.next();
152
118
  do {
153
119
  container = containersIteratorResult.value;
154
- var context_1 = request.parentContext;
155
- var serviceIdentifier = request.serviceIdentifier;
156
- var activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);
120
+ const context = request.parentContext;
121
+ const serviceIdentifier = request.serviceIdentifier;
122
+ const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);
157
123
  if ((0, async_1.isPromise)(result)) {
158
- result = _activateContainerAsync(activationsIterator, context_1, result);
124
+ result = _activateContainerAsync(activationsIterator, context, result);
159
125
  }
160
126
  else {
161
- result = _activateContainer(activationsIterator, context_1, result);
127
+ result = _activateContainer(activationsIterator, context, result);
162
128
  }
163
129
  containersIteratorResult = containersIterator.next();
164
130
  } while (containersIteratorResult.done !== true &&
165
131
  !(0, planner_1.getBindingDictionary)(container).hasKey(request.serviceIdentifier));
166
132
  return result;
167
133
  }
168
- var _bindingActivation = function (context, binding, previousResult) {
169
- var result;
134
+ const _bindingActivation = (context, binding, previousResult) => {
135
+ let result;
170
136
  if (typeof binding.onActivation === 'function') {
171
137
  result = binding.onActivation(context, previousResult);
172
138
  }
@@ -175,8 +141,8 @@ var _bindingActivation = function (context, binding, previousResult) {
175
141
  }
176
142
  return result;
177
143
  };
178
- var _activateContainer = function (activationsIterator, context, result) {
179
- var activation = activationsIterator.next();
144
+ const _activateContainer = (activationsIterator, context, result) => {
145
+ let activation = activationsIterator.next();
180
146
  while (activation.done !== true) {
181
147
  result = activation.value(context, result);
182
148
  if ((0, async_1.isPromise)(result)) {
@@ -186,41 +152,30 @@ var _activateContainer = function (activationsIterator, context, result) {
186
152
  }
187
153
  return result;
188
154
  };
189
- var _activateContainerAsync = function (activationsIterator, context, resultPromise) { return __awaiter(void 0, void 0, void 0, function () {
190
- var result, activation;
191
- return __generator(this, function (_a) {
192
- switch (_a.label) {
193
- case 0: return [4, resultPromise];
194
- case 1:
195
- result = _a.sent();
196
- activation = activationsIterator.next();
197
- _a.label = 2;
198
- case 2:
199
- if (!(activation.done !== true)) return [3, 4];
200
- return [4, activation.value(context, result)];
201
- case 3:
202
- result = _a.sent();
203
- activation = activationsIterator.next();
204
- return [3, 2];
205
- case 4: return [2, result];
206
- }
207
- });
208
- }); };
209
- var _getContainerActivationsForService = function (container, serviceIdentifier) {
210
- var activations = container._activations;
155
+ const _activateContainerAsync = async (activationsIterator, context, resultPromise) => {
156
+ let result = await resultPromise;
157
+ let activation = activationsIterator.next();
158
+ while (activation.done !== true) {
159
+ result = await activation.value(context, result);
160
+ activation = activationsIterator.next();
161
+ }
162
+ return result;
163
+ };
164
+ const _getContainerActivationsForService = (container, serviceIdentifier) => {
165
+ const activations = container._activations;
211
166
  return activations.hasKey(serviceIdentifier)
212
167
  ? activations.get(serviceIdentifier).values()
213
168
  : [].values();
214
169
  };
215
- var _getContainersIterator = function (container) {
216
- var containersStack = [container];
217
- var parent = container.parent;
170
+ const _getContainersIterator = (container) => {
171
+ const containersStack = [container];
172
+ let parent = container.parent;
218
173
  while (parent !== null) {
219
174
  containersStack.push(parent);
220
175
  parent = parent.parent;
221
176
  }
222
- var getNextContainer = function () {
223
- var nextContainer = containersStack.pop();
177
+ const getNextContainer = () => {
178
+ const nextContainer = containersStack.pop();
224
179
  if (nextContainer !== undefined) {
225
180
  return { done: false, value: nextContainer };
226
181
  }
@@ -228,12 +183,12 @@ var _getContainersIterator = function (container) {
228
183
  return { done: true, value: undefined };
229
184
  }
230
185
  };
231
- var containersIterator = {
186
+ const containersIterator = {
232
187
  next: getNextContainer,
233
188
  };
234
189
  return containersIterator;
235
190
  };
236
191
  function resolve(context) {
237
- var resolveRequestFunction = _resolveRequest(context.plan.rootRequest.requestScope);
192
+ const resolveRequestFunction = _resolveRequest(context.plan.rootRequest.requestScope);
238
193
  return resolveRequestFunction(context.plan.rootRequest);
239
194
  }
@@ -1,45 +1,9 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  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) {
4
+ const literal_types_1 = require("../constants/literal_types");
5
+ const async_1 = require("../utils/async");
6
+ const tryGetFromScope = (requestScope, binding) => {
43
7
  if (binding.scope === literal_types_1.BindingScopeEnum.Singleton && binding.activated) {
44
8
  return binding.cache;
45
9
  }
@@ -50,7 +14,7 @@ var tryGetFromScope = function (requestScope, binding) {
50
14
  return null;
51
15
  };
52
16
  exports.tryGetFromScope = tryGetFromScope;
53
- var saveToScope = function (requestScope, binding, result) {
17
+ const saveToScope = (requestScope, binding, result) => {
54
18
  if (binding.scope === literal_types_1.BindingScopeEnum.Singleton) {
55
19
  _saveToSingletonScope(binding, result);
56
20
  }
@@ -59,35 +23,26 @@ var saveToScope = function (requestScope, binding, result) {
59
23
  }
60
24
  };
61
25
  exports.saveToScope = saveToScope;
62
- var _saveToRequestScope = function (requestScope, binding, result) {
26
+ const _saveToRequestScope = (requestScope, binding, result) => {
63
27
  if (!requestScope.has(binding.id)) {
64
28
  requestScope.set(binding.id, result);
65
29
  }
66
30
  };
67
- var _saveToSingletonScope = function (binding, result) {
31
+ const _saveToSingletonScope = (binding, result) => {
68
32
  binding.cache = result;
69
33
  binding.activated = true;
70
34
  if ((0, async_1.isPromise)(result)) {
71
35
  void _saveAsyncResultToSingletonScope(binding, result);
72
36
  }
73
37
  };
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
- }); };
38
+ const _saveAsyncResultToSingletonScope = async (binding, asyncResult) => {
39
+ try {
40
+ const result = await asyncResult;
41
+ binding.cache = result;
42
+ }
43
+ catch (ex) {
44
+ binding.cache = null;
45
+ binding.activated = false;
46
+ throw ex;
47
+ }
48
+ };
@@ -1,24 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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) {
4
+ const literal_types_1 = require("../constants/literal_types");
5
+ const binding_when_on_syntax_1 = require("./binding_when_on_syntax");
6
+ class BindingInSyntax {
7
+ _binding;
8
+ constructor(binding) {
8
9
  this._binding = binding;
9
10
  }
10
- BindingInSyntax.prototype.inRequestScope = function () {
11
+ inRequestScope() {
11
12
  this._binding.scope = literal_types_1.BindingScopeEnum.Request;
12
13
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
13
- };
14
- BindingInSyntax.prototype.inSingletonScope = function () {
14
+ }
15
+ inSingletonScope() {
15
16
  this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
16
17
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
17
- };
18
- BindingInSyntax.prototype.inTransientScope = function () {
18
+ }
19
+ inTransientScope() {
19
20
  this._binding.scope = literal_types_1.BindingScopeEnum.Transient;
20
21
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
21
- };
22
- return BindingInSyntax;
23
- }());
22
+ }
23
+ }
24
24
  exports.BindingInSyntax = BindingInSyntax;
@@ -1,76 +1,79 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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) {
4
+ const binding_in_syntax_1 = require("./binding_in_syntax");
5
+ const binding_on_syntax_1 = require("./binding_on_syntax");
6
+ const binding_when_syntax_1 = require("./binding_when_syntax");
7
+ class BindingInWhenOnSyntax {
8
+ _bindingInSyntax;
9
+ _bindingWhenSyntax;
10
+ _bindingOnSyntax;
11
+ _binding;
12
+ constructor(binding) {
9
13
  this._binding = binding;
10
14
  this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
11
15
  this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);
12
16
  this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);
13
17
  }
14
- BindingInWhenOnSyntax.prototype.inRequestScope = function () {
18
+ inRequestScope() {
15
19
  return this._bindingInSyntax.inRequestScope();
16
- };
17
- BindingInWhenOnSyntax.prototype.inSingletonScope = function () {
20
+ }
21
+ inSingletonScope() {
18
22
  return this._bindingInSyntax.inSingletonScope();
19
- };
20
- BindingInWhenOnSyntax.prototype.inTransientScope = function () {
23
+ }
24
+ inTransientScope() {
21
25
  return this._bindingInSyntax.inTransientScope();
22
- };
23
- BindingInWhenOnSyntax.prototype.when = function (constraint) {
26
+ }
27
+ when(constraint) {
24
28
  return this._bindingWhenSyntax.when(constraint);
25
- };
26
- BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {
29
+ }
30
+ whenTargetNamed(name) {
27
31
  return this._bindingWhenSyntax.whenTargetNamed(name);
28
- };
29
- BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {
32
+ }
33
+ whenTargetIsDefault() {
30
34
  return this._bindingWhenSyntax.whenTargetIsDefault();
31
- };
32
- BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {
35
+ }
36
+ whenTargetTagged(tag, value) {
33
37
  return this._bindingWhenSyntax.whenTargetTagged(tag, value);
34
- };
35
- BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {
38
+ }
39
+ whenInjectedInto(parent) {
36
40
  return this._bindingWhenSyntax.whenInjectedInto(parent);
37
- };
38
- BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {
41
+ }
42
+ whenParentNamed(name) {
39
43
  return this._bindingWhenSyntax.whenParentNamed(name);
40
- };
41
- BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {
44
+ }
45
+ whenParentTagged(tag, value) {
42
46
  return this._bindingWhenSyntax.whenParentTagged(tag, value);
43
- };
44
- BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {
47
+ }
48
+ whenAnyAncestorIs(ancestor) {
45
49
  return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);
46
- };
47
- BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {
50
+ }
51
+ whenNoAncestorIs(ancestor) {
48
52
  return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);
49
- };
50
- BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {
53
+ }
54
+ whenAnyAncestorNamed(name) {
51
55
  return this._bindingWhenSyntax.whenAnyAncestorNamed(name);
52
- };
53
- BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
56
+ }
57
+ whenAnyAncestorTagged(tag, value) {
54
58
  return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);
55
- };
56
- BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {
59
+ }
60
+ whenNoAncestorNamed(name) {
57
61
  return this._bindingWhenSyntax.whenNoAncestorNamed(name);
58
- };
59
- BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
62
+ }
63
+ whenNoAncestorTagged(tag, value) {
60
64
  return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);
61
- };
62
- BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
65
+ }
66
+ whenAnyAncestorMatches(constraint) {
63
67
  return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);
64
- };
65
- BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {
68
+ }
69
+ whenNoAncestorMatches(constraint) {
66
70
  return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);
67
- };
68
- BindingInWhenOnSyntax.prototype.onActivation = function (handler) {
71
+ }
72
+ onActivation(handler) {
69
73
  return this._bindingOnSyntax.onActivation(handler);
70
- };
71
- BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) {
74
+ }
75
+ onDeactivation(handler) {
72
76
  return this._bindingOnSyntax.onDeactivation(handler);
73
- };
74
- return BindingInWhenOnSyntax;
75
- }());
77
+ }
78
+ }
76
79
  exports.BindingInWhenOnSyntax = BindingInWhenOnSyntax;
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BindingOnSyntax = void 0;
4
- var binding_when_syntax_1 = require("./binding_when_syntax");
5
- var BindingOnSyntax = (function () {
6
- function BindingOnSyntax(binding) {
4
+ const binding_when_syntax_1 = require("./binding_when_syntax");
5
+ class BindingOnSyntax {
6
+ _binding;
7
+ constructor(binding) {
7
8
  this._binding = binding;
8
9
  }
9
- BindingOnSyntax.prototype.onActivation = function (handler) {
10
+ onActivation(handler) {
10
11
  this._binding.onActivation = handler;
11
12
  return new binding_when_syntax_1.BindingWhenSyntax(this._binding);
12
- };
13
- BindingOnSyntax.prototype.onDeactivation = function (handler) {
13
+ }
14
+ onDeactivation(handler) {
14
15
  this._binding.onDeactivation = handler;
15
16
  return new binding_when_syntax_1.BindingWhenSyntax(this._binding);
16
- };
17
- return BindingOnSyntax;
18
- }());
17
+ }
18
+ }
19
19
  exports.BindingOnSyntax = BindingOnSyntax;