ts-ioc-container 25.2.0 → 26.0.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.
package/README.md CHANGED
@@ -87,7 +87,7 @@ describe('Basic usage', function () {
87
87
  }
88
88
 
89
89
  class App {
90
- constructor(@inject(by('ILogger')) public logger: Logger) {}
90
+ constructor(@inject(by.key('ILogger')) public logger: Logger) {}
91
91
  }
92
92
 
93
93
  const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
@@ -210,7 +210,7 @@ class Logger {
210
210
  }
211
211
 
212
212
  class App {
213
- constructor(@inject(by('ILogger')) private logger: Logger) {}
213
+ constructor(@inject(by.key('ILogger')) private logger: Logger) {}
214
214
 
215
215
  // OR
216
216
  // constructor(@inject((container, ...args) => container.resolve('ILogger', ...args)) private logger: ILogger) {
@@ -491,26 +491,26 @@ Sometimes you want to register the same provider with different keys. This is wh
491
491
 
492
492
  ```typescript
493
493
  import 'reflect-metadata';
494
- import { alias, bySomeAlias, Container, inject, Provider, provider, ReflectionInjector } from 'ts-ioc-container';
494
+ import { alias, by, Container, inject, Provider, provider, ReflectionInjector } from 'ts-ioc-container';
495
495
 
496
496
  describe('alias', () => {
497
- it('should create an alias', () => {
498
- interface ILogger {
499
- name: string;
500
- }
497
+ interface ILogger {
498
+ name: string;
499
+ }
501
500
 
502
- @provider(alias('ILogger'))
503
- class FileLogger implements ILogger {
504
- name = 'FileLogger';
505
- }
501
+ @provider(alias('ILogger', 'a'))
502
+ class FileLogger implements ILogger {
503
+ name = 'FileLogger';
504
+ }
506
505
 
507
- @provider(alias('ILogger'))
508
- class DbLogger implements ILogger {
509
- name = 'DbLogger';
510
- }
506
+ @provider(alias('ILogger', 'b'))
507
+ class DbLogger implements ILogger {
508
+ name = 'DbLogger';
509
+ }
511
510
 
511
+ it('should resolve by some alias', () => {
512
512
  class App {
513
- constructor(@inject(bySomeAlias('ILogger')) public loggers: ILogger[]) {}
513
+ constructor(@inject(by.alias.some('ILogger')) public loggers: ILogger[]) {}
514
514
  }
515
515
 
516
516
  const container = new Container(new ReflectionInjector())
@@ -522,6 +522,21 @@ describe('alias', () => {
522
522
  expect(app.loggers[0]).toBeInstanceOf(FileLogger);
523
523
  expect(app.loggers[1]).toBeInstanceOf(DbLogger);
524
524
  });
525
+
526
+ it('should resolve by all alias', () => {
527
+ class App {
528
+ constructor(@inject(by.alias.all('ILogger', 'a')) public loggers: ILogger[]) {}
529
+ }
530
+
531
+ const container = new Container(new ReflectionInjector())
532
+ .register('IFileLogger', Provider.fromClass(FileLogger))
533
+ .register('IDbLogger', Provider.fromClass(DbLogger));
534
+
535
+ const app = container.resolve(App);
536
+
537
+ expect(app.loggers).toHaveLength(1);
538
+ expect(app.loggers[0]).toBeInstanceOf(FileLogger);
539
+ });
525
540
  });
526
541
 
527
542
  ```
@@ -611,7 +626,6 @@ import {
611
626
  ReflectionInjector,
612
627
  Registration,
613
628
  } from 'ts-ioc-container';
614
- import * as console from 'console';
615
629
 
616
630
  class MyInjector implements IInjector {
617
631
  private injector = new ReflectionInjector();
@@ -619,7 +633,7 @@ class MyInjector implements IInjector {
619
633
  resolve<T>(container: IContainer, value: constructor<T>, ...deps: unknown[]): T {
620
634
  const instance = this.injector.resolve(container, value, ...deps);
621
635
  // eslint-disable-next-line @typescript-eslint/ban-types
622
- for (const h of getHooks(instance, 'onConstruct')) {
636
+ for (const h of getHooks(instance as object, 'onConstruct')) {
623
637
  // @ts-ignore
624
638
  instance[h]();
625
639
  }
@@ -683,7 +697,7 @@ class LogsRepo {
683
697
  class Logger {
684
698
  private messages: string[] = [];
685
699
 
686
- constructor(@inject(by('logsRepo')) private logsRepo: LogsRepo) {}
700
+ constructor(@inject(by.key('logsRepo')) private logsRepo: LogsRepo) {}
687
701
 
688
702
  log(message: string): void {
689
703
  this.messages.push(message);
package/cjm/by.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
2
+ export declare const by: {
3
+ alias: {
4
+ some: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
5
+ all: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
6
+ };
7
+ keys: (...keys: InjectionToken[]) => (с: IContainer, ...args: unknown[]) => unknown[];
8
+ key: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
9
+ };
package/cjm/by.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.by = void 0;
4
+ exports.by = {
5
+ alias: {
6
+ some: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
7
+ all: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.every((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
8
+ },
9
+ keys: (...keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args)),
10
+ key: (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args),
11
+ };
12
+ //# sourceMappingURL=by.js.map
package/cjm/by.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by.js","sourceRoot":"","sources":["../lib/by.ts"],"names":[],"mappings":";;;AAEa,QAAA,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,IAAI,EACF,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAE9G,GAAG,EACD,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;KAChH;IAED,IAAI,EACF,CAAC,GAAG,IAAsB,EAAE,EAAE,CAC9B,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,GAAG,EACD,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CACxC,CAAC"}
package/cjm/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { IContainer, Resolvable, IContainerModule, isDependencyKey, DependencyKey, InjectionToken, Tag, } from './container/IContainer';
2
2
  export { constructor } from './utils';
3
3
  export { Container } from './container/Container';
4
- export { ResolveDependency, IProvider, bySomeAlias, byAllAliases, alias, byKeys } from './provider/IProvider';
4
+ export { EmptyContainer } from './container/EmptyContainer';
5
+ export { ResolveDependency, IProvider, alias } from './provider/IProvider';
5
6
  export { IInjector } from './injector/IInjector';
6
7
  export { DependencyNotFoundError } from './container/DependencyNotFoundError';
7
8
  export { MethodNotImplementedError } from './container/MethodNotImplementedError';
@@ -13,8 +14,9 @@ export { tags, TaggedProvider } from './provider/TaggedProvider';
13
14
  export { AutoMockedContainer } from './container/AutoMockedContainer';
14
15
  export { key, Registration } from './registration/Registration';
15
16
  export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
16
- export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
+ export { ReflectionInjector, inject } from './injector/ReflectionInjector';
17
18
  export { SimpleInjector } from './injector/SimpleInjector';
18
19
  export { ProxyInjector } from './injector/ProxyInjector';
19
20
  export { getHooks, hook } from './hook';
21
+ export { by } from './by';
20
22
  export { setMetadata, getMetadata } from './metadata';
package/cjm/index.js CHANGED
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMetadata = exports.setMetadata = exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.by = 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.byKeys = exports.alias = exports.byAllAliases = exports.bySomeAlias = exports.Container = exports.isDependencyKey = void 0;
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
4
  var IContainer_1 = require("./container/IContainer");
5
5
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
6
  var Container_1 = require("./container/Container");
7
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; } });
8
10
  var IProvider_1 = require("./provider/IProvider");
9
- Object.defineProperty(exports, "bySomeAlias", { enumerable: true, get: function () { return IProvider_1.bySomeAlias; } });
10
- Object.defineProperty(exports, "byAllAliases", { enumerable: true, get: function () { return IProvider_1.byAllAliases; } });
11
11
  Object.defineProperty(exports, "alias", { enumerable: true, get: function () { return IProvider_1.alias; } });
12
- Object.defineProperty(exports, "byKeys", { enumerable: true, get: function () { return IProvider_1.byKeys; } });
13
12
  var DependencyNotFoundError_1 = require("./container/DependencyNotFoundError");
14
13
  Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return DependencyNotFoundError_1.DependencyNotFoundError; } });
15
14
  var MethodNotImplementedError_1 = require("./container/MethodNotImplementedError");
@@ -39,7 +38,6 @@ Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true,
39
38
  var ReflectionInjector_1 = require("./injector/ReflectionInjector");
40
39
  Object.defineProperty(exports, "ReflectionInjector", { enumerable: true, get: function () { return ReflectionInjector_1.ReflectionInjector; } });
41
40
  Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return ReflectionInjector_1.inject; } });
42
- Object.defineProperty(exports, "by", { enumerable: true, get: function () { return ReflectionInjector_1.by; } });
43
41
  var SimpleInjector_1 = require("./injector/SimpleInjector");
44
42
  Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
45
43
  var ProxyInjector_1 = require("./injector/ProxyInjector");
@@ -47,6 +45,8 @@ Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: functio
47
45
  var hook_1 = require("./hook");
48
46
  Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } });
