ts-ioc-container 26.0.2 → 26.2.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
@@ -116,7 +116,9 @@ import {
116
116
  provider,
117
117
  ReflectionInjector,
118
118
  Registration,
119
+ by,
119
120
  } from 'ts-ioc-container';
121
+ import { IContainer, inject } from 'ts-ioc-container';
120
122
 
121
123
  @key('ILogger')
122
124
  @provider(singleton(), tags('child'))
@@ -130,6 +132,31 @@ describe('Scopes', function () {
130
132
  expect(child.resolve('ILogger')).toBe(child.resolve('ILogger'));
131
133
  expect(() => root.resolve('ILogger')).toThrow(DependencyNotFoundError);
132
134
  });
135
+
136
+ it('should inject current scope', function () {
137
+ const root = new Container(new ReflectionInjector(), { tags: ['root'] }).use(Registration.fromClass(Logger));
138
+
139
+ class App {
140
+ constructor(@inject(by.currentScope) public scope: IContainer) {}
141
+ }
142
+
143
+ const app = root.resolve(App);
144
+
145
+ expect(app.scope).toBe(root);
146
+ });
147
+
148
+ it('should inject new scope', function () {
149
+ const root = new Container(new ReflectionInjector(), { tags: ['root'] }).use(Registration.fromClass(Logger));
150
+
151
+ class App {
152
+ constructor(@inject(by.createScope('child')) public scope: IContainer) {}
153
+ }
154
+
155
+ const app = root.resolve(App);
156
+
157
+ expect(app.scope).not.toBe(root);
158
+ expect(app.scope.hasTag('child')).toBe(true);
159
+ });
133
160
  });
134
161
 
135
162
  ```
@@ -141,12 +168,14 @@ Sometimes you want to get all instances from container and its scopes. For examp
141
168
 
142
169
  ```typescript
143
170
  import 'reflect-metadata';
144
- import { Container, Provider, ReflectionInjector } from 'ts-ioc-container';
171
+ import { inject, key, Registration, Container, ReflectionInjector, by } from 'ts-ioc-container';
172
+
145
173
  describe('Instances', function () {
146
- it('should return injected instances', function () {
147
- class Logger {}
174
+ @key('ILogger')
175
+ class Logger {}
148
176
 
149
- const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
177
+ it('should return injected instances', () => {
178
+ const container = new Container(new ReflectionInjector()).use(Registration.fromClass(Logger));
150
179
  const scope = container.createScope();
151
180
 
152
181
  const logger1 = container.resolve('ILogger');
@@ -155,6 +184,24 @@ describe('Instances', function () {
155
184
  expect(scope.getInstances().length).toBe(1);
156
185
  expect(container.getInstances().length).toBe(2);
157
186
  });
187
+
188
+ it('should return injected instances by decorator', () => {
189
+ const isLogger = (instance: unknown) => instance instanceof Logger;
190
+
191
+ class App {
192
+ constructor(@inject(by.instances(isLogger)) public loggers: Logger[]) {}
193
+ }
194
+
195
+ const container = new Container(new ReflectionInjector()).use(Registration.fromClass(Logger));
196
+
197
+ const logger0 = container.resolve('ILogger');
198
+ const logger1 = container.resolve('ILogger');
199
+ const app = container.resolve(App);
200
+
201
+ expect(app.loggers).toHaveLength(2);
202
+ expect(app.loggers[0]).toBe(logger0);
203
+ expect(app.loggers[1]).toBe(logger1);
204
+ });
158
205
  });
159
206
 
160
207
  ```
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,7 @@ 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[];
12
+ currentScope: (l: IContainer) => IContainer;
13
+ createScope: (...tags: string[]) => (l: IContainer) => IContainer;
9
14
  };
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,8 @@ 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),
14
+ currentScope: (l) => l,
15
+ createScope: (...tags) => (l) => l.createScope(...tags),
11
16
  };
12
17
  //# 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;IAEtC,YAAY,EAAE,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;IAElC,WAAW,EACT,CAAC,GAAG,IAAc,EAAE,EAAE,CACtB,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC3B,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"}
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,7 @@ 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[];
12
+ currentScope: (l: IContainer) => IContainer;
13
+ createScope: (...tags: string[]) => (l: IContainer) => IContainer;
9
14
  };
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,8 @@ 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),
14
+ currentScope: (l) => l,
15
+ createScope: (...tags) => (l) => l.createScope(...tags),
11
16
  };
12
17
  //# 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;IAEtC,YAAY,EAAE,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;IAElC,WAAW,EACT,CAAC,GAAG,IAAc,EAAE,EAAE,CACtB,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC3B,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "26.0.2",
3
+ "version": "26.2.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": "f8d719a0eb8a63c20d6001cdcb88c9d198399b28"
61
+ "gitHead": "c030d8aa5d7a39c9d40304f2d49c0e2a80a6bcac"
62
62
  }