inversify 5.0.1 → 5.0.5

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 (106) hide show
  1. package/.nyc_output/24cbca0e-b065-453e-9d1e-2a381e69663d.json +1 -0
  2. package/.nyc_output/processinfo/24cbca0e-b065-453e-9d1e-2a381e69663d.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/CHANGELOG.md +7 -2
  5. package/README.md +3 -3
  6. package/amd/annotation/decorator_utils.js +1 -0
  7. package/amd/annotation/inject.js +1 -0
  8. package/amd/annotation/injectable.js +1 -0
  9. package/amd/annotation/multi_inject.js +1 -0
  10. package/amd/annotation/named.js +1 -0
  11. package/amd/annotation/optional.js +1 -0
  12. package/amd/annotation/post_construct.js +1 -0
  13. package/amd/annotation/tagged.js +1 -0
  14. package/amd/annotation/target_name.js +1 -0
  15. package/amd/annotation/unmanaged.js +1 -0
  16. package/amd/bindings/binding.js +1 -0
  17. package/amd/bindings/binding_count.js +1 -0
  18. package/amd/constants/error_msgs.js +1 -0
  19. package/amd/constants/literal_types.js +1 -0
  20. package/amd/constants/metadata_keys.js +1 -0
  21. package/amd/container/container.js +5 -3
  22. package/amd/container/container_module.js +1 -0
  23. package/amd/container/container_snapshot.js +1 -0
  24. package/amd/container/lookup.js +1 -0
  25. package/amd/inversify.js +26 -25
  26. package/amd/planning/context.js +1 -0
  27. package/amd/planning/metadata.js +1 -0
  28. package/amd/planning/metadata_reader.js +1 -0
  29. package/amd/planning/plan.js +1 -0
  30. package/amd/planning/planner.js +1 -0
  31. package/amd/planning/queryable_string.js +1 -0
  32. package/amd/planning/reflection_utils.js +11 -3
  33. package/amd/planning/request.js +1 -0
  34. package/amd/planning/target.js +1 -0
  35. package/amd/resolution/instantiation.js +9 -1
  36. package/amd/resolution/resolver.js +1 -0
  37. package/amd/syntax/binding_in_syntax.js +1 -0
  38. package/amd/syntax/binding_in_when_on_syntax.js +1 -0
  39. package/amd/syntax/binding_on_syntax.js +1 -0
  40. package/amd/syntax/binding_to_syntax.js +1 -0
  41. package/amd/syntax/binding_when_on_syntax.js +1 -0
  42. package/amd/syntax/binding_when_syntax.js +1 -0
  43. package/amd/syntax/constraint_helpers.js +1 -0
  44. package/amd/utils/binding_utils.js +1 -0
  45. package/amd/utils/exceptions.js +1 -0
  46. package/amd/utils/id.js +1 -0
  47. package/amd/utils/serialization.js +1 -0
  48. package/dts/annotation/inject.d.ts +1 -1
  49. package/dts/container/container.d.ts +3 -3
  50. package/dts/container/lookup.d.ts +1 -1
  51. package/dts/interfaces/interfaces.d.ts +4 -6
  52. package/dts/syntax/binding_to_syntax.d.ts +1 -3
  53. package/dts/syntax/constraint_helpers.d.ts +2 -2
  54. package/dts/utils/binding_utils.d.ts +1 -1
  55. package/dts/utils/cat.d.ts +5 -0
  56. package/dts/utils/dog.d.ts +3 -0
  57. package/es/container/container.js +4 -3
  58. package/es/planning/reflection_utils.js +9 -2
  59. package/es/resolution/instantiation.js +8 -1
  60. package/lib/annotation/decorator_utils.js +1 -0
  61. package/lib/annotation/inject.js +1 -0
  62. package/lib/annotation/injectable.js +1 -0
  63. package/lib/annotation/multi_inject.js +1 -0
  64. package/lib/annotation/named.js +1 -0
  65. package/lib/annotation/optional.js +1 -0
  66. package/lib/annotation/post_construct.js +1 -0
  67. package/lib/annotation/tagged.js +1 -0
  68. package/lib/annotation/target_name.js +1 -0
  69. package/lib/annotation/unmanaged.js +1 -0
  70. package/lib/bindings/binding.js +1 -0
  71. package/lib/bindings/binding_count.js +1 -0
  72. package/lib/constants/error_msgs.js +1 -0
  73. package/lib/constants/literal_types.js +1 -0
  74. package/lib/constants/metadata_keys.js +1 -0
  75. package/lib/container/container.js +5 -3
  76. package/lib/container/container_module.js +1 -0
  77. package/lib/container/container_snapshot.js +1 -0
  78. package/lib/container/lookup.js +1 -0
  79. package/lib/inversify.js +26 -25
  80. package/lib/planning/context.js +1 -0
  81. package/lib/planning/metadata.js +1 -0
  82. package/lib/planning/metadata_reader.js +1 -0
  83. package/lib/planning/plan.js +1 -0
  84. package/lib/planning/planner.js +1 -0
  85. package/lib/planning/queryable_string.js +1 -0
  86. package/lib/planning/reflection_utils.js +11 -3
  87. package/lib/planning/request.js +1 -0
  88. package/lib/planning/target.js +1 -0
  89. package/lib/resolution/instantiation.js +9 -1
  90. package/lib/resolution/resolver.js +1 -0
  91. package/lib/syntax/binding_in_syntax.js +1 -0
  92. package/lib/syntax/binding_in_when_on_syntax.js +1 -0
  93. package/lib/syntax/binding_on_syntax.js +1 -0
  94. package/lib/syntax/binding_to_syntax.js +1 -0
  95. package/lib/syntax/binding_when_on_syntax.js +1 -0
  96. package/lib/syntax/binding_when_syntax.js +1 -0
  97. package/lib/syntax/constraint_helpers.js +1 -0
  98. package/lib/utils/binding_utils.js +1 -0
  99. package/lib/utils/exceptions.js +1 -0
  100. package/lib/utils/id.js +1 -0
  101. package/lib/utils/serialization.js +1 -0
  102. package/mocha.opts +3 -0
  103. package/package.json +36 -30
  104. package/appveyor.yml +0 -34
  105. package/dts/utils/guid.d.ts +0 -2
  106. package/dts/utils/template.d.ts +0 -1
