inversify 6.0.3 → 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 (150) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +14 -14
  3. package/amd/annotation/decorator_utils.js +3 -1
  4. package/amd/annotation/inject_base.js +1 -1
  5. package/amd/annotation/lazy_service_identifier.js +0 -11
  6. package/amd/bindings/binding.js +3 -2
  7. package/amd/bindings/binding_count.js +6 -5
  8. package/amd/constants/error_msgs.js +18 -18
  9. package/amd/constants/literal_types.js +3 -3
  10. package/amd/container/container.js +73 -34
  11. package/amd/container/lookup.js +15 -14
  12. package/amd/container/module_activation_store.js +8 -10
  13. package/amd/interfaces/interfaces.js +0 -5
  14. package/amd/inversify.js +3 -5
  15. package/amd/planning/metadata_reader.js +5 -3
  16. package/amd/planning/planner.js +31 -13
  17. package/amd/planning/queryable_string.js +5 -2
  18. package/amd/planning/reflection_utils.js +6 -112
  19. package/amd/planning/request.js +2 -4
  20. package/amd/planning/target.js +9 -3
  21. package/amd/resolution/instantiation.js +10 -5
  22. package/amd/resolution/resolver.js +19 -10
  23. package/amd/scope/scope.js +1 -1
  24. package/amd/syntax/binding_to_syntax.js +14 -7
  25. package/amd/syntax/binding_when_syntax.js +13 -8
  26. package/amd/syntax/constraint_helpers.js +4 -3
  27. package/amd/utils/async.js +3 -2
  28. package/amd/utils/binding_utils.js +8 -3
  29. package/amd/utils/clonable.js +4 -4
  30. package/amd/utils/exceptions.js +1 -1
  31. package/amd/utils/serialization.js +11 -8
  32. package/es/annotation/decorator_utils.js +3 -1
  33. package/es/annotation/inject_base.js +1 -1
  34. package/es/annotation/lazy_service_identifier.js +1 -10
  35. package/es/annotation/target_name.js +3 -3
  36. package/es/bindings/binding.js +3 -2
  37. package/es/bindings/binding_count.js +6 -5
  38. package/es/constants/error_msgs.js +17 -17
  39. package/es/constants/literal_types.js +3 -3
  40. package/es/container/container.js +74 -35
  41. package/es/container/lookup.js +15 -14
  42. package/es/container/module_activation_store.js +8 -10
  43. package/es/interfaces/interfaces.js +1 -5
  44. package/es/inversify.js +4 -6
  45. package/es/planning/metadata_reader.js +5 -3
  46. package/es/planning/planner.js +34 -16
  47. package/es/planning/queryable_string.js +5 -2
  48. package/es/planning/reflection_utils.js +6 -114
  49. package/es/planning/request.js +2 -4
  50. package/es/planning/target.js +9 -3
  51. package/es/resolution/instantiation.js +11 -6
  52. package/es/resolution/resolver.js +20 -11
  53. package/es/scope/scope.js +1 -1
  54. package/es/syntax/binding_to_syntax.js +18 -11
  55. package/es/syntax/binding_when_syntax.js +14 -9
  56. package/es/syntax/constraint_helpers.js +5 -4
  57. package/es/utils/async.js +3 -2
  58. package/es/utils/binding_utils.js +8 -3
  59. package/es/utils/clonable.js +4 -4
  60. package/es/utils/exceptions.js +1 -1
  61. package/es/utils/serialization.js +12 -9
  62. package/es6/annotation/decorator_utils.js +5 -3
  63. package/es6/annotation/inject_base.js +1 -1
  64. package/es6/annotation/lazy_service_identifier.js +0 -10
  65. package/es6/bindings/binding.js +3 -2
  66. package/es6/bindings/binding_count.js +6 -5
  67. package/es6/constants/error_msgs.js +5 -9
  68. package/es6/constants/literal_types.js +3 -3
  69. package/es6/container/container.js +59 -42
  70. package/es6/container/lookup.js +15 -14
  71. package/es6/container/module_activation_store.js +8 -10
  72. package/es6/interfaces/interfaces.js +0 -5
  73. package/es6/inversify.js +3 -7
  74. package/es6/planning/metadata_reader.js +5 -3
  75. package/es6/planning/planner.js +31 -13
  76. package/es6/planning/queryable_string.js +5 -2
  77. package/es6/planning/reflection_utils.js +4 -110
  78. package/es6/planning/request.js +2 -4
  79. package/es6/planning/target.js +3 -1
  80. package/es6/resolution/instantiation.js +9 -5
  81. package/es6/resolution/resolver.js +11 -8
  82. package/es6/scope/scope.js +1 -1
  83. package/es6/syntax/binding_to_syntax.js +5 -4
  84. package/es6/syntax/binding_when_syntax.js +13 -8
  85. package/es6/syntax/constraint_helpers.js +4 -3
  86. package/es6/utils/async.js +3 -2
  87. package/es6/utils/binding_utils.js +10 -3
  88. package/es6/utils/clonable.js +4 -4
  89. package/es6/utils/exceptions.js +1 -1
  90. package/es6/utils/serialization.js +11 -8
  91. package/lib/annotation/decorator_utils.d.ts +2 -2
  92. package/lib/annotation/decorator_utils.js +3 -1
  93. package/lib/annotation/inject.d.ts +4 -1
  94. package/lib/annotation/inject_base.d.ts +3 -2
  95. package/lib/annotation/inject_base.js +1 -1
  96. package/lib/annotation/lazy_service_identifier.d.ts +1 -5
  97. package/lib/annotation/lazy_service_identifier.js +0 -11
  98. package/lib/annotation/multi_inject.d.ts +4 -1
  99. package/lib/annotation/tagged.d.ts +1 -1
  100. package/lib/annotation/target_name.d.ts +1 -1
  101. package/lib/bindings/binding.js +3 -2
  102. package/lib/bindings/binding_count.d.ts +5 -5
  103. package/lib/bindings/binding_count.js +6 -5
  104. package/lib/constants/error_msgs.d.ts +18 -20
  105. package/lib/constants/error_msgs.js +18 -18
  106. package/lib/constants/literal_types.js +3 -3
  107. package/lib/constants/metadata_keys.d.ts +12 -12
  108. package/lib/container/container.d.ts +2 -2
  109. package/lib/container/container.js +73 -34
  110. package/lib/container/lookup.d.ts +2 -1
  111. package/lib/container/lookup.js +15 -14
  112. package/lib/container/module_activation_store.d.ts +1 -1
  113. package/lib/container/module_activation_store.js +8 -10
  114. package/lib/interfaces/interfaces.d.ts +14 -29
  115. package/lib/interfaces/interfaces.js +0 -5
  116. package/lib/inversify.d.ts +5 -6
  117. package/lib/inversify.js +3 -7
  118. package/lib/planning/metadata_reader.js +5 -3
  119. package/lib/planning/planner.js +31 -13
  120. package/lib/planning/queryable_string.d.ts +2 -3
  121. package/lib/planning/queryable_string.js +5 -2
  122. package/lib/planning/reflection_utils.js +6 -114
  123. package/lib/planning/request.d.ts +2 -2
  124. package/lib/planning/request.js +2 -4
  125. package/lib/planning/target.d.ts +1 -1
  126. package/lib/planning/target.js +9 -3
  127. package/lib/resolution/instantiation.js +10 -5
  128. package/lib/resolution/resolver.js +19 -10
  129. package/lib/scope/scope.js +1 -1
  130. package/lib/syntax/binding_in_syntax.d.ts +1 -1
  131. package/lib/syntax/binding_in_when_on_syntax.d.ts +7 -7
  132. package/lib/syntax/binding_on_syntax.d.ts +1 -1
  133. package/lib/syntax/binding_to_syntax.d.ts +4 -4
  134. package/lib/syntax/binding_to_syntax.js +14 -7
  135. package/lib/syntax/binding_when_on_syntax.d.ts +6 -6
  136. package/lib/syntax/binding_when_syntax.d.ts +4 -4
  137. package/lib/syntax/binding_when_syntax.js +13 -8
  138. package/lib/syntax/constraint_helpers.d.ts +2 -2
  139. package/lib/syntax/constraint_helpers.js +4 -3
  140. package/lib/tsconfig.tsbuildinfo +1 -1
  141. package/lib/utils/async.js +3 -2
  142. package/lib/utils/binding_utils.js +8 -3
  143. package/lib/utils/clonable.js +4 -4
  144. package/lib/utils/exceptions.js +1 -1
  145. package/lib/utils/serialization.d.ts +3 -3
  146. package/lib/utils/serialization.js +11 -8
  147. package/package.json +18 -4
  148. package/.nyc_output/c29b2307-4e95-47d0-b220-9efcfa7ee49f.json +0 -1
  149. package/.nyc_output/processinfo/c29b2307-4e95-47d0-b220-9efcfa7ee49f.json +0 -1
  150. package/.nyc_output/processinfo/index.json +0 -1