49
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
50
  var metadata_1 = require("./metadata");
51
51
  Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
52
52
  Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,kDAA8G;AAAvE,wGAAA,WAAW,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,mGAAA,MAAM,OAAA;AAE/E,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,wGAAA,EAAE,OAAA;AACvC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA;AACvB,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,kDAA2E;AAApC,kGAAA,KAAK,OAAA;AAE5C,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA2E;AAAlE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AACnC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA;AACvB,2BAA0B;AAAjB,wFAAA,EAAE,OAAA;AACX,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
@@ -2,7 +2,10 @@ import { IInjector } from './IInjector';
2
2
  import { IContainer, InjectionToken } from '../container/IContainer';
3
3
  import { constructor } from '../utils';
4
4
  declare type InjectFn<T = unknown> = (l: IContainer, ...args: unknown[]) => T;
5
- export declare const by: <T>(key: InjectionToken<T>, ...args: unknown[]) => (c: IContainer) => T;
5
+ /**
6
+ * @deprecated
7
+ */
8
+ export declare const by: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
6
9
  export declare const inject: (value: InjectFn) => ParameterDecorator;
7
10
  export declare class ReflectionInjector implements IInjector {
8
11
  resolve<T>(container: IContainer, Target: constructor<T>, ...deps: unknown[]): T;
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReflectionInjector = exports.inject = exports.by = void 0;
4
4
  const utils_1 = require("../utils");
5
- const by = (key, ...args) => (c) => c.resolve(key, ...args);
5
+ /**
6
+ * @deprecated
7
+ */
8
+ const by = (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args);
6
9
  exports.by = by;
7
10
  const INJECT_KEY = 'INJECT_FN_LIST';
8
11
  const inject = (value) => (target, propertyKey, parameterIndex) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIjD,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAHlB,QAAA,EAAE,MAGgB;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
1
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIxD;;GAEG;AACI,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAH3B,QAAA,EAAE,MAGyB;AAExC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
@@ -1,4 +1,4 @@
1
- import { DependencyKey, IContainer, Resolvable, Tagged } from '../container/IContainer';
1
+ import { DependencyKey, Resolvable, Tagged } from '../container/IContainer';
2
2
  import { MapFn } from '../utils';
3
3
  export declare type ResolveDependency<T = unknown> = (container: Resolvable, ...args: unknown[]) => T;
4
4
  export interface IProvider<T = unknown> {
@@ -10,6 +10,3 @@ export interface IProvider<T = unknown> {
10
10
  addAliases(...aliases: DependencyKey[]): this;
11
11
  }
12
12
  export declare function alias<T = unknown>(...tokens: DependencyKey[]): MapFn<IProvider<T>>;
13
- export declare const bySomeAlias: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
14
- export declare const byAllAliases: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
15
- export declare const byKeys: (keys: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.byKeys = exports.byAllAliases = exports.bySomeAlias = exports.alias = void 0;
3
+ exports.alias = void 0;
4
4
  function alias(...tokens) {
5
5
  return (provider) => provider.addAliases(...tokens);
6
6
  }
7
7
  exports.alias = alias;
8
- const bySomeAlias = (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args));
9
- exports.bySomeAlias = bySomeAlias;
10
- const byAllAliases = (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args));
11
- exports.byAllAliases = byAllAliases;
12
- const byKeys = (keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args));
13
- exports.byKeys = byKeys;
14
8
  //# sourceMappingURL=IProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../lib/provider/IProvider.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,KAAK,CAAc,GAAG,MAAuB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,sBAEC;AAEM,MAAM,WAAW,GACtB,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAHlG,QAAA,WAAW,eAGuF;AAExG,MAAM,YAAY,GACvB,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAHlG,QAAA,YAAY,gBAGsF;AAExG,MAAM,MAAM,GACjB,CAAC,IAAqB,EAAE,EAAE,CAC1B,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAH9B,QAAA,MAAM,UAGwB"}
