ts-ioc-container 26.0.1 → 26.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -141,12 +141,14 @@ Sometimes you want to get all instances from container and its scopes. For examp
141
141
 
142
142
  ```typescript
143
143
  import 'reflect-metadata';
144
- import { Container, Provider, ReflectionInjector } from 'ts-ioc-container';
144
+ import { inject, key, Registration, Container, ReflectionInjector, by } from 'ts-ioc-container';
145
+
145
146
  describe('Instances', function () {
146
- it('should return injected instances', function () {
147
- class Logger {}
147
+ @key('ILogger')
148
+ class Logger {}
148
149
 
149
- const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
150
+ it('should return injected instances', () => {
151
+ const container = new Container(new ReflectionInjector()).use(Registration.fromClass(Logger));
150
152
  const scope = container.createScope();
151
153
 
152
154
  const logger1 = container.resolve('ILogger');
@@ -155,6 +157,24 @@ describe('Instances', function () {
155
157
  expect(scope.getInstances().length).toBe(1);
156
158
  expect(container.getInstances().length).toBe(2);
157
159
  });
160
+
161
+ it('should return injected instances by decorator', () => {
162
+ const isLogger = (instance: unknown) => instance instanceof Logger;
163
+
164
+ class App {
165
+ constructor(@inject(by.instances(isLogger)) public loggers: Logger[]) {}
166
+ }
167
+
168
+ const container = new Container(new ReflectionInjector()).use(Registration.fromClass(Logger));
169
+
170
+ const logger0 = container.resolve('ILogger');
171
+ const logger1 = container.resolve('ILogger');
172
+ const app = container.resolve(App);
173
+
174
+ expect(app.loggers).toHaveLength(2);
175
+ expect(app.loggers[0]).toBe(logger0);
176
+ expect(app.loggers[1]).toBe(logger1);
177
+ });
158
178
  });
159
179
 
160
180
  ```