package/amd/inversify.js CHANGED
@@ -21,11 +21,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
21
21
  __setModuleDefault(result, mod);
22
22
  return result;
23
23
  };
24
- define(["require", "exports", "./constants/metadata_keys", "./container/container", "./constants/literal_types", "./container/container_module", "./annotation/decorator_utils", "./annotation/injectable", "./annotation/tagged", "./annotation/named", "./annotation/inject", "./annotation/lazy_service_identifier", "./annotation/lazy_service_identifier", "./annotation/optional", "./annotation/unmanaged", "./annotation/multi_inject", "./annotation/target_name", "./annotation/post_construct", "./annotation/pre_destroy", "./planning/metadata_reader", "./utils/id", "./interfaces/interfaces", "./annotation/decorator_utils", "./syntax/constraint_helpers", "./utils/serialization", "./utils/binding_utils"], function (require, exports, keys, container_1, literal_types_1, container_module_1, decorator_utils_1, injectable_1, tagged_1, named_1, inject_1, lazy_service_identifier_1, lazy_service_identifier_2, optional_1, unmanaged_1, multi_inject_1, target_name_1, post_construct_1, pre_destroy_1, metadata_reader_1, id_1, interfaces_1, decorator_utils_2, constraint_helpers_1, serialization_1, binding_utils_1) {
24
+ define(["require", "exports", "./constants/metadata_keys", "@inversifyjs/common", "./container/container", "./constants/literal_types", "./container/container_module", "./annotation/decorator_utils", "./annotation/injectable", "./annotation/tagged", "./annotation/named", "./annotation/inject", "./annotation/optional", "./annotation/unmanaged", "./annotation/multi_inject", "./annotation/target_name", "./annotation/post_construct", "./annotation/pre_destroy", "./planning/metadata_reader", "./utils/id", "./annotation/decorator_utils", "./syntax/constraint_helpers", "./utils/serialization", "./utils/binding_utils"], function (require, exports, keys, common_1, container_1, literal_types_1, container_module_1, decorator_utils_1, injectable_1, tagged_1, named_1, inject_1, optional_1, unmanaged_1, multi_inject_1, target_name_1, post_construct_1, pre_destroy_1, metadata_reader_1, id_1, decorator_utils_2, constraint_helpers_1, serialization_1, binding_utils_1) {
25
25
  "use strict";
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.multiBindToService = exports.getServiceIdentifierAsString = exports.typeConstraint = exports.namedConstraint = exports.taggedConstraint = exports.traverseAncerstors = exports.decorate = exports.interfaces = exports.id = exports.MetadataReader = exports.preDestroy = exports.postConstruct = exports.targetName = exports.multiInject = exports.unmanaged = exports.optional = exports.LazyServiceIdentifer = exports.LazyServiceIdentifier = exports.inject = exports.named = exports.tagged = exports.injectable = exports.createTaggedDecorator = exports.ContainerModule = exports.AsyncContainerModule = exports.TargetTypeEnum = exports.BindingTypeEnum = exports.BindingScopeEnum = exports.Container = exports.METADATA_KEY = void 0;
27
+ exports.multiBindToService = exports.getServiceIdentifierAsString = exports.typeConstraint = exports.namedConstraint = exports.taggedConstraint = exports.traverseAncerstors = exports.decorate = exports.id = exports.MetadataReader = exports.preDestroy = exports.postConstruct = exports.targetName = exports.multiInject = exports.unmanaged = exports.optional = exports.inject = exports.named = exports.tagged = exports.injectable = exports.createTaggedDecorator = exports.ContainerModule = exports.AsyncContainerModule = exports.TargetTypeEnum = exports.BindingTypeEnum = exports.BindingScopeEnum = exports.Container = exports.METADATA_KEY = exports.LazyServiceIdentifier = void 0;
28
28
  keys = __importStar(keys);
29
+ Object.defineProperty(exports, "LazyServiceIdentifier", { enumerable: true, get: function () { return common_1.LazyServiceIdentifier; } });
29
30
  exports.METADATA_KEY = keys;
30
31
  Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_1.Container; } });
31
32
  Object.defineProperty(exports, "BindingScopeEnum", { enumerable: true, get: function () { return literal_types_1.BindingScopeEnum; } });
@@ -38,8 +39,6 @@ define(["require", "exports", "./constants/metadata_keys", "./container/containe
38
39
  Object.defineProperty(exports, "tagged", { enumerable: true, get: function () { return tagged_1.tagged; } });
39
40
  Object.defineProperty(exports, "named", { enumerable: true, get: function () { return named_1.named; } });
40
41
  Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return inject_1.inject; } });