1
+ {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../lib/provider/IProvider.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,KAAK,CAAc,GAAG,MAAuB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,sBAEC"}
package/esm/by.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
2
+ export declare const by: {
3
+ alias: {
4
+ some: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
5
+ all: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
6
+ };
7
+ keys: (...keys: InjectionToken[]) => (с: IContainer, ...args: unknown[]) => unknown[];
8
+ key: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
9
+ };
package/esm/by.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.by = void 0;
4
+ exports.by = {
5
+ alias: {
6
+ some: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
7
+ all: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.every((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
8
+ },
9
+ keys: (...keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args)),
10
+ key: (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args),
11
+ };
12
+ //# sourceMappingURL=by.js.map
package/esm/by.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by.js","sourceRoot":"","sources":["../lib/by.ts"],"names":[],"mappings":";;;AAEa,QAAA,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,IAAI,EACF,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAE9G,GAAG,EACD,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;KAChH;IAED,IAAI,EACF,CAAC,GAAG,IAAsB,EAAE,EAAE,CAC9B,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,GAAG,EACD,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CACxC,CAAC"}
package/esm/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { IContainer, Resolvable, IContainerModule, isDependencyKey, DependencyKey, InjectionToken, Tag, } from './container/IContainer';
2
2
  export { constructor } from './utils';
3
3
  export { Container } from './container/Container';
4
- export { ResolveDependency, IProvider, bySomeAlias, byAllAliases, alias, byKeys } from './provider/IProvider';
4
+ export { EmptyContainer } from './container/EmptyContainer';
5
+ export { ResolveDependency, IProvider, alias } from './provider/IProvider';
5
6
  export { IInjector } from './injector/IInjector';
6
7
  export { DependencyNotFoundError } from './container/DependencyNotFoundError';
7
8
  export { MethodNotImplementedError } from './container/MethodNotImplementedError';
@@ -13,8 +14,9 @@ export { tags, TaggedProvider } from './provider/TaggedProvider';
13
14
  export { AutoMockedContainer } from './container/AutoMockedContainer';
14
15
  export { key, Registration } from './registration/Registration';
15
16
  export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
16
- export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
+ export { ReflectionInjector, inject } from './injector/ReflectionInjector';
17
18
  export { SimpleInjector } from './injector/SimpleInjector';
18
19
  export { ProxyInjector } from './injector/ProxyInjector';
19
20
  export { getHooks, hook } from './hook';
21
+ export { by } from './by';
20
22
  export { setMetadata, getMetadata } from './metadata';
package/esm/index.js CHANGED
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMetadata = exports.setMetadata = exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.by = 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.byKeys = exports.alias = exports.byAllAliases = exports.bySomeAlias = exports.Container = exports.isDependencyKey = void 0;
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
4
  var IContainer_1 = require("./container/IContainer");
5
5
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
6
  var Container_1 = require("./container/Container");
7
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; } });
8
10
  var IProvider_1 = require("./provider/IProvider");
