ts-ioc-container 44.0.3 → 44.0.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/README.md CHANGED
@@ -261,7 +261,7 @@ describe('Disposing', function () {
261
261
  Sometimes you want to create dependency only when somebody want to invoke it's method or property. This is what `lazy` is for.
262
262
 
263
263
  ```typescript
264
- import { Container, inject, register, Registration as R, singleton, toToken } from 'ts-ioc-container';
264
+ import { Container, inject, register, Registration as R, select as s, singleton } from 'ts-ioc-container';
265
265
 
266
266
  describe('lazy provider', () => {
267
267
  @register(singleton())
@@ -286,7 +286,7 @@ describe('lazy provider', () => {
286
286
  }
287
287
 
288
288
  class App {
289
- constructor(@inject(toToken('Service').lazy()) public service: Service) {}
289
+ constructor(@inject(s.token('Service').lazy()) public service: Service) {}
290
290
 
291
291
  run() {
292
292
  return this.service.greet();
@@ -545,8 +545,8 @@ import {
545
545
  register,
546
546
  Registration as R,
547
547
  scopeAccess,
548
+ select as s,
548
549
  singleton,
549
- toToken,
550
550
  } from 'ts-ioc-container';
551
551
 
552
552
  class Logger {}
@@ -763,7 +763,7 @@ describe('Provider', () => {
763
763
  }
764
764
 
765
765
  class Main {
766
- constructor(@inject(toToken('ILogger').args({ channel: 'file' })) private logger: Logger) {}
766
+ constructor(@inject(s.token('ILogger').args({ channel: 'file' })) private logger: Logger) {}
767
767
 
768
768
  getChannel(): string {
769
769
  return this.logger.channel;
@@ -788,7 +788,7 @@ describe('Provider', () => {
788
788
 
789
789
  class Main {
790
790
  constructor(
791
- @inject(toToken('ILogger').argsFn((s) => [{ channel: s.resolve('channel') }])) private logger: Logger,
791
+ @inject(s.token('ILogger').argsFn((s) => [{ channel: s.resolve('channel') }])) private logger: Logger,
792
792
  ) {}
793
793
 
794
794
  getChannel(): string {
@@ -1059,12 +1059,12 @@ import {
1059
1059
  register,
1060
1060
  Registration as R,
1061
1061
  scope,
1062
- toAlias,
1062
+ select as s,
1063
1063
  } from 'ts-ioc-container';
1064
1064
 
1065
1065
  describe('alias', () => {
1066
1066
  const IMiddlewareKey = 'IMiddleware';
1067
- const middleware = register(bindTo(toAlias(IMiddlewareKey)));
1067
+ const middleware = register(bindTo(s.alias(IMiddlewareKey)));
1068
1068
 
1069
1069
  interface IMiddleware {
1070
1070
  applyTo(application: IApplication): void;
@@ -1092,7 +1092,7 @@ describe('alias', () => {
1092
1092
  it('should resolve by some alias', () => {
1093
1093
  class App implements IApplication {
1094
1094
  private appliedMiddleware: Set<string> = new Set();
1095
- constructor(@inject(toAlias(IMiddlewareKey)) public middleware: IMiddleware[]) {}
1095
+ constructor(@inject(s.alias(IMiddlewareKey)) public middleware: IMiddleware[]) {}
1096
1096
 
1097
1097
  markMiddlewareAsApplied(name: string): void {
1098
1098
  this.appliedMiddleware.add(name);
@@ -1125,7 +1125,7 @@ describe('alias', () => {
1125
1125
  });
1126
1126
 
1127
1127
  it('should resolve by some alias', () => {
1128
- @register(bindTo(toAlias('ILogger')))
1128
+ @register(bindTo(s.alias('ILogger')))
1129
1129
  class FileLogger {}
1130
1130
 
1131
1131
  const container = new Container().addRegistration(R.fromClass(FileLogger));
@@ -1135,10 +1135,10 @@ describe('alias', () => {
1135
1135
  });
1136
1136
 
1137
1137
  it('should resolve by alias', () => {
1138
- @register(bindTo(toAlias('ILogger')), scope((s) => s.hasTag('root')))
1138
+ @register(bindTo(s.alias('ILogger')), scope((s) => s.hasTag('root')))
1139
1139
  class FileLogger {}
1140
1140
 
1141
- @register(bindTo(toAlias('ILogger')), scope((s) => s.hasTag('child')))
1141
+ @register(bindTo(s.alias('ILogger')), scope((s) => s.hasTag('child')))
1142
1142
  class DbLogger {}
1143
1143
 
1144
1144
  const container = new Container({ tags: ['root'] })
@@ -1169,8 +1169,8 @@ import {
1169
1169
  inject,
1170
1170
  register,
1171
1171
  Registration as R,
1172
+ select as s,
1172
1173
  singleton,
1173
- toToken,
1174
1174
  } from 'ts-ioc-container';
1175
1175
 
1176
1176
  describe('lazy provider', () => {
@@ -1199,7 +1199,7 @@ describe('lazy provider', () => {
1199
1199
  class LogRepository implements IRepository {
1200
1200
  constructor(
1201
1201
  private repository: IRepository,
1202
- @inject(toToken('Logger').lazy()) private logger: Logger,
1202
+ @inject(s.token('Logger').lazy()) private logger: Logger,
1203
1203
  ) {}
1204
1204
 
1205
1205
  async save(item: Todo): Promise<void> {
@@ -1268,8 +1268,8 @@ import {
1268
1268
  register,
1269
1269
  Registration as R,
1270
1270
  scope,
1271
+ select as s,
1271
1272
  singleton,
1272
- toAlias,
1273
1273
  } from 'ts-ioc-container';
1274
1274
 
1275
1275
  describe('Registration module', function () {
@@ -1311,7 +1311,7 @@ describe('Registration module', function () {
1311
1311
  });
1312
1312
 
1313
1313
  it('should assign additional key which redirects to original one', function () {
1314
- @register(bindTo('ILogger'), bindTo(toAlias('Logger')), singleton())
1314
+ @register(bindTo('ILogger'), bindTo(s.alias('Logger')), singleton())
1315
1315
  class Logger {}
1316
1316
 
1317
1317
  const root = createContainer().addRegistration(R.fromClass(Logger));
@@ -30,15 +30,15 @@ class Container {
30
30
  this.aliases.setAliasesByKey(key, aliases);
31
31
  return this;
32
32
  }
33
- resolve(key, { args = [], child = this, lazy } = {}) {
33
+ resolve(target, { args = [], child = this, lazy } = {}) {
34
34
  this.validateContainer();
35
- if (utils_1.Is.constructor(key)) {
36
- return this.injector.resolve(this, key, { args, lazy });
35
+ if (utils_1.Is.constructor(target)) {
36
+ return this.injector.resolve(this, target, { args, lazy });
37
37
  }
38
- const provider = this.providers.get(key);
38
+ const provider = this.providers.get(target);
39
39
  return provider?.hasAccess({ invocationScope: child, providerScope: this })
40
40
  ? provider.resolve(this, { args, lazy })
41
- : this.parent.resolve(key, { args, child, lazy });
41
+ : this.parent.resolve(target, { args, child, lazy });
42
42
  }
43
43
  resolveByAlias(alias, { args = [], child = this, lazy, excludedKeys = [] } = {}) {
44
44
  this.validateContainer();
package/cjm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toAliasUniq = exports.AliasUniqToken = exports.toAlias = exports.AliasToken = exports.InjectionToken = exports.getParameterMetadata = exports.getMethodMetadata = exports.setMethodMetadata = exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.HooksRunner = exports.onDispose = exports.onDisposeHooksRunner = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.MultiCache = exports.multiCache = exports.SingletonProvider = exports.singleton = exports.Provider = exports.resolveByArgs = exports.ProviderDecorator = exports.args = exports.argsFn = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
- exports.Is = exports.select = exports.toToken = exports.InstanceListToken = exports.ConstantToken = exports.FunctionToken = exports.IDToken = exports.ClassToken = void 0;
3
+ exports.ClassToken = exports.toAliasUniq = exports.AliasUniqToken = exports.AliasToken = exports.InjectionToken = exports.getParameterMetadata = exports.getMethodMetadata = exports.setMethodMetadata = exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.HooksRunner = exports.onDispose = exports.onDisposeHooksRunner = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.MultiCache = exports.multiCache = exports.SingletonProvider = exports.singleton = exports.Provider = exports.resolveByArgs = exports.ProviderDecorator = exports.args = exports.argsFn = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
+ exports.Is = exports.select = exports.InstanceListToken = exports.ConstantToken = exports.FunctionToken = exports.IDToken = void 0;
5
5
  // Containers
6
6
  var IContainer_1 = require("./container/IContainer");
7
7
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
@@ -86,7 +86,6 @@ var InjectionToken_1 = require("./token/InjectionToken");
86
86
  Object.defineProperty(exports, "InjectionToken", { enumerable: true, get: function () { return InjectionToken_1.InjectionToken; } });
87
87
  var AliasToken_1 = require("./token/AliasToken");
88
88
  Object.defineProperty(exports, "AliasToken", { enumerable: true, get: function () { return AliasToken_1.AliasToken; } });
89
- Object.defineProperty(exports, "toAlias", { enumerable: true, get: function () { return AliasToken_1.toAlias; } });
90
89
  var AliasUniqToken_1 = require("./token/AliasUniqToken");
91
90
  Object.defineProperty(exports, "AliasUniqToken", { enumerable: true, get: function () { return AliasUniqToken_1.AliasUniqToken; } });
92
91
  Object.defineProperty(exports, "toAliasUniq", { enumerable: true, get: function () { return AliasUniqToken_1.toAliasUniq; } });
@@ -100,8 +99,6 @@ var ConstantToken_1 = require("./token/ConstantToken");
100
99
  Object.defineProperty(exports, "ConstantToken", { enumerable: true, get: function () { return ConstantToken_1.ConstantToken; } });
101
100
  var InstanceListToken_1 = require("./token/InstanceListToken");
102
101
  Object.defineProperty(exports, "InstanceListToken", { enumerable: true, get: function () { return InstanceListToken_1.InstanceListToken; } });
103
- var toToken_1 = require("./token/toToken");
104
- Object.defineProperty(exports, "toToken", { enumerable: true, get: function () { return toToken_1.toToken; } });
105
102
  // Others
106
103
  var select_1 = require("./select");
107
104
  Object.defineProperty(exports, "select", { enumerable: true, get: function () { return select_1.select; } });
@@ -27,15 +27,15 @@ export class Container {
27
27
  this.aliases.setAliasesByKey(key, aliases);
28
28
  return this;
29
29
  }
30
- resolve(key, { args = [], child = this, lazy } = {}) {
30
+ resolve(target, { args = [], child = this, lazy } = {}) {
31
31
  this.validateContainer();
32
- if (Is.constructor(key)) {
33
- return this.injector.resolve(this, key, { args, lazy });
32
+ if (Is.constructor(target)) {
33
+ return this.injector.resolve(this, target, { args, lazy });
34
34
  }
35
- const provider = this.providers.get(key);
35
+ const provider = this.providers.get(target);
36
36
  return provider?.hasAccess({ invocationScope: child, providerScope: this })
37
37
  ? provider.resolve(this, { args, lazy })
38
- : this.parent.resolve(key, { args, child, lazy });
38
+ : this.parent.resolve(target, { args, child, lazy });
39
39
  }
40
40
  resolveByAlias(alias, { args = [], child = this, lazy, excludedKeys = [] } = {}) {
41
41
  this.validateContainer();
package/esm/index.js CHANGED
@@ -34,14 +34,13 @@ export { HooksRunner } from './hooks/HooksRunner';
34
34
  export { setMetadata, getMetadata, setParameterMetadata, setMethodMetadata, getMethodMetadata, getParameterMetadata, } from './metadata';
35
35
  // InjectionToken
36
36
  export { InjectionToken } from './token/InjectionToken';
37
- export { AliasToken, toAlias } from './token/AliasToken';
37
+ export { AliasToken } from './token/AliasToken';
38
38
  export { AliasUniqToken, toAliasUniq } from './token/AliasUniqToken';
39
39
  export { ClassToken } from './token/ClassToken';
40
40
  export { IDToken } from './token/IDToken';
41
41
  export { FunctionToken } from './token/FunctionToken';
42
42
  export { ConstantToken } from './token/ConstantToken';
43
43
  export { InstanceListToken } from './token/InstanceListToken';
44
- export { toToken } from './token/toToken';
45
44
  // Others
46
45
  export { select } from './select';
47
46
  export { Is } from './utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "44.0.3",
3
+ "version": "44.0.4",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -23,7 +23,7 @@ export declare class Container implements IContainer {
23
23
  tags?: Tag[];
24
24
  });
25
25
  register(key: DependencyKey, provider: IProvider, { aliases }?: RegisterOptions): this;
26
- resolve<T>(key: constructor<T> | DependencyKey, { args, child, lazy }?: ResolveOneOptions): T;
26
+ resolve<T>(target: constructor<T> | DependencyKey, { args, child, lazy }?: ResolveOneOptions): T;
27
27
  resolveByAlias<T>(alias: DependencyKey, { args, child, lazy, excludedKeys }?: ResolveManyOptions): T[];
28
28
  resolveOneByAlias<T>(alias: DependencyKey, { args, child, lazy }?: ResolveOneOptions): T;
29
29
  createScope({ tags }?: CreateScopeOptions): IContainer;
@@ -33,7 +33,7 @@ export interface IContainer extends Tagged {
33
33
  register(key: DependencyKey, value: IProvider, options?: RegisterOptions): this;
34
34
  addRegistration(registration: IRegistration): this;
35
35
  getRegistrations(): IRegistration[];
36
- resolve<T>(alias: constructor<T> | DependencyKey, options?: ResolveOneOptions): T;
36
+ resolve<T>(target: constructor<T> | DependencyKey, options?: ResolveOneOptions): T;
37
37
  resolveByAlias<T>(alias: DependencyKey, options?: ResolveManyOptions): T[];
38
38
  resolveOneByAlias<T>(alias: DependencyKey, options?: ResolveOneOptions): T;
39
39
  createScope(options?: CreateScopeOptions): IContainer;
@@ -27,14 +27,13 @@ export { onDisposeHooksRunner, onDispose } from './hooks/onDispose';
27
27
  export { HooksRunnerContext, HooksRunner } from './hooks/HooksRunner';
28
28
  export { setMetadata, getMetadata, setParameterMetadata, setMethodMetadata, getMethodMetadata, getParameterMetadata, } from './metadata';
29
29
  export { InjectionToken } from './token/InjectionToken';
30
- export { AliasToken, toAlias } from './token/AliasToken';
30
+ export { AliasToken } from './token/AliasToken';
31
31
  export { AliasUniqToken, toAliasUniq } from './token/AliasUniqToken';
32
32
  export { ClassToken } from './token/ClassToken';
33
33
  export { IDToken } from './token/IDToken';
34
34
  export { FunctionToken } from './token/FunctionToken';
35
35
  export { ConstantToken } from './token/ConstantToken';
36
36
  export { type InstancePredicate, InstanceListToken } from './token/InstanceListToken';
37
- export { toToken } from './token/toToken';
38
37
  export { select } from './select';
39
38
  export { Is } from './utils';
40
39
  export { InjectFn } from './hooks/hook';