41
- Object.defineProperty(exports, "LazyServiceIdentifier", { enumerable: true, get: function () { return lazy_service_identifier_1.LazyServiceIdentifier; } });
42
- Object.defineProperty(exports, "LazyServiceIdentifer", { enumerable: true, get: function () { return lazy_service_identifier_2.LazyServiceIdentifier; } });
43
42
  Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return optional_1.optional; } });
44
43
  Object.defineProperty(exports, "unmanaged", { enumerable: true, get: function () { return unmanaged_1.unmanaged; } });
45
44
  Object.defineProperty(exports, "multiInject", { enumerable: true, get: function () { return multi_inject_1.multiInject; } });
@@ -48,7 +47,6 @@ define(["require", "exports", "./constants/metadata_keys", "./container/containe
48
47
  Object.defineProperty(exports, "preDestroy", { enumerable: true, get: function () { return pre_destroy_1.preDestroy; } });
49
48
  Object.defineProperty(exports, "MetadataReader", { enumerable: true, get: function () { return metadata_reader_1.MetadataReader; } });
50
49
  Object.defineProperty(exports, "id", { enumerable: true, get: function () { return id_1.id; } });
51
- Object.defineProperty(exports, "interfaces", { enumerable: true, get: function () { return interfaces_1.interfaces; } });
52
50
  Object.defineProperty(exports, "decorate", { enumerable: true, get: function () { return decorator_utils_2.decorate; } });
53
51
  Object.defineProperty(exports, "traverseAncerstors", { enumerable: true, get: function () { return constraint_helpers_1.traverseAncerstors; } });
54
52
  Object.defineProperty(exports, "taggedConstraint", { enumerable: true, get: function () { return constraint_helpers_1.taggedConstraint; } });
@@ -30,15 +30,17 @@ define(["require", "exports", "../constants/metadata_keys"], function (require,
30
30
  function MetadataReader() {
31
31
  }
32
32
  MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {
33
- var compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);
33
+ var _a;
34
+ var compilerGeneratedMetadata = (_a = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, constructorFunc)) !== null && _a !== void 0 ? _a : [];
34
35
  var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);
35
36
  return {
36
37
  compilerGeneratedMetadata: compilerGeneratedMetadata,
37
- userGeneratedMetadata: userGeneratedMetadata || {}
38
+ userGeneratedMetadata: userGeneratedMetadata !== null && userGeneratedMetadata !== void 0 ? userGeneratedMetadata : {},
38
39
  };
39
40
  };
40
41
  MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {
41
- var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];
42
+ var _a;
43
+ var userGeneratedMetadata = (_a = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc)) !== null && _a !== void 0 ? _a : {};
42
44
  return userGeneratedMetadata;
43
45
  };
44
46
  return MetadataReader;
@@ -21,7 +21,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
21
21
  __setModuleDefault(result, mod);