@@ -3,7 +3,7 @@ export declare type ServiceIdentifierOrFunc = interfaces.ServiceIdentifier<any>
3
3
  export declare class LazyServiceIdentifer<T = any> {
4
4
  private _cb;
5
5
  constructor(cb: () => interfaces.ServiceIdentifier<T>);
6
- unwrap(): string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>;
6
+ unwrap(): interfaces.ServiceIdentifier<T>;
7
7
  }
8
8
  declare function inject(serviceIdentifier: ServiceIdentifierOrFunc): (target: any, targetKey: string, index?: number | undefined) => void;
9
9
  export { inject };
@@ -31,8 +31,8 @@ declare class Container implements interfaces.Container {
31
31
  getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: any): T[];
32
32
  getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T[];
33
33
  resolve<T>(constructorFunction: interfaces.Newable<T>): T;
34
- private _getContainerModuleHelpersFactory();
35
- private _get<T>(avoidConstraints, isMultiInject, targetType, serviceIdentifier, key?, value?);
36
- private _planAndResolve<T>();
34
+ private _getContainerModuleHelpersFactory;
35
+ private _get;
36
+ private _planAndResolve;
37
37
  }
38
38
  export { Container };
@@ -2,7 +2,7 @@ import { interfaces } from "../interfaces/interfaces";
2
2
  declare class Lookup<T extends interfaces.Clonable<T>> implements interfaces.Lookup<T> {
3
3
  private _map;
4
4
  constructor();
5
- getMap(): Map<string | symbol | interfaces.Newable<any> | interfaces.Abstract<any>, T[]>;
5
+ getMap(): Map<interfaces.ServiceIdentifier<any>, T[]>;
6
6
  add(serviceIdentifier: interfaces.ServiceIdentifier<any>, value: T): void;
7
7
  get(serviceIdentifier: interfaces.ServiceIdentifier<any>): T[];
8
8
  remove(serviceIdentifier: interfaces.ServiceIdentifier<any>): void;
@@ -22,9 +22,7 @@ declare namespace interfaces {
22
22
  ClassProperty: interfaces.TargetType;
23
23
  Variable: interfaces.TargetType;
24
24
  }
25
- interface Newable<T> {
26
- new (...args: any[]): T;
27
- }
25
+ type Newable<T> = new (...args: any[]) => T;
28
26
  interface Abstract<T> {
29
27
  prototype: T;
30
28
  }
@@ -139,6 +137,8 @@ declare namespace interfaces {
139
137
  getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;
140
138
  getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: any): T;
141
139
  getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];
