inversify 6.1.4-beta.1 → 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 +20 -2
  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,44 +15,54 @@ 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
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.plan = plan;
27
37
  exports.createMockRequest = createMockRequest;
28
38
  exports.getBindingDictionary = getBindingDictionary;
29
- var core_1 = require("@inversifyjs/core");
30
- var binding_count_1 = require("../bindings/binding_count");
31
- var ERROR_MSGS = __importStar(require("../constants/error_msgs"));
32
- var literal_types_1 = require("../constants/literal_types");
33
- var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
34
- var exceptions_1 = require("../utils/exceptions");
35
- var serialization_1 = require("../utils/serialization");
36
- var context_1 = require("./context");
37
- var metadata_1 = require("./metadata");
38
- var plan_1 = require("./plan");
39
- var reflection_utils_1 = require("./reflection_utils");
40
- var request_1 = require("./request");
39
+ const core_1 = require("@inversifyjs/core");
40
+ const binding_count_1 = require("../bindings/binding_count");
41
+ const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
42
+ const literal_types_1 = require("../constants/literal_types");
43
+ const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
44
+ const exceptions_1 = require("../utils/exceptions");
45
+ const serialization_1 = require("../utils/serialization");
46
+ const context_1 = require("./context");
47
+ const metadata_1 = require("./metadata");
48
+ const plan_1 = require("./plan");
49
+ const reflection_utils_1 = require("./reflection_utils");
50
+ const request_1 = require("./request");
41
51
  function getBindingDictionary(cntnr) {
42
52
  return cntnr._bindingDictionary;
43
53
  }
44
54
  function _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {
45
- var metadataList = _getTargetMetadata(isMultiInject, serviceIdentifier, key, value);
46
- var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
55
+ const metadataList = _getTargetMetadata(isMultiInject, serviceIdentifier, key, value);
56
+ const classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
47
57
  if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
48
58
  throw new Error('Unexpected metadata when creating target');
49
59
  }
50
- var target = new core_1.LegacyTargetImpl(name, classElementMetadata, targetType);
60
+ const target = new core_1.LegacyTargetImpl(name, classElementMetadata, targetType);
51
61
  return target;
52
62
  }