22
22
  return result;
23
23
  };
24
- define(["require", "exports", "../bindings/binding_count", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/exceptions", "../utils/serialization", "./context", "./metadata", "./plan", "./reflection_utils", "./request", "./target"], function (require, exports, binding_count_1, ERROR_MSGS, literal_types_1, METADATA_KEY, exceptions_1, serialization_1, context_1, metadata_1, plan_1, reflection_utils_1, request_1, target_1) {
24
+ define(["require", "exports", "@inversifyjs/core", "../bindings/binding_count", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/exceptions", "../utils/serialization", "./context", "./metadata", "./plan", "./reflection_utils", "./request"], function (require, exports, core_1, binding_count_1, ERROR_MSGS, literal_types_1, METADATA_KEY, exceptions_1, serialization_1, context_1, metadata_1, plan_1, reflection_utils_1, request_1) {
25
25
  "use strict";
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.plan = plan;
@@ -33,22 +33,22 @@ define(["require", "exports", "../bindings/binding_count", "../constants/error_m
33
33
  return cntnr._bindingDictionary;
34
34
  }
35
35
  function _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {
36
- var metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;
37
- var injectMetadata = new metadata_1.Metadata(metadataKey, serviceIdentifier);
38
- var target = new target_1.Target(targetType, name, serviceIdentifier, injectMetadata);
39
- if (key !== undefined) {
40
- var tagMetadata = new metadata_1.Metadata(key, value);
41
- target.metadata.push(tagMetadata);
36
+ var metadataList = _getTargetMetadata(isMultiInject, serviceIdentifier, key, value);
37
+ var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
38
+ if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
39
+ throw new Error('Unexpected metadata when creating target');
42
40
  }
41
+ var target = new core_1.LegacyTargetImpl(name, classElementMetadata, targetType);
43
42
  return target;
44
43
  }
45
44
  function _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {
46
45
  var bindings = getBindings(context.container, target.serviceIdentifier);
47
46
  var activeBindings = [];
48
47
  if (bindings.length === binding_count_1.BindingCount.NoBindingsAvailable &&
49
- context.container.options.autoBindInjectable &&
48
+ context.container.options.autoBindInjectable === true &&
50
49
  typeof target.serviceIdentifier === 'function' &&
51
- metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata) {
50
+ metadataReader.getConstructorMetadata(target.serviceIdentifier)
51
+ .compilerGeneratedMetadata) {
52
52
  context.container.bind(target.serviceIdentifier).toSelf();
53
53
  bindings = getBindings(context.container, target.serviceIdentifier);
54
54
  }
@@ -64,6 +64,18 @@ define(["require", "exports", "../bindings/binding_count", "../constants/error_m
64
64
  _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);
65
65
  return activeBindings;
66
66
  }
67
+ function _getTargetMetadata(isMultiInject, serviceIdentifier, key, value) {
68
+ var metadataKey = isMultiInject
69
+ ? METADATA_KEY.MULTI_INJECT_TAG
70
+ : METADATA_KEY.INJECT_TAG;
71
+ var metadataList = [
72
+ new metadata_1.Metadata(metadataKey, serviceIdentifier),
73
+ ];
74
+ if (key !== undefined) {
75
+ metadataList.push(new metadata_1.Metadata(key, value));
76
+ }
77
+ return metadataList;
78
+ }
67
79
  function _validateActiveBindingCount(serviceIdentifier, bindings, target, container) {
68
80
  switch (bindings.length) {
69
81
  case binding_count_1.BindingCount.NoBindingsAvailable:
@@ -111,14 +123,15 @@ define(["require", "exports", "../bindings/binding_count", "../constants/error_m
111
123
  subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);
112
124
  }
113
125
  else {
114
- if (binding.cache) {
126
+ if (binding.cache !== null) {
115
127
  return;
116
128
  }
117
129
  subChildRequest = childRequest;
118
130
  }
119
- if (binding.type === literal_types_1.BindingTypeEnum.Instance && binding.implementationType !== null) {
131
+ if (binding.type === literal_types_1.BindingTypeEnum.Instance &&
132
+ binding.implementationType !== null) {
120
133
  var dependencies = (0, reflection_utils_1.getDependencies)(metadataReader, binding.implementationType);
121
- if (!context.container.options.skipBaseClassChecks) {
134
+ if (context.container.options.skipBaseClassChecks !== true) {
122
135
  var baseClassDependencyCount = (0, reflection_utils_1.getBaseClassDependencyCount)(metadataReader, binding.implementationType);
123
136
  if (dependencies.length < baseClassDependencyCount) {
124
137
  var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH((0, reflection_utils_1.getFunctionName)(binding.implementationType));
@@ -158,7 +171,12 @@ define(["require", "exports", "../bindings/binding_count", "../constants/error_m
158
171
  }
159
172
  }
160
173
  function createMockRequest(container, serviceIdentifier, key, value) {
161
- var target = new target_1.Target(literal_types_1.TargetTypeEnum.Variable, '', serviceIdentifier, new metadata_1.Metadata(key, value));
174
+ var metadataList = _getTargetMetadata(false, serviceIdentifier, key, value);
175
+ var classElementMetadata = (0, core_1.getClassElementMetadataFromLegacyMetadata)(metadataList);
176
+ if (classElementMetadata.kind === core_1.ClassElementMetadataKind.unmanaged) {
177
+ throw new Error('Unexpected metadata when creating target');
178
+ }
179
+ var target = new core_1.LegacyTargetImpl('', classElementMetadata, 'Variable');
162
180
  var context = new context_1.Context(container);
163
181
  var request = new request_1.Request(serviceIdentifier, context, null, [], target);
164
182
  return request;
@@ -11,12 +11,15 @@ define(["require", "exports"], function (require, exports) {
11
11
  };
12
12
  QueryableString.prototype.endsWith = function (searchString) {
13
13
  var reverseString = '';
14
- var reverseSearchString = searchString.split('').reverse().join('');
14
+ var reverseSearchString = searchString
15
+ .split('')
16
+ .reverse()
17
+ .join('');
15
18
  reverseString = this.str.split('').reverse().join('');
16
19
  return this.startsWith.call({ str: reverseString }, reverseSearchString);
17
20
  };
18
21
  QueryableString.prototype.contains = function (searchString) {
19
- return (this.str.indexOf(searchString) !== -1);
22
+ return this.str.indexOf(searchString) !== -1;
20
23
  };
21
24
  QueryableString.prototype.equals = function (compareString) {
22
25
  return this.str === compareString;
@@ -21,118 +21,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
21
21
  __setModuleDefault(result, mod);
22
22
  return result;
23
23
  };
24
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
26
- if (ar || !(i in from)) {
27
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
28
- ar[i] = from[i];
29
- }
30
- }
31
- return to.concat(ar || Array.prototype.slice.call(from));
32
- };
33
- define(["require", "exports", "../annotation/lazy_service_identifier", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/serialization", "./target"], function (require, exports, lazy_service_identifier_1, ERROR_MSGS, literal_types_1, METADATA_KEY, serialization_1, target_1) {
24
+ define(["require", "exports", "@inversifyjs/core", "../constants/metadata_keys", "../utils/serialization"], function (require, exports, core_1, METADATA_KEY, serialization_1) {
34
25
  "use strict";
35
26
  Object.defineProperty(exports, "__esModule", { value: true });
36
27
  exports.getFunctionName = void 0;
37
28
  exports.getDependencies = getDependencies;
38
29
  exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
39
- ERROR_MSGS = __importStar(ERROR_MSGS);
40
30
  METADATA_KEY = __importStar(METADATA_KEY);
41
31
  Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
42
32
  function getDependencies(metadataReader, func) {
43
- var constructorName = (0, serialization_1.getFunctionName)(func);
44
- return getTargets(metadataReader, constructorName, func, false);
45
- }
46
- function getTargets(metadataReader, constructorName, func, isBaseClass) {
47
- var metadata = metadataReader.getConstructorMetadata(func);
48
- var serviceIdentifiers = metadata.compilerGeneratedMetadata;
49
- if (serviceIdentifiers === undefined) {
50
- var msg = "".concat(ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION, " ").concat(constructorName, ".");
51
- throw new Error(msg);
52
- }
53
- var constructorArgsMetadata = metadata.userGeneratedMetadata;
54
- var keys = Object.keys(constructorArgsMetadata);
55
- var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);
56
- var hasOptionalParameters = keys.length > func.length;
57
- var iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;
58
- var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
59
- var propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName);
60
- var targets = __spreadArray(__spreadArray([], constructorTargets, true), propertyTargets, true);
61
- return targets;
62
- }
63
- function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
64
- var targetMetadata = constructorArgsMetadata[index.toString()] || [];
65
- var metadata = formatTargetMetadata(targetMetadata);
66
- var isManaged = metadata.unmanaged !== true;
67
- var serviceIdentifier = serviceIdentifiers[index];
68
- var injectIdentifier = metadata.inject || metadata.multiInject;
69
- serviceIdentifier = (injectIdentifier ? injectIdentifier : serviceIdentifier);
70
- if (serviceIdentifier instanceof lazy_service_identifier_1.LazyServiceIdentifier) {
71
- serviceIdentifier = serviceIdentifier.unwrap();
72
- }
73
- if (isManaged) {
74
- var isObject = serviceIdentifier === Object;
75
- var isFunction = serviceIdentifier === Function;
76
- var isUndefined = serviceIdentifier === undefined;
77
- var isUnknownType = isObject || isFunction || isUndefined;
78
- if (!isBaseClass && isUnknownType) {
79
- var msg = "".concat(ERROR_MSGS.MISSING_INJECT_ANNOTATION, " argument ").concat(index, " in class ").concat(constructorName, ".");
80
- throw new Error(msg);
81
- }
82
- var target = new target_1.Target(literal_types_1.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);
83
- target.metadata = targetMetadata;
84
- return target;
85
- }
86
- return null;
87
- }
88
- function getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {
89
- var targets = [];
90
- for (var i = 0; i < iterations; i++) {
91
- var index = i;
92
- var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);
93
- if (target !== null) {
94
- targets.push(target);
95
- }
96
- }
97
- return targets;
98
- }
99
- function _getServiceIdentifierForProperty(inject, multiInject, propertyName, className) {
100
- var serviceIdentifier = (inject || multiInject);
101
- if (serviceIdentifier === undefined) {
102
- var msg = "".concat(ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION, " for property ").concat(String(propertyName), " in class ").concat(className, ".");
103
- throw new Error(msg);
104
- }
105
- return serviceIdentifier;
106
- }
107
- function getClassPropsAsTargets(metadataReader, constructorFunc, constructorName) {
108
- var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);
109
- var targets = [];
110
- var symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata);
111
- var stringKeys = Object.keys(classPropsMetadata);
112
- var keys = stringKeys.concat(symbolKeys);
113
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
114
- var key = keys_1[_i];
115
- var targetMetadata = classPropsMetadata[key];
116
- var metadata = formatTargetMetadata(targetMetadata);
117
- var identifier = metadata.targetName || key;
118
- var serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName);
119
- var target = new target_1.Target(literal_types_1.TargetTypeEnum.ClassProperty, identifier, serviceIdentifier);
120
- target.metadata = targetMetadata;
121
- targets.push(target);
122
- }
123
- var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
124
- if (baseConstructor !== Object) {
125
- var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName);
126
- targets = __spreadArray(__spreadArray([], targets, true), baseTargets, true);
127
- }
128
- return targets;
33
+ return (0, core_1.getTargets)(metadataReader)(func);
129
34
  }
130
35
  function getBaseClassDependencyCount(metadataReader, func) {
131
36
  var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
132
37
  if (baseConstructor !== Object) {
133
- var baseConstructorName = (0, serialization_1.getFunctionName)(baseConstructor);
134
- var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);
135
- var metadata = targets.map(function (t) { return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; }); });
38
+ var targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
39
+ var metadata = targets.map(function (t) {
40
+ return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; });
41
+ });
136
42
  var unmanagedCount = [].concat.apply([], metadata).length;
137
43
  var dependencyCount = targets.length - unmanagedCount;
138
44
  if (dependencyCount > 0) {
@@ -146,16 +52,4 @@ define(["require", "exports", "../annotation/lazy_service_identifier", "../const
146
52
  return 0;
147
53
  }
148
54
  }
149
- function formatTargetMetadata(targetMetadata) {
150
- var targetMetadataMap = {};
151
- targetMetadata.forEach(function (m) {
152
- targetMetadataMap[m.key.toString()] = m.value;
153
- });
154
- return {
155
- inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],
156
- multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],
157
- targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],
158
- unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]
159
- };
160
- }
161
55
  });
@@ -10,10 +10,8 @@ define(["require", "exports", "../utils/id"], function (require, exports, id_1)
10
10
  this.parentRequest = parentRequest;
11
11
  this.target = target;
12
12
  this.childRequests = [];
13
- this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);
14
- this.requestScope = parentRequest === null
15
- ? new Map()
16
- : null;
13
+ this.bindings = Array.isArray(bindings) ? bindings : [bindings];
14
+ this.requestScope = parentRequest === null ? new Map() : null;
17
15
  }