package/cjm/by.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
2
+ export declare type InstancePredicate = (dep: unknown) => boolean;
3
+ export declare const all: InstancePredicate;
2
4
  export declare const by: {
3
5
  alias: {
4
6
  some: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
@@ -6,4 +8,5 @@ export declare const by: {
6
8
  };
7
9
  keys: (...keys: InjectionToken[]) => (с: IContainer, ...args: unknown[]) => unknown[];
8
10
  key: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
11
+ instances: (predicate?: InstancePredicate) => (l: IContainer) => unknown[];
9
12
  };
package/cjm/by.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.by = void 0;
3
+ exports.by = exports.all = void 0;
4
+ const all = () => true;
5
+ exports.all = all;
4
6
  exports.by = {
5
7
  alias: {
6
8
  some: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
@@ -8,5 +10,6 @@ exports.by = {
8
10
  },
9
11
  keys: (...keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args)),
10
12
  key: (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args),
13
+ instances: (predicate = exports.all) => (l) => l.getInstances().filter(predicate),
11
14
  };
12
15
  //# sourceMappingURL=by.js.map
package/cjm/by.js.map CHANGED
@@ -1 +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"}
1
+ {"version":3,"file":"by.js","sourceRoot":"","sources":["../lib/by.ts"],"names":[],"mappings":";;;AAGO,MAAM,GAAG,GAAsB,GAAG,EAAE,CAAC,IAAI,CAAC;AAApC,QAAA,GAAG,OAAiC;AAEpC,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;IAEvC,SAAS,EACP,CAAC,YAA+B,WAAG,EAAE,EAAE,CACvC,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;CACvC,CAAC"}
package/cjm/index.d.ts CHANGED
@@ -18,5 +18,5 @@ export { ReflectionInjector, inject } from './injector/ReflectionInjector';
18
18
  export { SimpleInjector } from './injector/SimpleInjector';
19
19
  export { ProxyInjector } from './injector/ProxyInjector';
20
20
  export { getHooks, hook } from './hook';
21
- export { by } from './by';
21
+ export { by, InstancePredicate } from './by';
22
22
  export { setMetadata, getMetadata } from './metadata';
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,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"}
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,2BAA6C;AAApC,wFAAA,EAAE,OAAA;AACX,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
@@ -1,11 +1,7 @@
1
1
  import { IInjector } from './IInjector';
2
- import { IContainer, InjectionToken } from '../container/IContainer';
2
+ import { IContainer } from '../container/IContainer';
3
3
  import { constructor } from '../utils';
4
4
  declare type InjectFn<T = unknown> = (l: IContainer, ...args: unknown[]) => T;
5
- /**
6
- * @deprecated
7
- */
8
- export declare const by: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
9
5
  export declare const inject: (value: InjectFn) => ParameterDecorator;
10
6
  export declare class ReflectionInjector implements IInjector {
11
7
  resolve<T>(container: IContainer, Target: constructor<T>, ...deps: unknown[]): T;
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReflectionInjector = exports.inject = exports.by = void 0;
3
+ exports.ReflectionInjector = exports.inject = void 0;
4
4
  const utils_1 = require("../utils");
5
- /**
6
- * @deprecated
7
- */
8
- const by = (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args);
9
- exports.by = by;
10
5
  const INJECT_KEY = 'INJECT_FN_LIST';
11
6
  const inject = (value) => (target, propertyKey, parameterIndex) => {
12
7
  var _a;
@@ -1 +1 @@
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
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIxD,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"}
package/esm/by.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
2
+ export declare type InstancePredicate = (dep: unknown) => boolean;
3
+ export declare const all: InstancePredicate;
2
4
  export declare const by: {
3
5
  alias: {
4
6
  some: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
@@ -6,4 +8,5 @@ export declare const by: {
6
8
  };
7
9
  keys: (...keys: InjectionToken[]) => (с: IContainer, ...args: unknown[]) => unknown[];
8
10
  key: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
11
+ instances: (predicate?: InstancePredicate) => (l: IContainer) => unknown[];
9
12
  };
package/esm/by.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.by = void 0;
3
+ exports.by = exports.all = void 0;
4
+ const all = () => true;
5
+ exports.all = all;
4
6
  exports.by = {
5
7
  alias: {
6
8
  some: (...aliases) => (с, ...args) => с.getTokensByProvider((p) => aliases.some((alias) => p.hasAlias(alias))).map((t) => с.resolve(t, ...args)),
@@ -8,5 +10,6 @@ exports.by = {
8
10
  },
9
11
  keys: (...keys) => (с, ...args) => keys.map((t) => с.resolve(t, ...args)),
10
12
  key: (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args),
13
+ instances: (predicate = exports.all) => (l) => l.getInstances().filter(predicate),
11
14
  };
12
15
  //# sourceMappingURL=by.js.map
package/esm/by.js.map CHANGED
@@ -1 +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"}
1
+ {"version":3,"file":"by.js","sourceRoot":"","sources":["../lib/by.ts"],"names":[],"mappings":";;;AAGO,MAAM,GAAG,GAAsB,GAAG,EAAE,CAAC,IAAI,CAAC;AAApC,QAAA,GAAG,OAAiC;AAEpC,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;IAEvC,SAAS,EACP,CAAC,YAA+B,WAAG,EAAE,EAAE,CACvC,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;CACvC,CAAC"}
package/esm/index.d.ts CHANGED
@@ -18,5 +18,5 @@ export { ReflectionInjector, inject } from './injector/ReflectionInjector';
18
18
  export { SimpleInjector } from './injector/SimpleInjector';
19
19
  export { ProxyInjector } from './injector/ProxyInjector';
20
20
  export { getHooks, hook } from './hook';
21
- export { by } from './by';
21
+ export { by, InstancePredicate } from './by';
22
22
  export { setMetadata, getMetadata } from './metadata';
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,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"}
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,2BAA6C;AAApC,wFAAA,EAAE,OAAA;AACX,uCAAsD;AAA7C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA"}
@@ -1,11 +1,7 @@
1
1
  import { IInjector } from './IInjector';
2
- import { IContainer, InjectionToken } from '../container/IContainer';
2
+ import { IContainer } from '../container/IContainer';
3
3
  import { constructor } from '../utils';
4
4
  declare type InjectFn<T = unknown> = (l: IContainer, ...args: unknown[]) => T;
5
- /**
6
- * @deprecated
7
- */
8
- export declare const by: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
9
5
  export declare const inject: (value: InjectFn) => ParameterDecorator;
10
6
  export declare class ReflectionInjector implements IInjector {
11
7
  resolve<T>(container: IContainer, Target: constructor<T>, ...deps: unknown[]): T;
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReflectionInjector = exports.inject = exports.by = void 0;
3
+ exports.ReflectionInjector = exports.inject = void 0;
4
4
  const utils_1 = require("../utils");
5
- /**
6
- * @deprecated
7
- */
8
- const by = (key, ...deps) => (c, ...args) => c.resolve(key, ...deps, ...args);
9
- exports.by = by;
10
5
  const INJECT_KEY = 'INJECT_FN_LIST';
11
6
  const inject = (value) => (target, propertyKey, parameterIndex) => {
12
7
  var _a;
@@ -1 +1 @@
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
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIxD,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "26.0.1",
3
+ "version": "26.1.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": "8f42d9c2022225f8d5ca9e43f335b3657203354c"
61
+ "gitHead": "f11bf960fbef9a1afba72a6b18ae8f61937d9444"
62
62
  }