140
+ getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: any): T[];
141
+ getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];
142
142
  resolve<T>(constructorFunction: interfaces.Newable<T>): T;
143
143
  load(...modules: ContainerModule[]): void;
144
144
  loadAsync(...modules: AsyncContainerModule[]): Promise<void>;
@@ -207,9 +207,7 @@ declare namespace interfaces {
207
207
  interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> {
208
208
  }
209
209
  interface BindingToSyntax<T> {
210
- to(constructor: {
211
- new (...args: any[]): T;
212
- }): BindingInWhenOnSyntax<T>;
210
+ to(constructor: new (...args: any[]) => T): BindingInWhenOnSyntax<T>;
213
211
  toSelf(): BindingInWhenOnSyntax<T>;
214
212
  toConstantValue(value: T): BindingWhenOnSyntax<T>;
215
213
  toDynamicValue(func: (context: Context) => T): BindingInWhenOnSyntax<T>;
@@ -2,9 +2,7 @@ import { interfaces } from "../interfaces/interfaces";
2
2
  declare class BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {
3
3
  private _binding;
4
4
  constructor(binding: interfaces.Binding<T>);
5
- to(constructor: {
6
- new (...args: any[]): T;
7
- }): interfaces.BindingInWhenOnSyntax<T>;
5
+ to(constructor: new (...args: any[]) => T): interfaces.BindingInWhenOnSyntax<T>;
8
6
  toSelf(): interfaces.BindingInWhenOnSyntax<T>;
9
7
  toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T>;
10
8
  toDynamicValue(func: (context: interfaces.Context) => T): interfaces.BindingInWhenOnSyntax<T>;
@@ -1,6 +1,6 @@
1
1
  import { interfaces } from "../interfaces/interfaces";
2
2
  declare const traverseAncerstors: (request: interfaces.Request, constraint: interfaces.ConstraintFunction) => boolean;
3
- declare const taggedConstraint: (key: PropertyKey) => (value: any) => interfaces.ConstraintFunction;
3
+ declare const taggedConstraint: (key: string | number | symbol) => (value: any) => interfaces.ConstraintFunction;
4
4
  declare const namedConstraint: (value: any) => interfaces.ConstraintFunction;
5
- declare const typeConstraint: (type: string | Function) => (request: interfaces.Request | null) => boolean;
5
+ declare const typeConstraint: (type: (Function | string)) => (request: interfaces.Request | null) => boolean;
6
6
  export { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };
@@ -1,2 +1,2 @@
1
1
  import { interfaces } from "../inversify";
2
- export declare const multiBindToService: (container: interfaces.Container) => (service: string | symbol | interfaces.Newable<any> | interfaces.Abstract<any>) => (...types: (string | symbol | interfaces.Newable<any> | interfaces.Abstract<any>)[]) => void;
2
+ export declare const multiBindToService: (container: interfaces.Container) => (service: interfaces.ServiceIdentifier<any>) => (...types: interfaces.ServiceIdentifier<any>[]) => void;
@@ -0,0 +1,5 @@
1
+ export declare class Cat {
2
+ private name;
3
+ sayHello(): string;
4
+ }
5
+ export declare function id(): number;
@@ -0,0 +1,3 @@
1
+ export declare class Dog {
2
+ name: string;
3
+ }
@@ -1,8 +1,9 @@
1
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2
3
  return new (P || (P = Promise))(function (resolve, reject) {
3
4
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
4
5
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
5
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
6
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7
8
  });
8
9
  };
@@ -13,8 +14,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
13
14
  function step(op) {
14
15
  if (f) throw new TypeError("Generator is already executing.");
15
16
  while (_) try {
16
- if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
17
- if (y = 0, t) op = [0, t.value];
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
18
19
  switch (op[0]) {
19
20
  case 0: case 1: t = op; break;
20
21
  case 4: _.label++; return { value: op[1], done: false };
@@ -1,3 +1,10 @@
1
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
2
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
3
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
4
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
5
+ r[k] = a[j];
6
+ return r;
7
+ };
1
8
  import { LazyServiceIdentifer } from "../annotation/inject";
2
9
  import * as ERROR_MSGS from "../constants/error_msgs";
3
10
  import { TargetTypeEnum } from "../constants/literal_types";
@@ -22,7 +29,7 @@ function getTargets(metadataReader, constructorName, func, isBaseClass) {
22
29
  var iterations = (hasUserDeclaredUnknownInjections) ? keys.length : func.length;
23
30
  var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
24
31
  var propertyTargets = getClassPropsAsTargets(metadataReader, func);
25
- var targets = constructorTargets.concat(propertyTargets);
32
+ var targets = __spreadArrays(constructorTargets, propertyTargets);
26
33
  return targets;
27
34
  }
28
35
  function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
@@ -78,7 +85,7 @@ function getClassPropsAsTargets(metadataReader, constructorFunc) {
78
85
  var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
79
86
  if (baseConstructor !== Object) {
80
87
  var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);
81
- targets = targets.concat(baseTargets);
88
+ targets = __spreadArrays(targets, baseTargets);
82
89
  }
83
90
  return targets;
84
91
  }
@@ -1,3 +1,10 @@
1
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
2
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
3
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
4
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
5
+ r[k] = a[j];
6
+ return r;
7
+ };
1
8
  import { POST_CONSTRUCT_ERROR } from "../constants/error_msgs";
2
9
  import { TargetTypeEnum } from "../constants/literal_types";
3
10
  import * as METADATA_KEY from "../constants/metadata_keys";
@@ -16,7 +23,7 @@ function _injectProperties(instance, childRequests, resolveRequest) {
16
23
  return instance;
17
24
  }
18
25
  function _createInstance(Func, injections) {
19
- return new (Func.bind.apply(Func, [void 0].concat(injections)))();
26
+ return new (Func.bind.apply(Func, __spreadArrays([void 0], injections)))();
20
27
  }
21
28
  function _postConstruct(constr, result) {
22
29
  if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tagProperty = exports.tagParameter = exports.decorate = void 0;
3
4
  var ERROR_MSGS = require("../constants/error_msgs");
4
5
  var METADATA_KEY = require("../constants/metadata_keys");
5
6
  function tagParameter(annotationTarget, propertyName, parameterIndex, metadata) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inject = exports.LazyServiceIdentifer = void 0;
3
4
  var error_msgs_1 = require("../constants/error_msgs");
4
5
  var METADATA_KEY = require("../constants/metadata_keys");
5
6
  var metadata_1 = require("../planning/metadata");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectable = void 0;
3
4
  var ERRORS_MSGS = require("../constants/error_msgs");
4
5
  var METADATA_KEY = require("../constants/metadata_keys");
5
6
  function injectable() {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.multiInject = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var metadata_1 = require("../planning/metadata");
5
6
  var decorator_utils_1 = require("./decorator_utils");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.named = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var metadata_1 = require("../planning/metadata");
5
6
  var decorator_utils_1 = require("./decorator_utils");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.optional = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var metadata_1 = require("../planning/metadata");
5
6
  var decorator_utils_1 = require("./decorator_utils");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postConstruct = void 0;
3
4
  var ERRORS_MSGS = require("../constants/error_msgs");
4
5
  var METADATA_KEY = require("../constants/metadata_keys");
5
6
  var metadata_1 = require("../planning/metadata");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tagged = void 0;
3
4
  var metadata_1 = require("../planning/metadata");
4
5
  var decorator_utils_1 = require("./decorator_utils");
5
6
  function tagged(metadataKey, metadataValue) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.targetName = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var metadata_1 = require("../planning/metadata");
5
6
  var decorator_utils_1 = require("./decorator_utils");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unmanaged = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var metadata_1 = require("../planning/metadata");
5
6
  var decorator_utils_1 = require("./decorator_utils");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Binding = void 0;
3
4
  var literal_types_1 = require("../constants/literal_types");
4
5
  var id_1 = require("../utils/id");
5
6
  var Binding = (function () {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingCount = void 0;
3
4
  var BindingCount = {
4
5
  MultipleBindingsAvailable: 2,
5
6
  NoBindingsAvailable: 0,
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STACK_OVERFLOW = exports.CIRCULAR_DEPENDENCY_IN_FACTORY = exports.POST_CONSTRUCT_ERROR = exports.MULTIPLE_POST_CONSTRUCT_METHODS = exports.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = exports.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = exports.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = exports.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = exports.ARGUMENTS_LENGTH_MISMATCH = exports.INVALID_DECORATOR_OPERATION = exports.INVALID_TO_SELF_VALUE = exports.INVALID_FUNCTION_BINDING = exports.INVALID_MIDDLEWARE_RETURN = exports.NO_MORE_SNAPSHOTS_AVAILABLE = exports.INVALID_BINDING_TYPE = exports.NOT_IMPLEMENTED = exports.CIRCULAR_DEPENDENCY = exports.UNDEFINED_INJECT_ANNOTATION = exports.MISSING_INJECT_ANNOTATION = exports.MISSING_INJECTABLE_ANNOTATION = exports.NOT_REGISTERED = exports.CANNOT_UNBIND = exports.AMBIGUOUS_MATCH = exports.KEY_NOT_FOUND = exports.NULL_ARGUMENT = exports.DUPLICATED_METADATA = exports.DUPLICATED_INJECTABLE_DECORATOR = void 0;
3
4
  exports.DUPLICATED_INJECTABLE_DECORATOR = "Cannot apply @injectable decorator multiple times.";
4
5
  exports.DUPLICATED_METADATA = "Metadata key was used more than once in a parameter:";
5
6
  exports.NULL_ARGUMENT = "NULL argument";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TargetTypeEnum = exports.BindingTypeEnum = exports.BindingScopeEnum = void 0;
3
4
  var BindingScopeEnum = {
4
5
  Request: "Request",
5
6
  Singleton: "Singleton",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST_CONSTRUCT = exports.DESIGN_PARAM_TYPES = exports.PARAM_TYPES = exports.TAGGED_PROP = exports.TAGGED = exports.MULTI_INJECT_TAG = exports.INJECT_TAG = exports.OPTIONAL_TAG = exports.UNMANAGED_TAG = exports.NAME_TAG = exports.NAMED_TAG = void 0;
3
4
  exports.NAMED_TAG = "named";
4
5
  exports.NAME_TAG = "name";
5
6
  exports.UNMANAGED_TAG = "unmanaged";
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
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); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
4
5
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
6
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
9
  });
9
10
  };
@@ -14,8 +15,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
15
  function step(op) {
15
16
  if (f) throw new TypeError("Generator is already executing.");
16
17
  while (_) try {
17
- if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [0, t.value];
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];
19
20
  switch (op[0]) {
20
21
  case 0: case 1: t = op; break;
21
22
  case 4: _.label++; return { value: op[1], done: false };
@@ -35,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
36
  }
36
37
  };
37
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Container = void 0;
38
40
  var binding_1 = require("../bindings/binding");
39
41
  var ERROR_MSGS = require("../constants/error_msgs");
40
42
  var literal_types_1 = require("../constants/literal_types");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AsyncContainerModule = exports.ContainerModule = void 0;
3
4
  var id_1 = require("../utils/id");
4
5
  var ContainerModule = (function () {
5
6
  function ContainerModule(registry) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerSnapshot = void 0;
3
4
  var ContainerSnapshot = (function () {
4
5
  function ContainerSnapshot() {
5
6
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lookup = void 0;
3
4
  var ERROR_MSGS = require("../constants/error_msgs");
4
5
  var Lookup = (function () {
5
6
  function Lookup() {
package/lib/inversify.js CHANGED
@@ -1,47 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.METADATA_KEY = void 0;
3
4
  var keys = require("./constants/metadata_keys");
4
5
  exports.METADATA_KEY = keys;
5
6
  var container_1 = require("./container/container");
6
- exports.Container = container_1.Container;
7
+ Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_1.Container; } });
7
8
  var literal_types_1 = require("./constants/literal_types");
8
- exports.BindingScopeEnum = literal_types_1.BindingScopeEnum;
9
- exports.BindingTypeEnum = literal_types_1.BindingTypeEnum;
10
- exports.TargetTypeEnum = literal_types_1.TargetTypeEnum;
9
+ Object.defineProperty(exports, "BindingScopeEnum", { enumerable: true, get: function () { return literal_types_1.BindingScopeEnum; } });
10
+ Object.defineProperty(exports, "BindingTypeEnum", { enumerable: true, get: function () { return literal_types_1.BindingTypeEnum; } });
11
+ Object.defineProperty(exports, "TargetTypeEnum", { enumerable: true, get: function () { return literal_types_1.TargetTypeEnum; } });
11
12
  var container_module_1 = require("./container/container_module");
12
- exports.AsyncContainerModule = container_module_1.AsyncContainerModule;
13
- exports.ContainerModule = container_module_1.ContainerModule;
13
+ Object.defineProperty(exports, "AsyncContainerModule", { enumerable: true, get: function () { return container_module_1.AsyncContainerModule; } });
14
+ Object.defineProperty(exports, "ContainerModule", { enumerable: true, get: function () { return container_module_1.ContainerModule; } });
14
15
  var injectable_1 = require("./annotation/injectable");
15
- exports.injectable = injectable_1.injectable;
16
+ Object.defineProperty(exports, "injectable", { enumerable: true, get: function () { return injectable_1.injectable; } });
16
17
  var tagged_1 = require("./annotation/tagged");
17
- exports.tagged = tagged_1.tagged;
18
+ Object.defineProperty(exports, "tagged", { enumerable: true, get: function () { return tagged_1.tagged; } });
18
19
  var named_1 = require("./annotation/named");
19
- exports.named = named_1.named;
20
+ Object.defineProperty(exports, "named", { enumerable: true, get: function () { return named_1.named; } });
20
21
  var inject_1 = require("./annotation/inject");
21
- exports.inject = inject_1.inject;
22
- exports.LazyServiceIdentifer = inject_1.LazyServiceIdentifer;
22
+ Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return inject_1.inject; } });
23
+ Object.defineProperty(exports, "LazyServiceIdentifer", { enumerable: true, get: function () { return inject_1.LazyServiceIdentifer; } });
23
24
  var optional_1 = require("./annotation/optional");
24
- exports.optional = optional_1.optional;
25
+ Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return optional_1.optional; } });
25
26
  var unmanaged_1 = require("./annotation/unmanaged");
26
- exports.unmanaged = unmanaged_1.unmanaged;
27
+ Object.defineProperty(exports, "unmanaged", { enumerable: true, get: function () { return unmanaged_1.unmanaged; } });
27
28
  var multi_inject_1 = require("./annotation/multi_inject");
28
- exports.multiInject = multi_inject_1.multiInject;
29
+ Object.defineProperty(exports, "multiInject", { enumerable: true, get: function () { return multi_inject_1.multiInject; } });
29
30
  var target_name_1 = require("./annotation/target_name");
30
- exports.targetName = target_name_1.targetName;
31
+ Object.defineProperty(exports, "targetName", { enumerable: true, get: function () { return target_name_1.targetName; } });
31
32
  var post_construct_1 = require("./annotation/post_construct");
32
- exports.postConstruct = post_construct_1.postConstruct;
33
+ Object.defineProperty(exports, "postConstruct", { enumerable: true, get: function () { return post_construct_1.postConstruct; } });
33
34
  var metadata_reader_1 = require("./planning/metadata_reader");
34
- exports.MetadataReader = metadata_reader_1.MetadataReader;
35
+ Object.defineProperty(exports, "MetadataReader", { enumerable: true, get: function () { return metadata_reader_1.MetadataReader; } });
35
36
  var id_1 = require("./utils/id");
36
- exports.id = id_1.id;
37
+ Object.defineProperty(exports, "id", { enumerable: true, get: function () { return id_1.id; } });
37
38
  var decorator_utils_1 = require("./annotation/decorator_utils");
38
- exports.decorate = decorator_utils_1.decorate;
39
+ Object.defineProperty(exports, "decorate", { enumerable: true, get: function () { return decorator_utils_1.decorate; } });
39
40
  var constraint_helpers_1 = require("./syntax/constraint_helpers");
40
- exports.traverseAncerstors = constraint_helpers_1.traverseAncerstors;
41
- exports.taggedConstraint = constraint_helpers_1.taggedConstraint;
42
- exports.namedConstraint = constraint_helpers_1.namedConstraint;
43
- exports.typeConstraint = constraint_helpers_1.typeConstraint;
41
+ Object.defineProperty(exports, "traverseAncerstors", { enumerable: true, get: function () { return constraint_helpers_1.traverseAncerstors; } });
42
+ Object.defineProperty(exports, "taggedConstraint", { enumerable: true, get: function () { return constraint_helpers_1.taggedConstraint; } });
43
+ Object.defineProperty(exports, "namedConstraint", { enumerable: true, get: function () { return constraint_helpers_1.namedConstraint; } });
44
+ Object.defineProperty(exports, "typeConstraint", { enumerable: true, get: function () { return constraint_helpers_1.typeConstraint; } });
44
45
  var serialization_1 = require("./utils/serialization");
45
- exports.getServiceIdentifierAsString = serialization_1.getServiceIdentifierAsString;
46
+ Object.defineProperty(exports, "getServiceIdentifierAsString", { enumerable: true, get: function () { return serialization_1.getServiceIdentifierAsString; } });
46
47
  var binding_utils_1 = require("./utils/binding_utils");
47
- exports.multiBindToService = binding_utils_1.multiBindToService;
48
+ Object.defineProperty(exports, "multiBindToService", { enumerable: true, get: function () { return binding_utils_1.multiBindToService; } });
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Context = void 0;
3
4
  var id_1 = require("../utils/id");
4
5
  var Context = (function () {
5
6
  function Context(container) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Metadata = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var Metadata = (function () {
5
6
  function Metadata(key, value) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataReader = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var MetadataReader = (function () {
5
6
  function MetadataReader() {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Plan = void 0;
3
4
  var Plan = (function () {
4
5
  function Plan(parentContext, rootRequest) {
5
6
  this.parentContext = parentContext;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBindingDictionary = exports.createMockRequest = exports.plan = void 0;
3
4
  var binding_count_1 = require("../bindings/binding_count");
4
5
  var ERROR_MSGS = require("../constants/error_msgs");
5
6
  var literal_types_1 = require("../constants/literal_types");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryableString = void 0;
3
4
  var QueryableString = (function () {
4
5
  function QueryableString(str) {
5
6
  this.str = str;
@@ -1,11 +1,19 @@
1
1
  "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getFunctionName = exports.getBaseClassDependencyCount = exports.getDependencies = void 0;
3
11
  var inject_1 = require("../annotation/inject");
4
12
  var ERROR_MSGS = require("../constants/error_msgs");
5
13
  var literal_types_1 = require("../constants/literal_types");
6
14
  var METADATA_KEY = require("../constants/metadata_keys");
7
15
  var serialization_1 = require("../utils/serialization");
8
- exports.getFunctionName = serialization_1.getFunctionName;
16
+ Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
9
17
  var target_1 = require("./target");
10
18
  function getDependencies(metadataReader, func) {
11
19
  var constructorName = serialization_1.getFunctionName(func);
@@ -26,7 +34,7 @@ function getTargets(metadataReader, constructorName, func, isBaseClass) {
26
34
  var iterations = (hasUserDeclaredUnknownInjections) ? keys.length : func.length;
27
35
  var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
28
36
  var propertyTargets = getClassPropsAsTargets(metadataReader, func);
29
- var targets = constructorTargets.concat(propertyTargets);
37
+ var targets = __spreadArrays(constructorTargets, propertyTargets);
30
38
  return targets;
31
39
  }
32
40
  function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
@@ -82,7 +90,7 @@ function getClassPropsAsTargets(metadataReader, constructorFunc) {
82
90
  var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
83
91
  if (baseConstructor !== Object) {
84
92
  var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);
85
- targets = targets.concat(baseTargets);
93
+ targets = __spreadArrays(targets, baseTargets);
86
94
  }
87
95
  return targets;
88
96
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Request = void 0;
3
4
  var id_1 = require("../utils/id");
4
5
  var Request = (function () {
5
6
  function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Target = void 0;
3
4
  var METADATA_KEY = require("../constants/metadata_keys");
4
5
  var id_1 = require("../utils/id");
5
6
  var metadata_1 = require("./metadata");
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.resolveInstance = void 0;
3
11
  var error_msgs_1 = require("../constants/error_msgs");
4
12
  var literal_types_1 = require("../constants/literal_types");
5
13
  var METADATA_KEY = require("../constants/metadata_keys");
@@ -18,7 +26,7 @@ function _injectProperties(instance, childRequests, resolveRequest) {
18
26
  return instance;
19
27
  }
20
28
  function _createInstance(Func, injections) {
21
- return new (Func.bind.apply(Func, [void 0].concat(injections)))();
29
+ return new (Func.bind.apply(Func, __spreadArrays([void 0], injections)))();
22
30
  }
23
31
  function _postConstruct(constr, result) {
24
32
  if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolve = void 0;
3
4
  var ERROR_MSGS = require("../constants/error_msgs");
4
5
  var literal_types_1 = require("../constants/literal_types");
5
6
  var exceptions_1 = require("../utils/exceptions");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingInSyntax = void 0;
3
4
  var literal_types_1 = require("../constants/literal_types");
4
5
  var binding_when_on_syntax_1 = require("./binding_when_on_syntax");
5
6
  var BindingInSyntax = (function () {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingInWhenOnSyntax = void 0;
3
4
  var binding_in_syntax_1 = require("./binding_in_syntax");
4
5
  var binding_on_syntax_1 = require("./binding_on_syntax");
5
6
  var binding_when_syntax_1 = require("./binding_when_syntax");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingOnSyntax = void 0;
3
4
  var binding_when_syntax_1 = require("./binding_when_syntax");
4
5
  var BindingOnSyntax = (function () {
5
6
  function BindingOnSyntax(binding) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingToSyntax = void 0;
3
4
  var ERROR_MSGS = require("../constants/error_msgs");
4
5
  var literal_types_1 = require("../constants/literal_types");
5
6
  var binding_in_when_on_syntax_1 = require("./binding_in_when_on_syntax");
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindingWhenOnSyntax = void 0;
3
4
  var binding_on_syntax_1 = require("./binding_on_syntax");
4
5
  var binding_when_syntax_1 = require("./binding_when_syntax");
5
6
  var BindingWhenOnSyntax = (function () {