18
16
  Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
19
17
  var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
@@ -31,7 +31,9 @@ define(["require", "exports", "../constants/metadata_keys", "../utils/id", "../u
31
31
  this.id = (0, id_1.id)();
32
32
  this.type = type;
33
33
  this.serviceIdentifier = serviceIdentifier;
34
- var queryableName = typeof identifier === 'symbol' ? (0, serialization_1.getSymbolDescription)(identifier) : identifier;
34
+ var queryableName = typeof identifier === 'symbol'
35
+ ? (0, serialization_1.getSymbolDescription)(identifier)
36
+ : identifier;
35
37
  this.name = new queryable_string_1.QueryableString(queryableName || '');
36
38
  this.identifier = identifier;
37
39
  this.metadata = new Array();
@@ -65,7 +67,9 @@ define(["require", "exports", "../constants/metadata_keys", "../utils/id", "../u
65
67
  return this.hasTag(METADATA_KEY.NAMED_TAG);
66
68
  };
67
69
  Target.prototype.isTagged = function () {
68
- return this.metadata.some(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
70
+ return this.metadata.some(function (metadata) {
71
+ return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; });
72
+ });
69
73
  };
70
74
  Target.prototype.isOptional = function () {
71
75
  return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);
@@ -78,7 +82,9 @@ define(["require", "exports", "../constants/metadata_keys", "../utils/id", "../u
78
82
  };
79
83
  Target.prototype.getCustomTags = function () {
80
84
  if (this.isTagged()) {
81
- return this.metadata.filter(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
85
+ return this.metadata.filter(function (metadata) {
86
+ return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; });
87
+ });
82
88
  }
83
89
  else {
84
90
  return null;
@@ -97,7 +97,12 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
97
97
  resolvedRequests.isAsync = (0, async_1.isPromiseOrContainsPromise)(injection);
98
98
  }
99
99
  return resolvedRequests;
100
- }, { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false });
100
+ }, {
101
+ constructorInjections: [],
102
+ isAsync: false,
103
+ propertyInjections: [],
104
+ propertyRequests: [],
105
+ });
101
106
  }