53
63
  function _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {
54
- var bindings = getBindings(context.container, target.serviceIdentifier);
55
- var activeBindings = [];
64
+ let bindings = getBindings(context.container, target.serviceIdentifier);
65
+ let activeBindings = [];
56
66
  if (bindings.length === binding_count_1.BindingCount.NoBindingsAvailable &&
57
67
  context.container.options.autoBindInjectable === true &&
58
68
  typeof target.serviceIdentifier === 'function' &&
@@ -62,8 +72,8 @@ function _getActiveBindings(metadataReader, avoidConstraints, context, parentReq
62
72
  bindings = getBindings(context.container, target.serviceIdentifier);
63
73
  }
64
74
  if (!avoidConstraints) {
65
- activeBindings = bindings.filter(function (binding) {
66
- var request = new request_1.Request(binding.serviceIdentifier, context, parentRequest, binding, target);
75
+ activeBindings = bindings.filter((binding) => {
76
+ const request = new request_1.Request(binding.serviceIdentifier, context, parentRequest, binding, target);
67
77
  return binding.constraint(request);
68
78
  });
69
79
  }
@@ -74,10 +84,10 @@ function _getActiveBindings(metadataReader, avoidConstraints, context, parentReq
74
84
  return activeBindings;
75
85
  }
76
86
  function _getTargetMetadata(isMultiInject, serviceIdentifier, key, value) {
77
- var metadataKey = isMultiInject
87
+ const metadataKey = isMultiInject
78
88
  ? METADATA_KEY.MULTI_INJECT_TAG
79
89
  : METADATA_KEY.INJECT_TAG;
80
- var metadataList = [
90
+ const metadataList = [
81
91
  new metadata_1.Metadata(metadataKey, serviceIdentifier),
82
92
  ];
83
93
  if (key !== undefined) {
@@ -92,12 +102,12 @@ function _validateActiveBindingCount(serviceIdentifier, bindings, parentRequest,
92
102
  return bindings;
93
103
  }
94
104
  else {
95
- var serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
96
- var msg = ERROR_MSGS.NOT_REGISTERED;
105
+ const serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
106
+ let msg = ERROR_MSGS.NOT_REGISTERED;
97
107
  msg += (0, serialization_1.listMetadataForTarget)(serviceIdentifierString, target);
98
108
  msg += (0, serialization_1.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings);
99
109
  if (parentRequest !== null) {
100
- msg += "\n".concat(ERROR_MSGS.TRYING_TO_RESOLVE_BINDINGS((0, serialization_1.getServiceIdentifierAsString)(parentRequest.serviceIdentifier)));
110
+ msg += `\n${ERROR_MSGS.TRYING_TO_RESOLVE_BINDINGS((0, serialization_1.getServiceIdentifierAsString)(parentRequest.serviceIdentifier))}`;
101
111
  }
102
112
  throw new Error(msg);
103
113
  }
@@ -106,8 +116,8 @@ function _validateActiveBindingCount(serviceIdentifier, bindings, parentRequest,
106
116
  case binding_count_1.BindingCount.MultipleBindingsAvailable:
107
117
  default:
108
118
  if (!target.isArray()) {
109
- var serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
110
- var msg = "".concat(ERROR_MSGS.AMBIGUOUS_MATCH, " ").concat(serviceIdentifierString);
119
+ const serviceIdentifierString = (0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier);
120
+ let msg = `${ERROR_MSGS.AMBIGUOUS_MATCH} ${serviceIdentifierString}`;
111
121
  msg += (0, serialization_1.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings);
112
122
  throw new Error(msg);
113
123
  }
@@ -117,20 +127,20 @@ function _validateActiveBindingCount(serviceIdentifier, bindings, parentRequest,
117
127
  }
118
128
  }
119
129
  function _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) {
120
- var activeBindings;
121
- var childRequest;
130
+ let activeBindings;
131
+ let childRequest;
122
132
  if (parentRequest === null) {
123
133
  activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);
124
134
  childRequest = new request_1.Request(serviceIdentifier, context, null, activeBindings, target);
125
- var thePlan = new plan_1.Plan(context, childRequest);
135
+ const thePlan = new plan_1.Plan(context, childRequest);
126
136
  context.addPlan(thePlan);
127
137
  }
128
138
  else {
129
139
  activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);
130
140
  childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);
131
141
  }
132
- activeBindings.forEach(function (binding) {
133
- var subChildRequest = null;
142
+ activeBindings.forEach((binding) => {
143
+ let subChildRequest = null;
134
144
  if (target.isArray()) {
135
145
  subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);
136
146
  }
@@ -142,23 +152,23 @@ function _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier,
142
152
  }
143
153
  if (binding.type === literal_types_1.BindingTypeEnum.Instance &&
144
154
  binding.implementationType !== null) {
145
- var dependencies = (0, reflection_utils_1.getDependencies)(metadataReader, binding.implementationType);
155
+ const dependencies = (0, reflection_utils_1.getDependencies)(metadataReader, binding.implementationType);
146
156
  if (context.container.options.skipBaseClassChecks !== true) {
147
- var baseClassDependencyCount = (0, reflection_utils_1.getBaseClassDependencyCount)(metadataReader, binding.implementationType);
157
+ const baseClassDependencyCount = (0, reflection_utils_1.getBaseClassDependencyCount)(metadataReader, binding.implementationType);
148
158
  if (dependencies.length < baseClassDependencyCount) {
149
- var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH((0, reflection_utils_1.getFunctionName)(binding.implementationType));
159
+ const error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH((0, reflection_utils_1.getFunctionName)(binding.implementationType));
150
160
  throw new Error(error);
151
161
  }
152
162
  }
153
- dependencies.forEach(function (dependency) {
163
+ dependencies.forEach((dependency) => {
154
164
  _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);
155
165
  });
156
166
  }
157
167
  });
158
168
  }
159
169
  function getBindings(container, serviceIdentifier) {
160
- var bindings = [];
161
- var bindingDictionary = getBindingDictionary(container);
170
+ let bindings = [];
171
+ const bindingDictionary = getBindingDictionary(container);
162
172
  if (bindingDictionary.hasKey(serviceIdentifier)) {
163
173
  bindings = bindingDictionary.get(serviceIdentifier);
164
174
  }
@@ -167,10 +177,9 @@ function getBindings(container, serviceIdentifier) {
167
177
  }
168
178
  return bindings;
169
179
  }
170
- function plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) {
171
- if (avoidConstraints === void 0) { avoidConstraints = false; }
172
- var context = new context_1.Context(container);
173
- var target = _createTarget(isMultiInject, targetType, serviceIdentifier, '', key, value);
180
+ function plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints = false) {
181
+ const context = new context_1.Context(container);
182
+ const target = _createTarget(isMultiInject, targetType, serviceIdentifier, '', key, value);
174
183
  try {
175
184
  _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);
176
185
  return context;
@@ -183,13 +192,13 @@ function plan(metadataReader, container, isMultiInject, targetType, serviceIdent
183
192
  }
184
193
  }
185
194
  function createMockRequest(container, serviceIdentifier, key, value) {
186
- var metadataList = _getTargetMetadata(false, serviceIdentifier, key, value);
187
- var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
195
+ const metadataList = _getTargetMetadata(false, serviceIdentifier, key, value);
196
+ const classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
188
197
  if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
189
198
  throw new Error('Unexpected metadata when creating target');
190
199
  }
191
- var target = new core_1.LegacyTargetImpl('', classElementMetadata, 'Variable');
192
- var context = new context_1.Context(container);
193
- var request = new request_1.Request(serviceIdentifier, context, null, [], target);
200
+ const target = new core_1.LegacyTargetImpl('', classElementMetadata, 'Variable');
201
+ const context = new context_1.Context(container);
202
+ const request = new request_1.Request(serviceIdentifier, context, null, [], target);
194
203
  return request;
195
204
  }
@@ -1,31 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryableString = void 0;
4
- var QueryableString = (function () {
5
- function QueryableString(str) {
4
+ class QueryableString {
5
+ str;
6
+ constructor(str) {
6
7
  this.str = str;
7
8
  }
8
- QueryableString.prototype.startsWith = function (searchString) {
9
+ startsWith(searchString) {
9
10
  return this.str.indexOf(searchString) === 0;
10
- };
11
- QueryableString.prototype.endsWith = function (searchString) {
12
- var reverseString = '';
13
- var reverseSearchString = searchString
11
+ }
12
+ endsWith(searchString) {
13
+ let reverseString = '';
14
+ const reverseSearchString = searchString
14
15
  .split('')
15
16
  .reverse()
16
17
  .join('');
17
18
  reverseString = this.str.split('').reverse().join('');
18
19
  return this.startsWith.call({ str: reverseString }, reverseSearchString);
19
- };
20
- QueryableString.prototype.contains = function (searchString) {
20
+ }
21
+ contains(searchString) {
21
22
  return this.str.indexOf(searchString) !== -1;
22
- };
23
- QueryableString.prototype.equals = function (compareString) {
23
+ }
24
+ equals(compareString) {
24
25
  return this.str === compareString;
25
- };
26
- QueryableString.prototype.value = function () {
26
+ }
27
+ value() {
27
28
  return this.str;
28
- };
29
- return QueryableString;
30
- }());
29
+ }
30
+ }
31
31
  exports.QueryableString = QueryableString;
@@ -15,33 +15,41 @@ 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
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.getFunctionName = void 0;
27
37
  exports.getDependencies = getDependencies;
28
38
  exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
29
- var core_1 = require("@inversifyjs/core");
30
- var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
31
- var serialization_1 = require("../utils/serialization");
39
+ const core_1 = require("@inversifyjs/core");
40
+ const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
41
+ const serialization_1 = require("../utils/serialization");
32
42
  Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
33
43
  function getDependencies(metadataReader, func) {
34
44
  return (0, core_1.getTargets)(metadataReader)(func);
35
45
  }
36
46
  function getBaseClassDependencyCount(metadataReader, func) {
37
- var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
47
+ const baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
38
48
  if (baseConstructor !== Object) {
39
- var targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
40
- var metadata = targets.map(function (t) {
41
- return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; });
42
- });
43
- var unmanagedCount = [].concat.apply([], metadata).length;
44
- var dependencyCount = targets.length - unmanagedCount;
49
+ const targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
50
+ const metadata = targets.map((t) => t.metadata.filter((m) => m.key === METADATA_KEY.UNMANAGED_TAG));
51
+ const unmanagedCount = [].concat.apply([], metadata).length;
52
+ const dependencyCount = targets.length - unmanagedCount;
45
53
  if (dependencyCount > 0) {
46
54
  return dependencyCount;
47
55
  }
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Request = void 0;
4
- var id_1 = require("../utils/id");
5
- var Request = (function () {
6
- function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
4
+ const id_1 = require("../utils/id");
5
+ class Request {
6
+ id;
7
+ serviceIdentifier;
8
+ parentContext;
9
+ parentRequest;
10
+ bindings;
11
+ childRequests;
12
+ target;
13
+ requestScope;
14
+ constructor(serviceIdentifier, parentContext, parentRequest, bindings, target) {
7
15
  this.id = (0, id_1.id)();
8
16
  this.serviceIdentifier = serviceIdentifier;
9
17
  this.parentContext = parentContext;
@@ -13,11 +21,10 @@ var Request = (function () {
13
21
  this.bindings = Array.isArray(bindings) ? bindings : [bindings];
14
22
  this.requestScope = parentRequest === null ? new Map() : null;
15
23
  }
16
- Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
17
- var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
24
+ addChildRequest(serviceIdentifier, bindings, target) {
25
+ const child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
18
26
  this.childRequests.push(child);
19
27
  return child;
20
- };
21
- return Request;
22
- }());
28
+ }
29
+ }
23
30
  exports.Request = Request;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,68 +15,33 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
26
15
  }) : function(o, v) {
27
16
  o["default"] = v;
28
17
  });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- 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);
