ts-ioc-container 26.4.2 → 26.4.4

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.
package/esm/by.js CHANGED
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.by = exports.all = void 0;
4
- const all = () => true;
5
- exports.all = all;
6
- exports.by = {
1
+ export const all = () => true;
2
+ export const by = {
7
3
  alias: {
8
4
  /**
9
5
  * Get all instances that have at least one of the given aliases
@@ -31,7 +27,7 @@ exports.by = {
31
27
  * Get all instances that match the given predicate
32
28
  * @param predicate
33
29
  */
34
- instances: (predicate = exports.all) => (l) => l.getInstances().filter(predicate),
30
+ instances: (predicate = all) => (l) => l.getInstances().filter(predicate),
35
31
  scope: {
36
32
  /**
37
33
  * Get the current scope
@@ -1,27 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoMockedContainer = void 0;
4
- const index_1 = require("../index");
5
- class AutoMockedContainer {
1
+ import { MethodNotImplementedError, } from '../index';
2
+ export class AutoMockedContainer {
6
3
  getTokensByProvider(predicate) {
7
4
  return [];
8
5
  }
9
6
  createScope(...tags) {
10
- throw new index_1.MethodNotImplementedError();
7
+ throw new MethodNotImplementedError();
11
8
  }
12
9
  dispose() { }
13
10
  cloneAndImportProvidersFrom() {
14
11
  return new Map();
15
12
  }
16
13
  register(key, value) {
17
- throw new index_1.MethodNotImplementedError();
14
+ throw new MethodNotImplementedError();
18
15
  }
19
16
  getInstances() {
20
17
  return [];
21
18
  }
22
19
  removeScope() { }
23
20
  use(module) {
24
- throw new index_1.MethodNotImplementedError();
21
+ throw new MethodNotImplementedError();
25
22
  }
26
23
  getAllProviders() {
27
24
  return new Map();
@@ -30,4 +27,3 @@ class AutoMockedContainer {
30
27
  return false;
31
28
  }
32
29
  }
33
- exports.AutoMockedContainer = AutoMockedContainer;
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Container = void 0;
4
- const IContainer_1 = require("./IContainer");
5
- const EmptyContainer_1 = require("./EmptyContainer");
6
- const ContainerDisposedError_1 = require("./ContainerDisposedError");
7
- class Container {
1
+ import { isConstructor } from './IContainer';
2
+ import { EmptyContainer } from './EmptyContainer';
3
+ import { ContainerDisposedError } from './ContainerDisposedError';
4
+ export class Container {
8
5
  constructor(injector, options = {}) {
9
6
  var _a, _b;
10
7
  this.injector = injector;
@@ -12,7 +9,7 @@ class Container {
12
9
  this.isDisposed = false;
13
10
  this.scopes = new Set();
14
11
  this.instances = new Set();
15
- this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer_1.EmptyContainer();
12
+ this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer();
16
13
  this.tags = (_b = options.tags) !== null && _b !== void 0 ? _b : [];
17
14
  }
18
15
  register(key, provider) {
@@ -22,7 +19,7 @@ class Container {
22
19
  }
23
20
  resolve(token, ...args) {
24
21
  this.validateContainer();
25
- if ((0, IContainer_1.isConstructor)(token)) {
22
+ if (isConstructor(token)) {
26
23
  const instance = this.injector.resolve(this, token, ...args);
27
24
  this.instances.add(instance);
28
25
  return instance;
@@ -50,7 +47,7 @@ class Container {
50
47
  this.validateContainer();
51
48
  this.isDisposed = true;
52
49
  this.parent.removeScope(this);
53
- this.parent = new EmptyContainer_1.EmptyContainer();
50
+ this.parent = new EmptyContainer();
54
51
  for (const scope of this.scopes) {
55
52
  scope.dispose();
56
53
  }
@@ -94,7 +91,6 @@ class Container {
94
91
  this.scopes.delete(child);
95
92
  }
96
93
  validateContainer() {
97
- ContainerDisposedError_1.ContainerDisposedError.assert(!this.isDisposed, 'Container is already disposed');
94
+ ContainerDisposedError.assert(!this.isDisposed, 'Container is already disposed');
98
95
  }
99
96
  }
100
- exports.Container = Container;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContainerDisposedError = void 0;
4
- class ContainerDisposedError extends Error {
1
+ export class ContainerDisposedError extends Error {
5
2
  constructor(message) {
6
3
  super(message);
7
4
  this.name = 'ContainerDisposedError';
@@ -13,4 +10,3 @@ class ContainerDisposedError extends Error {
13
10
  }
14
11
  }
15
12
  }
16
- exports.ContainerDisposedError = ContainerDisposedError;
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DependencyNotFoundError = void 0;
4
- class DependencyNotFoundError extends Error {
1
+ export class DependencyNotFoundError extends Error {
5
2
  constructor(message) {
6
3
  super(message);
7
4
  this.name = 'DependencyNotFoundError';
8
5
  Object.setPrototypeOf(this, DependencyNotFoundError.prototype);
9
6
  }
10
7
  }
11
- exports.DependencyNotFoundError = DependencyNotFoundError;
@@ -1,39 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmptyContainer = void 0;
4
- const MethodNotImplementedError_1 = require("./MethodNotImplementedError");
5
- const DependencyNotFoundError_1 = require("./DependencyNotFoundError");
6
- class EmptyContainer {
1
+ import { MethodNotImplementedError } from './MethodNotImplementedError';
2
+ import { DependencyNotFoundError } from './DependencyNotFoundError';
3
+ export class EmptyContainer {
7
4
  getTokensByProvider(predicate) {
8
5
  return [];
9
6
  }
10
7
  hasTag(tag) {
11
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
8
+ throw new MethodNotImplementedError();
12
9
  }
13
10
  createScope(...tags) {
14
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
11
+ throw new MethodNotImplementedError();
15
12
  }
16
13
  dispose() {
17
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
14
+ throw new MethodNotImplementedError();
18
15
  }
19
16
  register(key, value) {
20
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
17
+ throw new MethodNotImplementedError();
21
18
  }
22
19
  resolve(key) {
23
- throw new DependencyNotFoundError_1.DependencyNotFoundError(`Cannot find ${key.toString()}`);
20
+ throw new DependencyNotFoundError(`Cannot find ${key.toString()}`);
24
21
  }
25
22
  getAllProviders() {
26
23
  return new Map();
27
24
  }
28
25
  cloneAndImportProvidersFrom() {
29
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
26
+ throw new MethodNotImplementedError();
30
27
  }
31
28
  getInstances() {
32
29
  return [];
33
30
  }
34
31
  removeScope() { }
35
32
  use(module) {
36
- throw new MethodNotImplementedError_1.MethodNotImplementedError();
33
+ throw new MethodNotImplementedError();
37
34
  }
38
35
  }
39
- exports.EmptyContainer = EmptyContainer;
@@ -1,11 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isConstructor = exports.isDependencyKey = void 0;
4
- function isDependencyKey(token) {
1
+ export function isDependencyKey(token) {
5
2
  return ['string', 'symbol'].includes(typeof token);
6
3
  }
7
- exports.isDependencyKey = isDependencyKey;
8
- function isConstructor(token) {
4
+ export function isConstructor(token) {
9
5
  return typeof token === 'function';
10
6
  }
11
- exports.isConstructor = isConstructor;
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MethodNotImplementedError = void 0;
4
- class MethodNotImplementedError extends Error {
1
+ export class MethodNotImplementedError extends Error {
5
2
  constructor(message) {
6
3
  super(message);
7
4
  this.name = 'MethodNotImplementedError';
8
5
  Object.setPrototypeOf(this, MethodNotImplementedError.prototype);
9
6
  }
10
7
  }
11
- exports.MethodNotImplementedError = MethodNotImplementedError;
package/esm/hook.js CHANGED
@@ -1,13 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHooks = exports.hook = void 0;
4
- const hook = (key) => (target, propertyKey) => {
1
+ export const hook = (key) => (target, propertyKey) => {
5
2
  const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
6
3
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
7
4
  };
8
- exports.hook = hook;
9
5
  // eslint-disable-next-line @typescript-eslint/ban-types
10
- function getHooks(target, key) {
6
+ export function getHooks(target, key) {
11
7
  return Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
12
8
  }
13
- exports.getHooks = getHooks;
package/esm/index.js CHANGED
@@ -1,52 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMetadata = exports.setMetadata = exports.by = exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.inject = exports.ReflectionInjector = exports.DependencyMissingKeyError = exports.Registration = exports.key = exports.AutoMockedContainer = exports.TaggedProvider = exports.tags = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.provider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.alias = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
- var IContainer_1 = require("./container/IContainer");
5
- Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
- var Container_1 = require("./container/Container");
7
- Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
8
- var EmptyContainer_1 = require("./container/EmptyContainer");
9
- Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } });
10
- var IProvider_1 = require("./provider/IProvider");
11
- Object.defineProperty(exports, "alias", { enumerable: true, get: function () { return IProvider_1.alias; } });
12
- var DependencyNotFoundError_1 = require("./container/DependencyNotFoundError");
13
- Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return DependencyNotFoundError_1.DependencyNotFoundError; } });
14
- var MethodNotImplementedError_1 = require("./container/MethodNotImplementedError");
15
- Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
16
- var ContainerDisposedError_1 = require("./container/ContainerDisposedError");
17
- Object.defineProperty(exports, "ContainerDisposedError", { enumerable: true, get: function () { return ContainerDisposedError_1.ContainerDisposedError; } });
18
- var Provider_1 = require("./provider/Provider");
19
- Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
20
- Object.defineProperty(exports, "provider", { enumerable: true, get: function () { return Provider_1.provider; } });
21
- var ArgsProvider_1 = require("./provider/ArgsProvider");
22
- Object.defineProperty(exports, "argsFn", { enumerable: true, get: function () { return ArgsProvider_1.argsFn; } });
23
- Object.defineProperty(exports, "args", { enumerable: true, get: function () { return ArgsProvider_1.args; } });
24
- Object.defineProperty(exports, "ArgsProvider", { enumerable: true, get: function () { return ArgsProvider_1.ArgsProvider; } });
25
- var SingletonProvider_1 = require("./provider/SingletonProvider");
26
- Object.defineProperty(exports, "singleton", { enumerable: true, get: function () { return SingletonProvider_1.singleton; } });
27
- Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
28
- var TaggedProvider_1 = require("./provider/TaggedProvider");
29
- Object.defineProperty(exports, "tags", { enumerable: true, get: function () { return TaggedProvider_1.tags; } });
30
- Object.defineProperty(exports, "TaggedProvider", { enumerable: true, get: function () { return TaggedProvider_1.TaggedProvider; } });
31
- var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
32
- Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
33
- var Registration_1 = require("./registration/Registration");
34
- Object.defineProperty(exports, "key", { enumerable: true, get: function () { return Registration_1.key; } });
35
- Object.defineProperty(exports, "Registration", { enumerable: true, get: function () { return Registration_1.Registration; } });
36
- var DependencyMissingKeyError_1 = require("./registration/DependencyMissingKeyError");
37
- Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true, get: function () { return DependencyMissingKeyError_1.DependencyMissingKeyError; } });
38
- var ReflectionInjector_1 = require("./injector/ReflectionInjector");
39
- Object.defineProperty(exports, "ReflectionInjector", { enumerable: true, get: function () { return ReflectionInjector_1.ReflectionInjector; } });
40
- Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return ReflectionInjector_1.inject; } });
41
- var SimpleInjector_1 = require("./injector/SimpleInjector");
42
- Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
43
- var ProxyInjector_1 = require("./injector/ProxyInjector");
44
- Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: function () { return ProxyInjector_1.ProxyInjector; } });
45
- var hook_1 = require("./hook");
46
- Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } });
47
- Object.defineProperty(exports, "hook", { enumerable: true, get: function () { return hook_1.hook; } });
48
- var by_1 = require("./by");
49
- Object.defineProperty(exports, "by", { enumerable: true, get: function () { return by_1.by; } });
50
- var metadata_1 = require("./metadata");
51
- Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
52
- Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
1
+ export { isDependencyKey, } from './container/IContainer';
2
+ export { Container } from './container/Container';
3
+ export { EmptyContainer } from './container/EmptyContainer';
4
+ export { alias } from './provider/IProvider';
5
+ export { DependencyNotFoundError } from './container/DependencyNotFoundError';
6
+ export { MethodNotImplementedError } from './container/MethodNotImplementedError';
7
+ export { ContainerDisposedError } from './container/ContainerDisposedError';
8
+ export { Provider, provider } from './provider/Provider';
9
+ export { argsFn, args, ArgsProvider } from './provider/ArgsProvider';
10
+ export { singleton, SingletonProvider } from './provider/SingletonProvider';
11
+ export { tags, TaggedProvider } from './provider/TaggedProvider';
12
+ export { AutoMockedContainer } from './container/AutoMockedContainer';
13
+ export { key, Registration } from './registration/Registration';
14
+ export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
15
+ export { ReflectionInjector, inject } from './injector/ReflectionInjector';
16
+ export { SimpleInjector } from './injector/SimpleInjector';
17
+ export { ProxyInjector } from './injector/ProxyInjector';
18
+ export { getHooks, hook } from './hook';
19
+ export { by } from './by';
20
+ export { setMetadata, getMetadata } from './metadata';
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProxyInjector = void 0;
4
1
  // eslint-disable-next-line @typescript-eslint/ban-types
5
2
  function getProp(target, key) {
6
3
  // @ts-ignore
7
4
  return target[key];
8
5
  }
9
- class ProxyInjector {
6
+ export class ProxyInjector {
10
7
  // eslint-disable-next-line @typescript-eslint/ban-types
11
8
  resolve(container, Target, ...deps) {
12
9
  const args = deps.reduce((acc, it) => (Object.assign(Object.assign({}, acc), it)), {});
@@ -20,4 +17,3 @@ class ProxyInjector {
20
17
  return new Target(proxy);
21
18
  }
22
19
  }
23
- exports.ProxyInjector = ProxyInjector;
@@ -1,21 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReflectionInjector = exports.inject = void 0;
4
- const utils_1 = require("../utils");
1
+ import { constant, merge } from '../utils';
5
2
  const INJECT_KEY = 'INJECT_FN_LIST';
6
- const inject = (value) => (target, propertyKey, parameterIndex) => {
3
+ export const inject = (value) => (target, propertyKey, parameterIndex) => {
7
4
  var _a;
8
5
  const metadata = (_a = Reflect.getOwnMetadata(INJECT_KEY, target)) !== null && _a !== void 0 ? _a : [];
9
6
  metadata[parameterIndex] = value;
10
7
  Reflect.defineMetadata(INJECT_KEY, metadata, target);
11
8
  };
12
- exports.inject = inject;
13
- class ReflectionInjector {
9
+ export class ReflectionInjector {
14
10
  resolve(container, Target, ...deps) {
15
11
  var _a;
16
12
  const injectionFns = (_a = Reflect.getOwnMetadata(INJECT_KEY, Target)) !== null && _a !== void 0 ? _a : [];
17
- const args = (0, utils_1.merge)(injectionFns, deps.map(utils_1.constant)).map((fn) => fn(container));
13
+ const args = merge(injectionFns, deps.map(constant)).map((fn) => fn(container));
18
14
  return new Target(...args);
19
15
  }
20
16
  }
21
- exports.ReflectionInjector = ReflectionInjector;
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SimpleInjector = void 0;
4
- class SimpleInjector {
1
+ export class SimpleInjector {
5
2
  resolve(container, Target, ...deps) {
6
3
  return new Target(container, ...deps);
7
4
  }
8
5
  }
9
- exports.SimpleInjector = SimpleInjector;
package/esm/metadata.js CHANGED
@@ -1,12 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMetadata = exports.setMetadata = void 0;
4
- const setMetadata = (key, value) => (target) => {
1
+ export const setMetadata = (key, value) => (target) => {
5
2
  Reflect.defineMetadata(key, value, target);
6
3
  };
7
- exports.setMetadata = setMetadata;
8
4
  // eslint-disable-next-line @typescript-eslint/ban-types
9
- function getMetadata(target, key) {
5
+ export function getMetadata(target, key) {
10
6
  return Reflect.getOwnMetadata(key, target);
11
7
  }
12
- exports.getMetadata = getMetadata;
@@ -1,16 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArgsProvider = exports.argsFn = exports.args = void 0;
4
- const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function args(...extraArgs) {
1
+ import { ProviderDecorator } from './ProviderDecorator';
2
+ export function args(...extraArgs) {
6
3
  return (provider) => new ArgsProvider(provider, () => extraArgs);
7
4
  }
8
- exports.args = args;
9
- function argsFn(value) {
5
+ export function argsFn(value) {
10
6
  return (provider) => new ArgsProvider(provider, value);
11
7
  }
12
- exports.argsFn = argsFn;
13
- class ArgsProvider extends ProviderDecorator_1.ProviderDecorator {
8
+ export class ArgsProvider extends ProviderDecorator {
14
9
  constructor(provider, argsFn) {
15
10
  super(provider);
16
11
  this.provider = provider;
@@ -23,4 +18,3 @@ class ArgsProvider extends ProviderDecorator_1.ProviderDecorator {
23
18
  return new ArgsProvider(this.provider.clone(), this.argsFn);
24
19
  }
25
20
  }
26
- exports.ArgsProvider = ArgsProvider;
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.alias = void 0;
4
- function alias(...tokens) {
1
+ export function alias(...tokens) {
5
2
  return (provider) => provider.addAliases(...tokens);
6
3
  }
7
- exports.alias = alias;
@@ -1,26 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Provider = exports.provider = void 0;
4
- const utils_1 = require("../utils");
5
- const metadata_1 = require("../metadata");
1
+ import { pipe } from '../utils';
2
+ import { getMetadata, setMetadata } from '../metadata';
6
3
  const PROVIDER_KEY = 'provider';
7
- const provider = (...mappers) => (0, metadata_1.setMetadata)(PROVIDER_KEY, mappers);
8
- exports.provider = provider;
9
- class Provider {
4
+ export const provider = (...mappers) => setMetadata(PROVIDER_KEY, mappers);
5
+ export class Provider {
10
6
  constructor(resolveDependency) {
11
7
  this.resolveDependency = resolveDependency;
12
8
  this.aliases = new Set();
13
9
  }
14
10
  static fromClass(Target) {
15
11
  var _a;
16
- const mappers = (_a = (0, metadata_1.getMetadata)(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
12
+ const mappers = (_a = getMetadata(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
17
13
  return new Provider((container, ...args) => container.resolve(Target, ...args)).pipe(...mappers);
18
14
  }
19
15
  static fromValue(value) {
20
16
  return new Provider(() => value);
21
17
  }
22
18
  pipe(...mappers) {
23
- return (0, utils_1.pipe)(...mappers)(this);
19
+ return pipe(...mappers)(this);
24
20
  }
25
21
  addAliases(...aliases) {
26
22
  for (const alias of aliases) {
@@ -41,4 +37,3 @@ class Provider {
41
37
  return true;
42
38
  }
43
39
  }
44
- exports.Provider = Provider;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderDecorator = void 0;
4
- const utils_1 = require("../utils");
5
- class ProviderDecorator {
1
+ import { pipe } from '../utils';
2
+ export class ProviderDecorator {
6
3
  constructor(decorated) {
7
4
  this.decorated = decorated;
8
5
  }
@@ -20,7 +17,6 @@ class ProviderDecorator {
20
17
  return this.decorated.resolve(container, ...args);
21
18
  }
22
19
  pipe(...mappers) {
23
- return (0, utils_1.pipe)(...mappers)(this);
20
+ return pipe(...mappers)(this);
24
21
  }
25
22
  }
26
- exports.ProviderDecorator = ProviderDecorator;
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingletonProvider = exports.singleton = void 0;
4
- const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function singleton() {
1
+ import { ProviderDecorator } from './ProviderDecorator';
2
+ export function singleton() {
6
3
  return (provider) => new SingletonProvider(provider);
7
4
  }
8
- exports.singleton = singleton;
9
- class SingletonProvider extends ProviderDecorator_1.ProviderDecorator {
5
+ export class SingletonProvider extends ProviderDecorator {
10
6
  constructor(provider) {
11
7
  super(provider);
12
8
  this.provider = provider;
@@ -20,4 +16,3 @@ class SingletonProvider extends ProviderDecorator_1.ProviderDecorator {
20
16
  return this.instance.value;
21
17
  }
22
18
  }
23
- exports.SingletonProvider = SingletonProvider;
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaggedProvider = exports.tags = void 0;
4
- const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function tags(...values) {
1
+ import { ProviderDecorator } from './ProviderDecorator';
2
+ export function tags(...values) {
6
3
  return (provider) => new TaggedProvider(provider, values);
7
4
  }
8
- exports.tags = tags;
9
- class TaggedProvider extends ProviderDecorator_1.ProviderDecorator {
5
+ export class TaggedProvider extends ProviderDecorator {
10
6
  constructor(provider, tags) {
11
7
  super(provider);
12
8
  this.provider = provider;
@@ -19,4 +15,3 @@ class TaggedProvider extends ProviderDecorator_1.ProviderDecorator {
19
15
  return this.tags.some((t) => filters.hasTag(t)) && this.provider.isValid(filters);
20
16
  }
21
17
  }
22
- exports.TaggedProvider = TaggedProvider;
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DependencyMissingKeyError = void 0;
4
- class DependencyMissingKeyError extends Error {
1
+ export class DependencyMissingKeyError extends Error {
5
2
  constructor(message) {
6
3
  super(message);
7
4
  this.name = 'DependencyMissingKeyError';
8
5
  Object.setPrototypeOf(this, DependencyMissingKeyError.prototype);
9
6
  }
10
7
  }
11
- exports.DependencyMissingKeyError = DependencyMissingKeyError;
@@ -1,23 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Registration = exports.key = void 0;
4
- const DependencyMissingKeyError_1 = require("./DependencyMissingKeyError");
5
- const metadata_1 = require("../metadata");
6
- const Provider_1 = require("../provider/Provider");
1
+ import { DependencyMissingKeyError } from './DependencyMissingKeyError';
2
+ import { getMetadata, setMetadata } from '../metadata';
3
+ import { Provider } from '../provider/Provider';
7
4
  const DEPENDENCY_KEY = 'DependencyKey';
8
- const key = (value) => (0, metadata_1.setMetadata)(DEPENDENCY_KEY, value);
9
- exports.key = key;
10
- class Registration {
5
+ export const key = (value) => setMetadata(DEPENDENCY_KEY, value);
6
+ export class Registration {
11
7
  constructor(key, provider) {
12
8
  this.key = key;
13
9
  this.provider = provider;
14
10
  }
15
11
  static fromClass(Target) {
16
- const dependencyKey = (0, metadata_1.getMetadata)(Target, DEPENDENCY_KEY);
12
+ const dependencyKey = getMetadata(Target, DEPENDENCY_KEY);
17
13
  if (dependencyKey === undefined) {
18
- throw new DependencyMissingKeyError_1.DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
14
+ throw new DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
19
15
  }
20
- return new Registration(dependencyKey, Provider_1.Provider.fromClass(Target));
16
+ return new Registration(dependencyKey, Provider.fromClass(Target));
21
17
  }
22
18
  pipe(...mappers) {
23
19
  this.provider = this.provider.pipe(...mappers);
@@ -27,4 +23,3 @@ class Registration {
27
23
  container.register(this.key, this.provider);
28
24
  }
29
25
  }
30
- exports.Registration = Registration;
package/esm/utils.js CHANGED
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.constant = exports.merge = exports.pipe = void 0;
4
- function pipe(...mappers) {
1
+ export function pipe(...mappers) {
5
2
  return (value) => mappers.reduce((acc, current) => current(acc), value);
6
3
  }
7
- exports.pipe = pipe;
8
- function merge(baseArr, insertArr) {
4
+ export function merge(baseArr, insertArr) {
9
5
  if (baseArr.length === 0) {
10
6
  return insertArr;
11
7
  }
@@ -18,6 +14,4 @@ function merge(baseArr, insertArr) {
18
14
  ? [i1].concat(merge(restBaseArr, restInsertArr))
19
15
  : [b1].concat(merge(restBaseArr, insertArr));
20
16
  }
21
- exports.merge = merge;
22
- const constant = (value) => () => value;
23
- exports.constant = constant;
17
+ export const constant = (value) => () => value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "26.4.2",
3
+ "version": "26.4.4",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -60,5 +60,5 @@
60
60
  "ts-node": "^10.9.1",
61
61
  "typescript": "4.4.3"
62
62
  },
63
- "gitHead": "ff01698021ac177951c174e8a921e207ee29ab41"
63
+ "gitHead": "00c7af79e564dabca893b5bc88c0d46888978202"
64
64
  }