102
107
  function _createInstance(constr, childRequests, resolveRequest) {
103
108
  var result;
@@ -191,9 +196,7 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
191
196
  }
192
197
  }
193
198
  function _throwIfHandlingDeactivation(binding, constr) {
194
- var scopeErrorMessage = "Class cannot be instantiated in ".concat(binding.scope === literal_types_1.BindingScopeEnum.Request ?
195
- 'request' :
196
- 'transient', " scope.");
199
+ var scopeErrorMessage = "Class cannot be instantiated in ".concat(binding.scope === literal_types_1.BindingScopeEnum.Request ? 'request' : 'transient', " scope.");
197
200
  if (typeof binding.onDeactivation === 'function') {
198
201
  throw new Error((0, error_msgs_1.ON_DEACTIVATION_ERROR)(constr.name, scopeErrorMessage));
199
202
  }
@@ -205,7 +208,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
205
208
  _validateInstanceResolution(binding, constr);
206
209
  var result = _createInstance(constr, childRequests, resolveRequest);
207
210
  if ((0, async_1.isPromise)(result)) {
208
- return result.then(function (resolvedResult) { return _getInstanceAfterPostConstruct(constr, resolvedResult); });
211
+ return result.then(function (resolvedResult) {
212
+ return _getInstanceAfterPostConstruct(constr, resolvedResult);
213
+ });
209
214
  }
210
215
  else {
211
216
  return _getInstanceAfterPostConstruct(constr, result);
@@ -74,8 +74,8 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
74
74
  !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);
75
75
  if (targetIsAnArray && targetParentIsNotAnArray) {
76
76
  return childRequests.map(function (childRequest) {
77
- var _f = _resolveRequest(requestScope);
78
- return _f(childRequest);
77
+ var resolveRequest = _resolveRequest(requestScope);
78
+ return resolveRequest(childRequest);
79
79
  });
80
80
  }
81
81
  else {
@@ -89,7 +89,11 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
89
89
  };
90
90
  var _resolveFactoryFromBinding = function (binding, context) {
91
91
  var factoryDetails = (0, binding_utils_1.getFactoryDetails)(binding);
92
- return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(function () { return factoryDetails.factory.bind(binding)(context); }, function () { return new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())); });
92
+ return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(function () {
93
+ return factoryDetails.factory.bind(binding)(context);
94
+ }, function () {
95
+ return new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString()));
96
+ });
93
97
  };