9
- Object.defineProperty(exports, "bySomeAlias", { enumerable: true, get: function () { return IProvider_1.bySomeAlias; } });
10
- Object.defineProperty(exports, "byAllAliases", { enumerable: true, get: function () { return IProvider_1.byAllAliases; } });
11
11
  Object.defineProperty(exports, "alias", { enumerable: true, get: function () { return IProvider_1.alias; } });
12
- Object.defineProperty(exports, "byKeys", { enumerable: true, get: function () { return IProvider_1.byKeys; } });
13
12
  var DependencyNotFoundError_1 = require("./container/DependencyNotFoundError");
14
13
  Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return DependencyNotFoundError_1.DependencyNotFoundError; } });
15
14
  var MethodNotImplementedError_1 = require("./container/MethodNotImplementedError");
@@ -39,7 +38,6 @@ Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true,
39
38
  var ReflectionInjector_1 = require("./injector/ReflectionInjector");
40
39
  Object.defineProperty(exports, "ReflectionInjector", { enumerable: true, get: function () { return ReflectionInjector_1.ReflectionInjector; } });
41
40
  Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return ReflectionInjector_1.inject; } });
42
- Object.defineProperty(exports, "by", { enumerable: true, get: function () { return ReflectionInjector_1.by; } });
43
41
  var SimpleInjector_1 = require("./injector/SimpleInjector");
44
42
  Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
45
43
  var ProxyInjector_1 = require("./injector/ProxyInjector");
@@ -47,6 +45,8 @@ Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: functio
47
45
  var hook_1 = require("./hook");
48
46
  Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } });
49
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
50
  var metadata_1 = require("./metadata");