47
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
72
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
73
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
74
- if (ar || !(i in from)) {
75
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
76
- ar[i] = from[i];
77
- }
78
- }
79
- return to.concat(ar || Array.prototype.slice.call(from));
80
- };
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
+ })();
81
35
  Object.defineProperty(exports, "__esModule", { value: true });
82
36
  exports.resolveInstance = resolveInstance;
83
- var error_msgs_1 = require("../constants/error_msgs");
84
- var literal_types_1 = require("../constants/literal_types");
85
- var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
86
- var async_1 = require("../utils/async");
37
+ const error_msgs_1 = require("../constants/error_msgs");
38
+ const literal_types_1 = require("../constants/literal_types");
39
+ const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
40
+ const async_1 = require("../utils/async");
87
41
  function _resolveRequests(childRequests, resolveRequest) {
88
- return childRequests.reduce(function (resolvedRequests, childRequest) {
89
- var injection = resolveRequest(childRequest);
90
- var targetType = childRequest.target.type;
42
+ return childRequests.reduce((resolvedRequests, childRequest) => {
43
+ const injection = resolveRequest(childRequest);
44
+ const targetType = childRequest.target.type;
91
45
  if (targetType === literal_types_1.TargetTypeEnum.ConstructorArgument) {
92
46
  resolvedRequests.constructorInjections.push(injection);
93
47
  }
@@ -107,10 +61,13 @@ function _resolveRequests(childRequests, resolveRequest) {
107
61
  });
108
62
  }
109
63
  function _createInstance(constr, childRequests, resolveRequest) {
110
- var result;
64
+ let result;
111
65
  if (childRequests.length > 0) {
112
- var resolved = _resolveRequests(childRequests, resolveRequest);
113
- var createInstanceWithInjectionsArg = __assign(__assign({}, resolved), { constr: constr });
66
+ const resolved = _resolveRequests(childRequests, resolveRequest);
67
+ const createInstanceWithInjectionsArg = {
68
+ ...resolved,
69
+ constr,
70
+ };
114
71
  if (resolved.isAsync) {
115
72
  result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);
116
73
  }
@@ -124,66 +81,51 @@ function _createInstance(constr, childRequests, resolveRequest) {
124
81
  return result;
125
82
  }
126
83
  function createInstanceWithInjections(args) {
127
- var _a;
128
- var instance = new ((_a = args.constr).bind.apply(_a, __spreadArray([void 0], args.constructorInjections, false)))();
129
- args.propertyRequests.forEach(function (r, index) {
130
- var property = r.target.identifier;
131
- var injection = args.propertyInjections[index];
84
+ const instance = new args.constr(...args.constructorInjections);
85
+ args.propertyRequests.forEach((r, index) => {
86
+ const property = r.target.identifier;
87
+ const injection = args.propertyInjections[index];
132
88
  if (!r.target.isOptional() || injection !== undefined) {
133
89
  instance[property] = injection;
134
90
  }
135
91
  });
136
92
  return instance;
137
93
  }
138
- function createInstanceWithInjectionsAsync(args) {
139
- return __awaiter(this, void 0, void 0, function () {
140
- var constructorInjections, propertyInjections;
141
- return __generator(this, function (_a) {
142
- switch (_a.label) {
143
- case 0: return [4, possiblyWaitInjections(args.constructorInjections)];
144
- case 1:
145
- constructorInjections = _a.sent();
146
- return [4, possiblyWaitInjections(args.propertyInjections)];
147
- case 2:
148
- propertyInjections = _a.sent();
149
- return [2, createInstanceWithInjections(__assign(__assign({}, args), { constructorInjections: constructorInjections, propertyInjections: propertyInjections }))];
150
- }
151
- });
94
+ async function createInstanceWithInjectionsAsync(args) {
95
+ const constructorInjections = await possiblyWaitInjections(args.constructorInjections);
96
+ const propertyInjections = await possiblyWaitInjections(args.propertyInjections);
97
+ return createInstanceWithInjections({
98
+ ...args,
99
+ constructorInjections,
100
+ propertyInjections,
152
101
  });
153
102
  }
154
- function possiblyWaitInjections(possiblePromiseinjections) {
155
- return __awaiter(this, void 0, void 0, function () {
156
- var injections, _i, possiblePromiseinjections_1, injection;
157
- return __generator(this, function (_a) {
158
- injections = [];
159
- for (_i = 0, possiblePromiseinjections_1 = possiblePromiseinjections; _i < possiblePromiseinjections_1.length; _i++) {
160
- injection = possiblePromiseinjections_1[_i];
161
- if (Array.isArray(injection)) {
162
- injections.push(Promise.all(injection));
163
- }
164
- else {
165
- injections.push(injection);
166
- }
167
- }
168
- return [2, Promise.all(injections)];
169
- });
170
- });
103
+ async function possiblyWaitInjections(possiblePromiseinjections) {
104
+ const injections = [];
105
+ for (const injection of possiblePromiseinjections) {
106
+ if (Array.isArray(injection)) {
107
+ injections.push(Promise.all(injection));
108
+ }
109
+ else {
110
+ injections.push(injection);
111
+ }
112
+ }
113
+ return Promise.all(injections);
171
114
  }
172
115
  function _getInstanceAfterPostConstruct(constr, result) {
173
- var postConstructResult = _postConstruct(constr, result);
116
+ const postConstructResult = _postConstruct(constr, result);
174
117
  if ((0, async_1.isPromise)(postConstructResult)) {
175
- return postConstructResult.then(function () { return result; });
118
+ return postConstructResult.then(() => result);
176
119
  }
177
120
  else {
178
121
  return result;
179
122
  }
180
123
  }
181
124
  function _postConstruct(constr, instance) {
182
- var _a, _b;
183
125
  if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
184
- var data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);
126
+ const data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);
185
127
  try {
186
- return (_b = (_a = instance)[data.value]) === null || _b === void 0 ? void 0 : _b.call(_a);
128
+ return instance[data.value]?.();
187
129
  }
188
130
  catch (e) {
189
131
  if (e instanceof Error) {
@@ -198,7 +140,7 @@ function _validateInstanceResolution(binding, constr) {
198
140
  }
199
141
  }
200
142
  function _throwIfHandlingDeactivation(binding, constr) {
201
- var scopeErrorMessage = "Class cannot be instantiated in ".concat(binding.scope === literal_types_1.BindingScopeEnum.Request ? 'request' : 'transient', " scope.");
143
+ const scopeErrorMessage = `Class cannot be instantiated in ${binding.scope === literal_types_1.BindingScopeEnum.Request ? 'request' : 'transient'} scope.`;
202
144
  if (typeof binding.onDeactivation === 'function') {
203
145
  throw new Error((0, error_msgs_1.ON_DEACTIVATION_ERROR)(constr.name, scopeErrorMessage));
204
146
  }
@@ -208,11 +150,9 @@ function _throwIfHandlingDeactivation(binding, constr) {
208
150
  }
209
151
  function resolveInstance(binding, constr, childRequests, resolveRequest) {
210
152
  _validateInstanceResolution(binding, constr);
211
- var result = _createInstance(constr, childRequests, resolveRequest);
153
+ const result = _createInstance(constr, childRequests, resolveRequest);
212
154
  if ((0, async_1.isPromise)(result)) {
213
- return result.then(function (resolvedResult) {
214
- return _getInstanceAfterPostConstruct(constr, resolvedResult);
215
- });
155
+ return result.then((resolvedResult) => _getInstanceAfterPostConstruct(constr, resolvedResult));
216
156
  }
217
157
  else {
218
158
  return _getInstanceAfterPostConstruct(constr, result);