94
98
  var _getResolvedFromBinding = function (requestScope, request, binding) {
95
99
  var result;
@@ -124,7 +128,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
124
128
  return _resolveInScope(requestScope, binding, function () {
125
129
  var result = _getResolvedFromBinding(requestScope, request, binding);
126
130
  if ((0, async_1.isPromise)(result)) {
127
- result = result.then(function (resolved) { return _onActivation(request, binding, resolved); });
131
+ result = result.then(function (resolved) {
132
+ return _onActivation(request, binding, resolved);
133
+ });
128
134
  }
129
135
  else {
130
136
  result = _onActivation(request, binding, result);
@@ -149,7 +155,8 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
149
155
  result = _activateContainer(activationsIterator, context_1, result);
150
156
  }
151
157
  containersIteratorResult = containersIterator.next();
152
- } while (containersIteratorResult.done !== true && !(0, planner_1.getBindingDictionary)(container).hasKey(request.serviceIdentifier));
158
+ } while (containersIteratorResult.done !== true &&
159
+ !(0, planner_1.getBindingDictionary)(container).hasKey(request.serviceIdentifier));
153
160
  return result;
154
161
  }
155
162
  var _bindingActivation = function (context, binding, previousResult) {
@@ -164,7 +171,7 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
164
171
  };
165
172
  var _activateContainer = function (activationsIterator, context, result) {
166
173
  var activation = activationsIterator.next();
167
- while (!activation.done) {
174
+ while (activation.done !== true) {
168
175
  result = activation.value(context, result);
169
176
  if ((0, async_1.isPromise)(result)) {
170
177
  return _activateContainerAsync(activationsIterator, context, result);
@@ -183,7 +190,7 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
183
190
  activation = activationsIterator.next();
184
191
  _a.label = 2;
185
192
  case 2:
186
- if (!!activation.done) return [3, 4];
193
+ if (!(activation.done !== true)) return [3, 4];
187
194
  return [4, activation.value(context, result)];
188
195
  case 3:
189
196
  result = _a.sent();
@@ -195,7 +202,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
195
202
  }); };
196
203
  var _getContainerActivationsForService = function (container, serviceIdentifier) {
197
204
  var activations = container._activations;
198
- return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();
205
+ return activations.hasKey(serviceIdentifier)
206
+ ? activations.get(serviceIdentifier).values()
207
+ : [].values();
199
208
  };
200
209
  var _getContainersIterator = function (container) {
201
210
  var containersStack = [container];
@@ -219,7 +228,7 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
219
228
  return containersIterator;
220
229
  };
221
230
  function resolve(context) {
222
- var _f = _resolveRequest(context.plan.rootRequest.requestScope);
223
- return _f(context.plan.rootRequest);
231
+ var resolveRequestFunction = _resolveRequest(context.plan.rootRequest.requestScope);
232
+ return resolveRequestFunction(context.plan.rootRequest);
224
233
  }
225
234
  });