51
51
  Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
52
52
  Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,kDAA8G;AAAvE,wGAAA,WAAW,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,mGAAA,MAAM,OAAA;AAE/E,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,wGAAA,EAAE,OAAA;AACvC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA;AACvB,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,kDAA2E;AAApC,kGAAA,KAAK,OAAA;AAE5C,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA2E;AAAlE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AACnC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA;AACvB,2BAA0B;AAAjB,wFAAA,EAAE,OAAA;AACX,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
@@ -2,7 +2,10 @@ import { IInjector } from './IInjector';
2
2
  import { IContainer, InjectionToken } from '../container/IContainer';
3
3
  import { constructor } from '../utils';
4
4
  declare type InjectFn<T = unknown> = (l: IContainer, ...args: unknown[]) => T;
5
- export declare const by: <T>(key: InjectionToken<T>, ...args: unknown[]) => (c: IContainer) => T;
5
+ /**
6
+ * @deprecated
7
+ */
8
+ export declare const by: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
6
9
  export declare const inject: (value: InjectFn) => ParameterDecorator;
7
10
  export declare class ReflectionInjector implements IInjector {
8
11
  resolve<T>(container: IContainer, Target: constructor<T>, ...deps: unknown[]): T;
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReflectionInjector = exports.inject = exports.by = void 0;
4
4
  const utils_1 = require("../utils");
5
- const by = (key, ...args) => (c) => c.resolve(key, ...args);
5
+ /**
6
+ * @deprecated
7
+ */
8
+ const by = (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args);
6
9
  exports.by = by;
7
10
  const INJECT_KEY = 'INJECT_FN_LIST';
8
11
  const inject = (value) => (target, propertyKey, parameterIndex) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIjD,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAHlB,QAAA,EAAE,MAGgB;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
1
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIxD;;GAEG;AACI,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAH3B,QAAA,EAAE,MAGyB;AAExC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
@@ -1,4 +1,4 @@
1
- import { DependencyKey, IContainer, Resolvable, Tagged } from '../container/IContainer';
1
+ import { DependencyKey, Resolvable, Tagged } from '../container/IContainer';
2
2
  import { MapFn } from '../utils';
3
3
  export declare type ResolveDependency<T = unknown> = (container: Resolvable, ...args: unknown[]) => T;
4
4
  export interface IProvider<T = unknown> {
@@ -10,6 +10,3 @@ export interface IProvider<T = unknown> {
10
10
  addAliases(...aliases: DependencyKey[]): this;
11
11
  }
12
12
  export declare function alias<T = unknown>(...tokens: DependencyKey[]): MapFn<IProvider<T>>;
13
- export declare const bySomeAlias: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
14
- export declare const byAllAliases: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
15
- export declare const byKeys: (keys: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.byKeys = exports.byAllAliases = exports.bySomeAlias = exports.alias = void 0;
3
+ exports.alias = void 0;
4
4
  function alias(...tokens) {
5
5
  return (provider) => provider.addAliases(...tokens);
6
6
  }
7
7
  exports.alias = alias;
8
- const bySomeAlias = (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args));
9
- exports.bySomeAlias = bySomeAlias;
10
- const byAllAliases = (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args));
11
- exports.byAllAliases = byAllAliases;
12
- const byKeys = (keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args));
13
- exports.byKeys = byKeys;
14
8
  //# sourceMappingURL=IProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../lib/provider/IProvider.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,KAAK,CAAc,GAAG,MAAuB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,sBAEC;AAEM,MAAM,WAAW,GACtB,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAHlG,QAAA,WAAW,eAGuF;AAExG,MAAM,YAAY,GACvB,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAHlG,QAAA,YAAY,gBAGsF;AAExG,MAAM,MAAM,GACjB,CAAC,IAAqB,EAAE,EAAE,CAC1B,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAH9B,QAAA,MAAM,UAGwB"}
1
+ {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../lib/provider/IProvider.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,KAAK,CAAc,GAAG,MAAuB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,sBAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "25.2.0",
3
+ "version": "26.0.0",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -58,5 +58,5 @@
58
58
  "ts-node": "^10.9.1",
59
59
  "typescript": "4.4.3"
60
60
  },
61
- "gitHead": "5ba79a412340f7d218533eaf2e5d4932103665f7"
61
+ "gitHead": "10ce984076d8516734f19f260a685867daa6d5bc"
62
62
  }