@@ -39,7 +39,7 @@ define(["require", "exports", "../constants/literal_types", "../utils/async"], f
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.saveToScope = exports.tryGetFromScope = void 0;
41
41
  var tryGetFromScope = function (requestScope, binding) {
42
- if ((binding.scope === literal_types_1.BindingScopeEnum.Singleton) && binding.activated) {
42
+ if (binding.scope === literal_types_1.BindingScopeEnum.Singleton && binding.activated) {
43
43
  return binding.cache;
44
44
  }
45
45
  if (binding.scope === literal_types_1.BindingScopeEnum.Request &&
@@ -36,10 +36,11 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
36
36
  return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);
37
37
  };
38
38
  BindingToSyntax.prototype.toSelf = function () {
39
- if (typeof this._binding.serviceIdentifier !== "function") {
40
- throw new Error("".concat(ERROR_MSGS.INVALID_TO_SELF_VALUE));
39
+ if (typeof this._binding.serviceIdentifier !== 'function') {
40
+ throw new Error(ERROR_MSGS.INVALID_TO_SELF_VALUE);
41
41
  }
42
- var self = this._binding.serviceIdentifier;
42
+ var self = this._binding
43
+ .serviceIdentifier;
43
44
  return this.to(self);
44
45
  };
45
46
  BindingToSyntax.prototype.toConstantValue = function (value) {
@@ -70,7 +71,7 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
70
71
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
71
72
  };
72
73
  BindingToSyntax.prototype.toFunction = function (func) {
73
- if (typeof func !== "function") {
74
+ if (typeof func !== 'function') {
74
75
  throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);
75
76
  }
76
77
  var bindingWhenOnSyntax = this.toConstantValue(func);
@@ -81,7 +82,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
81
82
  BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) {
82
83
  this._binding.type = literal_types_1.BindingTypeEnum.Factory;
83
84
  this._binding.factory = function (context) {
84
- var autofactory = function () { return context.container.get(serviceIdentifier); };
85
+ var autofactory = function () {
86
+ return context.container.get(serviceIdentifier);
87
+ };
85
88
  return autofactory;
86
89
  };
87
90
  this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;
@@ -90,7 +93,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
90
93
  BindingToSyntax.prototype.toAutoNamedFactory = function (serviceIdentifier) {
91
94
  this._binding.type = literal_types_1.BindingTypeEnum.Factory;
92
95
  this._binding.factory = function (context) {
93
- return function (named) { return context.container.getNamed(serviceIdentifier, named); };
96
+ return function (named) {
97
+ return context.container.getNamed(serviceIdentifier, named);
98
+ };
94
99
  };
95
100
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
96
101
  };
@@ -101,7 +106,9 @@ define(["require", "exports", "../constants/error_msgs", "../constants/literal_t
101
106
  return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
102
107
  };
103
108
  BindingToSyntax.prototype.toService = function (service) {
104
- this.toDynamicValue(function (context) { return context.container.get(service); });
109
+ this.toDynamicValue(function (context) {
110
+ return context.container.get(service);
111
+ });
105
112
  };
106
113
  return BindingToSyntax;
107
114
  }());
@@ -19,9 +19,9 @@ define(["require", "exports", "./binding_on_syntax", "./constraint_helpers"], fu
19
19
  if (request === null) {
20
20
  return false;
21
21
  }
22
- var targetIsDefault = (request.target !== null) &&
23
- (!request.target.isNamed()) &&
24
- (!request.target.isTagged());
22
+ var targetIsDefault = request.target !== null &&
23
+ !request.target.isNamed() &&
24
+ !request.target.isTagged();
25
25
  return targetIsDefault;
26
26
  };
27
27
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
@@ -56,7 +56,8 @@ define(["require", "exports", "./binding_on_syntax", "./constraint_helpers"], fu
56
56
  };
57
57
  BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) {
58
58
  this._binding.constraint = function (request) {
59
- return request !== null && !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.typeConstraint)(ancestor));
59
+ return request !== null &&
60
+ !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.typeConstraint)(ancestor));
60
61
  };
61
62
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
62
63
  };
@@ -74,25 +75,29 @@ define(["require", "exports", "./binding_on_syntax", "./constraint_helpers"], fu
74
75
  };
75
76
  BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {
76
77
  this._binding.constraint = function (request) {
77
- return request !== null && (0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
78
+ return request !== null &&
79
+ (0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
78
80
  };
79
81
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
80
82
  };
81
83
  BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) {
82
84
  this._binding.constraint = function (request) {
83
- return request !== null && !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
85
+ return request !== null &&
86
+ !(0, constraint_helpers_1.traverseAncerstors)(request, (0, constraint_helpers_1.taggedConstraint)(tag)(value));
84
87
  };
85
88
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
86
89
  };
87
90
  BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) {
88
91
  this._binding.constraint = function (request) {
89
- return request !== null && (0, constraint_helpers_1.traverseAncerstors)(request, constraint);
92
+ return request !== null &&
93
+ (0, constraint_helpers_1.traverseAncerstors)(request, constraint);
90
94
  };
91
95
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
92
96
  };
93
97
  BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) {
94
98
  this._binding.constraint = function (request) {
95
- return request !== null && !(0, constraint_helpers_1.traverseAncerstors)(request, constraint);
99
+ return request !== null &&
100
+ !(0, constraint_helpers_1.traverseAncerstors)(request, constraint);
96
101
  };
97
102
  return new binding_on_syntax_1.BindingOnSyntax(this._binding);
98
103
  };
@@ -38,7 +38,9 @@ define(["require", "exports", "../constants/metadata_keys", "../planning/metadat
38
38
  exports.traverseAncerstors = traverseAncerstors;
39
39
  var taggedConstraint = function (key) { return function (value) {
40
40
  var constraint = function (request) {
41
- return request !== null && request.target !== null && request.target.matchesTag(key)(value);
41
+ return request !== null &&
42
+ request.target !== null &&
43
+ request.target.matchesTag(key)(value);
42
44
  };
43
45
  constraint.metaData = new metadata_1.Metadata(key, value);
44
46
  return constraint;
@@ -51,8 +53,7 @@ define(["require", "exports", "../constants/metadata_keys", "../planning/metadat
51
53
  if (request !== null) {
52
54
  binding = request.bindings[0];
53
55
  if (typeof type === 'string') {
54
- var serviceIdentifier = binding.serviceIdentifier;
55
- return serviceIdentifier === type;
56
+ return binding.serviceIdentifier === type;
56
57
  }
57
58
  else {
58
59
  var constructor = request.bindings[0].implementationType;