ts-ioc-container 23.3.12 → 24.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
@@ -82,18 +82,18 @@ Sometimes you need to create a scope of container. For example, when you want to
82
82
  ```typescript
83
83
  import 'reflect-metadata';
84
84
  import {
85
- asSingleton,
85
+ singleton,
86
86
  Container,
87
87
  DependencyNotFoundError,
88
- forKey,
89
- perTags,
88
+ key,
89
+ tags,
90
90
  provider,
91
91
  ReflectionInjector,
92
92
  Registration,
93
93
  } from 'ts-ioc-container';
94
94
 
95
- @forKey('ILogger')
96
- @provider(asSingleton(), perTags('child'))
95
+ @key('ILogger')
96
+ @provider(singleton(), tags('child'))
97
97
  class Logger {}
98
98
 
99
99
  describe('Scopes', function () {
@@ -245,7 +245,7 @@ This type of injector injects dependencies as dictionary `Record<string, unknown
245
245
 
246
246
  ```typescript
247
247
  import 'reflect-metadata';
248
- import { Container, Provider, ProxyInjector, withArgs } from '../lib';
248
+ import { Container, Provider, ProxyInjector, args } from '../lib';
249
249
 
250
250
  describe('ProxyInjector', function () {
251
251
  it('should pass dependency to constructor as dictionary', function () {
@@ -289,7 +289,7 @@ describe('ProxyInjector', function () {
289
289
  const greetingTemplate = (name: string) => `Hello ${name}`;
290
290
 
291
291
  const container = new Container(new ProxyInjector())
292
- .register('App', Provider.fromClass(App).pipe(withArgs({ greetingTemplate })))
292
+ .register('App', Provider.fromClass(App).pipe(args({ greetingTemplate })))
293
293
  .register('logger', Provider.fromClass(Logger));
294
294
 
295
295
  const app = container.resolve<App>('App', { name: `world` });
@@ -315,7 +315,7 @@ There are next types of providers:
315
315
 
316
316
  ```typescript
317
317
  import 'reflect-metadata';
318
- import { asSingleton, Container, perTags, Provider, ReflectionInjector } from 'ts-ioc-container';
318
+ import { singleton, Container, tags, Provider, ReflectionInjector } from 'ts-ioc-container';
319
319
 
320
320
  class Logger {}
321
321
 
@@ -341,7 +341,7 @@ describe('Provider', function () {
341
341
  it('can be featured by pipe method', function () {
342
342
  const root = new Container(new ReflectionInjector(), { tags: ['root'] }).register(
343
343
  'logger',
344
- Provider.fromClass(Logger).pipe(asSingleton(), perTags('root')),
344
+ Provider.fromClass(Logger).pipe(singleton(), tags('root')),
345
345
  );
346
346
 
347
347
  expect(root.resolve('logger')).toBe(root.resolve('logger'));
@@ -358,10 +358,10 @@ Sometimes you need to create only one instance of dependency per scope. For exam
358
358
 
359
359
  ```typescript
360
360
  import 'reflect-metadata';
361
- import { asSingleton, Container, forKey, provider, ReflectionInjector, Registration } from '../lib';
361
+ import { singleton, Container, key, provider, ReflectionInjector, Registration } from '../lib';
362
362
 
363
- @forKey('logger')
364
- @provider(asSingleton())
363
+ @key('logger')
364
+ @provider(singleton())
365
365
  class Logger {}
366
366
 
367
367
  describe('Singleton', function () {
@@ -398,15 +398,15 @@ Sometimes you need to resolve provider only from container with certain tags and
398
398
 
399
399
  ```typescript
400
400
  import 'reflect-metadata';
401
- import { asSingleton, Container, forKey, perTags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
401
+ import { singleton, Container, key, tags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
402
402
 
403
- @forKey('ILogger')
404
- @provider(asSingleton(), perTags('root'))
403
+ @key('ILogger')
404
+ @provider(singleton(), tags('root'))
405
405
  class Logger {}
406
406
  describe('TaggedProvider', function () {
407
407
  it('should return the same instance', function () {
408
408
  const root = new Container(new ReflectionInjector(), { tags: ['root'] }).add(
409
- Registration.fromClass(Logger).pipe(perTags('root', 'parent')),
409
+ Registration.fromClass(Logger).pipe(tags('root', 'parent')),
410
410
  );
411
411
  const child = root.createScope();
412
412
  expect(root.resolve('ILogger')).toBe(child.resolve('ILogger'));
@@ -421,9 +421,9 @@ Sometimes you want to bind some arguments to provider. This is what `ArgsProvide
421
421
 
422
422
  ```typescript
423
423
  import 'reflect-metadata';
424
- import { Container, forKey, withArgsFn, withArgs, ReflectionInjector, Registration } from 'ts-ioc-container';
424
+ import { Container, key, argsFn, args, ReflectionInjector, Registration } from 'ts-ioc-container';
425
425
 
426
- @forKey('logger')
426
+ @key('logger')
427
427
  class Logger {
428
428
  constructor(public name: string, public type?: string) {}
429
429
  }
@@ -434,23 +434,21 @@ describe('ArgsProvider', function () {
434
434
  }
435
435
 
436
436
  it('can assign argument function to provider', function () {
437
- const root = createContainer().add(
438
- Registration.fromClass(Logger).pipe(withArgsFn((container, ...args) => ['name'])),
439
- );
437
+ const root = createContainer().add(Registration.fromClass(Logger).pipe(argsFn((container, ...args) => ['name'])));
440
438
 
441
439
  const logger = root.resolve<Logger>('logger');
442
440
  expect(logger.name).toBe('name');
443
441
  });
444
442
 
445
443
  it('can assign argument to provider', function () {
446
- const root = createContainer().add(Registration.fromClass(Logger).pipe(withArgs('name')));
444
+ const root = createContainer().add(Registration.fromClass(Logger).pipe(args('name')));
447
445
 
448
446
  const logger = root.resolve<Logger>('logger');
449
447
  expect(logger.name).toBe('name');
450
448
  });
451
449
 
452
450
  it('should set provider arguments with highest priority in compare to resolve arguments', function () {
453
- const root = createContainer().add(Registration.fromClass(Logger).pipe(withArgs('name')));
451
+ const root = createContainer().add(Registration.fromClass(Logger).pipe(args('name')));
454
452
 
455
453
  const logger = root.resolve<Logger>('logger', 'file');
456
454
 
@@ -466,12 +464,12 @@ Sometimes you want to encapsulate registration logic in separate module. This is
466
464
 
467
465
  ```typescript
468
466
  import 'reflect-metadata';
469
- import { IContainerModule, Registration, IContainer, forKey, Container, ReflectionInjector } from 'ts-ioc-container';
467
+ import { IContainerModule, Registration, IContainer, key, Container, ReflectionInjector } from 'ts-ioc-container';
470
468
 
471
- @forKey('ILogger')
469
+ @key('ILogger')
472
470
  class Logger {}
473
471
 
474
- @forKey('ILogger')
472
+ @key('ILogger')
475
473
  class TestLogger {}
476
474
 
477
475
  class Production implements IContainerModule {
@@ -511,10 +509,10 @@ Sometimes you need to keep dependency key with class together. For example, you
511
509
 
512
510
  ```typescript
513
511
  import 'reflect-metadata';
514
- import { asSingleton, Container, forKey, perTags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
512
+ import { singleton, Container, tags, provider, ReflectionInjector, Registration, key } from 'ts-ioc-container';
515
513
 
516
- @forKey('ILogger')
517
- @provider(asSingleton(), perTags('root'))
514
+ @key('ILogger')
515
+ @provider(singleton(), tags('root'))
518
516
  class Logger {}
519
517
 
520
518
  describe('Registration module', function () {
@@ -533,11 +531,11 @@ Sometimes you need to invoke methods after construct or dispose of class. This i
533
531
  ```typescript
534
532
  import 'reflect-metadata';
535
533
  import {
536
- asSingleton,
534
+ singleton,
537
535
  by,
538
536
  constructor,
539
537
  Container,
540
- forKey,
538
+ key,
541
539
  getHooks,
542
540
  hook,
543
541
  IContainer,
@@ -561,8 +559,8 @@ class MyInjector implements IInjector {
561
559
  }
562
560
  }
563
561
 
564
- @forKey('logsRepo')
565
- @provider(asSingleton())
562
+ @key('logsRepo')
563
+ @provider(singleton())
566
564
  class LogsRepo {
567
565
  savedLogs: string[] = [];
568
566
 
@@ -571,7 +569,7 @@ class LogsRepo {
571
569
  }
572
570
  }
573
571
 
574
- @forKey('logger')
572
+ @key('logger')
575
573
  class Logger {
576
574
  isReady = false;
577
575
  private messages: string[] = [];
package/cjm/index.d.ts CHANGED
@@ -7,11 +7,11 @@ export { DependencyNotFoundError } from './container/DependencyNotFoundError';
7
7
  export { MethodNotImplementedError } from './container/MethodNotImplementedError';
8
8
  export { ContainerDisposedError } from './container/ContainerDisposedError';
9
9
  export { Provider, provider } from './provider/Provider';
10
- export { ArgsFn, withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
11
- export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
12
- export { perTags, TaggedProvider } from './provider/TaggedProvider';
10
+ export { ArgsFn, argsFn, args, ArgsProvider } from './provider/ArgsProvider';
11
+ export { singleton, SingletonProvider } from './provider/SingletonProvider';
12
+ export { tags, TaggedProvider } from './provider/TaggedProvider';
13
13
  export { AutoMockedContainer } from './container/AutoMockedContainer';
14
- export { forKey, Registration } from './registration/Registration';
14
+ export { key, Registration } from './registration/Registration';
15
15
  export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
16
16
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
17
  export { SimpleInjector } from './injector/SimpleInjector';
package/cjm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHooks = exports.hook = exports.ProxyInjector = exports.SimpleInjector = exports.by = exports.inject = exports.ReflectionInjector = exports.DependencyMissingKeyError = exports.Registration = exports.forKey = exports.AutoMockedContainer = exports.TaggedProvider = exports.perTags = exports.SingletonProvider = exports.asSingleton = exports.ArgsProvider = exports.withArgs = exports.withArgsFn = exports.provider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Container = exports.isDependencyKey = void 0;
3
+ exports.getHooks = exports.hook = 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.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");
@@ -15,19 +15,19 @@ var Provider_1 = require("./provider/Provider");
15
15
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
16
16
  Object.defineProperty(exports, "provider", { enumerable: true, get: function () { return Provider_1.provider; } });
17
17
  var ArgsProvider_1 = require("./provider/ArgsProvider");
18
- Object.defineProperty(exports, "withArgsFn", { enumerable: true, get: function () { return ArgsProvider_1.withArgsFn; } });
19
- Object.defineProperty(exports, "withArgs", { enumerable: true, get: function () { return ArgsProvider_1.withArgs; } });
18
+ Object.defineProperty(exports, "argsFn", { enumerable: true, get: function () { return ArgsProvider_1.argsFn; } });
19
+ Object.defineProperty(exports, "args", { enumerable: true, get: function () { return ArgsProvider_1.args; } });
20
20
  Object.defineProperty(exports, "ArgsProvider", { enumerable: true, get: function () { return ArgsProvider_1.ArgsProvider; } });
21
21
  var SingletonProvider_1 = require("./provider/SingletonProvider");
22
- Object.defineProperty(exports, "asSingleton", { enumerable: true, get: function () { return SingletonProvider_1.asSingleton; } });
22
+ Object.defineProperty(exports, "singleton", { enumerable: true, get: function () { return SingletonProvider_1.singleton; } });
23
23
  Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
24
24
  var TaggedProvider_1 = require("./provider/TaggedProvider");
25
- Object.defineProperty(exports, "perTags", { enumerable: true, get: function () { return TaggedProvider_1.perTags; } });
25
+ Object.defineProperty(exports, "tags", { enumerable: true, get: function () { return TaggedProvider_1.tags; } });
26
26
  Object.defineProperty(exports, "TaggedProvider", { enumerable: true, get: function () { return TaggedProvider_1.TaggedProvider; } });
27
27
  var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
28
28
  Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
29
29
  var Registration_1 = require("./registration/Registration");
30
- Object.defineProperty(exports, "forKey", { enumerable: true, get: function () { return Registration_1.forKey; } });
30
+ Object.defineProperty(exports, "key", { enumerable: true, get: function () { return Registration_1.key; } });
31
31
  Object.defineProperty(exports, "Registration", { enumerable: true, get: function () { return Registration_1.Registration; } });
32
32
  var DependencyMissingKeyError_1 = require("./registration/DependencyMissingKeyError");
33
33
  Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true, get: function () { return DependencyMissingKeyError_1.DependencyMissingKeyError; } });
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;AAGlB,+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,wDAAqF;AAApE,0GAAA,UAAU,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAAE,4GAAA,YAAY,OAAA;AACnD,kEAA8E;AAArE,gHAAA,WAAW,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACvC,4DAAoE;AAA3D,yGAAA,OAAO,OAAA;AAAE,gHAAA,cAAc,OAAA;AAChC,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAmE;AAA1D,sGAAA,MAAM,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC7B,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,2CAA8C;AAArC,kGAAA,IAAI,OAAA;AAAE,sGAAA,QAAQ,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;AAGlB,+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,2CAA8C;AAArC,kGAAA,IAAI,OAAA;AAAE,sGAAA,QAAQ,OAAA"}
@@ -3,8 +3,8 @@ import { Resolvable } from '../container/IContainer';
3
3
  import { IProvider } from './IProvider';
4
4
  import { MapFn } from '../utils';
5
5
  export declare type ArgsFn = (l: Resolvable) => unknown[];
6
- export declare function withArgs<T = unknown>(...extraArgs: unknown[]): MapFn<IProvider<T>>;
7
- export declare function withArgsFn<T = unknown>(value: ArgsFn): MapFn<IProvider<T>>;
6
+ export declare function args<T = unknown>(...extraArgs: unknown[]): MapFn<IProvider<T>>;
7
+ export declare function argsFn<T = unknown>(value: ArgsFn): MapFn<IProvider<T>>;
8
8
  export declare class ArgsProvider<T> extends ProviderDecorator<T> {
9
9
  private provider;
10
10
  private argsFn;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArgsProvider = exports.withArgsFn = exports.withArgs = void 0;
3
+ exports.ArgsProvider = exports.argsFn = exports.args = void 0;
4
4
  const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function withArgs(...extraArgs) {
5
+ function args(...extraArgs) {
6
6
  return (provider) => new ArgsProvider(provider, () => extraArgs);
7
7
  }
8
- exports.withArgs = withArgs;
9
- function withArgsFn(value) {
8
+ exports.args = args;
9
+ function argsFn(value) {
10
10
  return (provider) => new ArgsProvider(provider, value);
11
11
  }
12
- exports.withArgsFn = withArgsFn;
12
+ exports.argsFn = argsFn;
13
13
  class ArgsProvider extends ProviderDecorator_1.ProviderDecorator {
14
14
  constructor(provider, argsFn) {
15
15
  super(provider);
@@ -1 +1 @@
1
- {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAOxD,SAAgB,QAAQ,CAAc,GAAG,SAAoB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAc,KAAa;IACnD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,gCAEC;AAED,MAAa,YAAgB,SAAQ,qCAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAOxD,SAAgB,IAAI,CAAc,GAAG,SAAoB;IACvD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAFD,oBAEC;AAED,SAAgB,MAAM,CAAc,KAAa;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,wBAEC;AAED,MAAa,YAAgB,SAAQ,qCAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF;AAZD,oCAYC"}
@@ -2,7 +2,7 @@ import { Resolvable } from '../container/IContainer';
2
2
  import { ProviderDecorator } from './ProviderDecorator';
3
3
  import { IProvider } from './IProvider';
4
4
  import { MapFn } from '../utils';
5
- export declare function asSingleton<T = unknown>(): MapFn<IProvider<T>>;
5
+ export declare function singleton<T = unknown>(): MapFn<IProvider<T>>;
6
6
  export declare class SingletonProvider<T> extends ProviderDecorator<T> {
7
7
  private readonly provider;
8
8
  private instance?;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingletonProvider = exports.asSingleton = void 0;
3
+ exports.SingletonProvider = exports.singleton = void 0;
4
4
  const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function asSingleton() {
5
+ function singleton() {
6
6
  return (provider) => new SingletonProvider(provider);
7
7
  }
8
- exports.asSingleton = asSingleton;
8
+ exports.singleton = singleton;
9
9
  class SingletonProvider extends ProviderDecorator_1.ProviderDecorator {
10
10
  constructor(provider) {
11
11
  super(provider);
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAMxD,SAAgB,WAAW;IACzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAFD,kCAEC;AAED,MAAa,iBAAqB,SAAQ,qCAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAfD,8CAeC"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAMxD,SAAgB,SAAS;IACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,MAAa,iBAAqB,SAAQ,qCAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAfD,8CAeC"}
@@ -2,7 +2,7 @@ import { IProvider } from './IProvider';
2
2
  import { ProviderDecorator } from './ProviderDecorator';
3
3
  import { Tag, Tagged } from '../container/IContainer';
4
4
  import { MapFn } from '../utils';
5
- export declare function perTags<T = unknown>(...tags: Tag[]): MapFn<IProvider<T>>;
5
+ export declare function tags<T = unknown>(...values: Tag[]): MapFn<IProvider<T>>;
6
6
  export declare class TaggedProvider<T> extends ProviderDecorator<T> {
7
7
  private provider;
8
8
  private readonly tags;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaggedProvider = exports.perTags = void 0;
3
+ exports.TaggedProvider = exports.tags = void 0;
4
4
  const ProviderDecorator_1 = require("./ProviderDecorator");
5
- function perTags(...tags) {
6
- return (provider) => new TaggedProvider(provider, tags);
5
+ function tags(...values) {
6
+ return (provider) => new TaggedProvider(provider, values);
7
7
  }
8
- exports.perTags = perTags;
8
+ exports.tags = tags;
9
9
  class TaggedProvider extends ProviderDecorator_1.ProviderDecorator {
10
10
  constructor(provider, tags) {
11
11
  super(provider);
@@ -1 +1 @@
1
- {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAIxD,SAAgB,OAAO,CAAc,GAAG,IAAW;IACjD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAFD,0BAEC;AAED,MAAa,cAAkB,SAAQ,qCAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF;AAZD,wCAYC"}
1
+ {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAIxD,SAAgB,IAAI,CAAc,GAAG,MAAa;IAChD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,oBAEC;AAED,MAAa,cAAkB,SAAQ,qCAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF;AAZD,wCAYC"}
@@ -1,7 +1,7 @@
1
1
  import { DependencyKey, IContainer, IContainerModule } from '../container/IContainer';
2
2
  import { constructor, MapFn } from '../utils';
3
3
  import { IProvider } from '../provider/IProvider';
4
- export declare const forKey: (key: DependencyKey) => ClassDecorator;
4
+ export declare const key: (value: DependencyKey) => ClassDecorator;
5
5
  export declare class Registration implements IContainerModule {
6
6
  private key;
7
7
  private provider;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Registration = exports.forKey = void 0;
3
+ exports.Registration = exports.key = void 0;
4
4
  const DependencyMissingKeyError_1 = require("./DependencyMissingKeyError");
5
5
  const reflection_1 = require("../reflection");
6
6
  const Provider_1 = require("../provider/Provider");
7
- const forKey = (key) => (0, reflection_1.setProp)('DependencyKey', key);
8
- exports.forKey = forKey;
7
+ const key = (value) => (0, reflection_1.setProp)('DependencyKey', value);
8
+ exports.key = key;
9
9
  class Registration {
10
10
  constructor(key, provider) {
11
11
  this.key = key;
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAGxE,8CAAiD;AACjD,mDAAgD;AAGzC,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAkB,EAAE,CAAC,IAAA,oBAAO,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAA/E,QAAA,MAAM,UAAyE;AAE5F,MAAa,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,IAAA,oBAAO,EAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,qDAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,mBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAnBD,oCAmBC"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAGxE,8CAAiD;AACjD,mDAAgD;AAGzC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,IAAA,oBAAO,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAAhF,QAAA,GAAG,OAA6E;AAE7F,MAAa,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,IAAA,oBAAO,EAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,qDAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,mBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAnBD,oCAmBC"}
package/esm/index.d.ts CHANGED
@@ -7,11 +7,11 @@ export { DependencyNotFoundError } from './container/DependencyNotFoundError';
7
7
  export { MethodNotImplementedError } from './container/MethodNotImplementedError';
8
8
  export { ContainerDisposedError } from './container/ContainerDisposedError';
9
9
  export { Provider, provider } from './provider/Provider';
10
- export { ArgsFn, withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
11
- export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
12
- export { perTags, TaggedProvider } from './provider/TaggedProvider';
10
+ export { ArgsFn, argsFn, args, ArgsProvider } from './provider/ArgsProvider';
11
+ export { singleton, SingletonProvider } from './provider/SingletonProvider';
12
+ export { tags, TaggedProvider } from './provider/TaggedProvider';
13
13
  export { AutoMockedContainer } from './container/AutoMockedContainer';
14
- export { forKey, Registration } from './registration/Registration';
14
+ export { key, Registration } from './registration/Registration';
15
15
  export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
16
16
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
17
  export { SimpleInjector } from './injector/SimpleInjector';
package/esm/index.js CHANGED
@@ -4,11 +4,11 @@ export { DependencyNotFoundError } from './container/DependencyNotFoundError';
4
4
  export { MethodNotImplementedError } from './container/MethodNotImplementedError';
5
5
  export { ContainerDisposedError } from './container/ContainerDisposedError';
6
6
  export { Provider, provider } from './provider/Provider';
7
- export { withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
8
- export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
9
- export { perTags, TaggedProvider } from './provider/TaggedProvider';
7
+ export { argsFn, args, ArgsProvider } from './provider/ArgsProvider';
8
+ export { singleton, SingletonProvider } from './provider/SingletonProvider';
9
+ export { tags, TaggedProvider } from './provider/TaggedProvider';
10
10
  export { AutoMockedContainer } from './container/AutoMockedContainer';
11
- export { forKey, Registration } from './registration/Registration';
11
+ export { key, Registration } from './registration/Registration';
12
12
  export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
13
13
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
14
14
  export { SimpleInjector } from './injector/SimpleInjector';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAU,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAU,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
@@ -3,8 +3,8 @@ import { Resolvable } from '../container/IContainer';
3
3
  import { IProvider } from './IProvider';
4
4
  import { MapFn } from '../utils';
5
5
  export declare type ArgsFn = (l: Resolvable) => unknown[];
6
- export declare function withArgs<T = unknown>(...extraArgs: unknown[]): MapFn<IProvider<T>>;
7
- export declare function withArgsFn<T = unknown>(value: ArgsFn): MapFn<IProvider<T>>;
6
+ export declare function args<T = unknown>(...extraArgs: unknown[]): MapFn<IProvider<T>>;
7
+ export declare function argsFn<T = unknown>(value: ArgsFn): MapFn<IProvider<T>>;
8
8
  export declare class ArgsProvider<T> extends ProviderDecorator<T> {
9
9
  private provider;
10
10
  private argsFn;
@@ -1,8 +1,8 @@
1
1
  import { ProviderDecorator } from './ProviderDecorator';
2
- export function withArgs(...extraArgs) {
2
+ export function args(...extraArgs) {
3
3
  return (provider) => new ArgsProvider(provider, () => extraArgs);
4
4
  }
5
- export function withArgsFn(value) {
5
+ export function argsFn(value) {
6
6
  return (provider) => new ArgsProvider(provider, value);
7
7
  }
8
8
  export class ArgsProvider extends ProviderDecorator {
@@ -1 +1 @@
1
- {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,UAAU,QAAQ,CAAc,GAAG,SAAoB;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,UAAU,CAAc,KAAa;IACnD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,UAAU,IAAI,CAAc,GAAG,SAAoB;IACvD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,MAAM,CAAc,KAAa;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { Resolvable } from '../container/IContainer';
2
2
  import { ProviderDecorator } from './ProviderDecorator';
3
3
  import { IProvider } from './IProvider';
4
4
  import { MapFn } from '../utils';
5
- export declare function asSingleton<T = unknown>(): MapFn<IProvider<T>>;
5
+ export declare function singleton<T = unknown>(): MapFn<IProvider<T>>;
6
6
  export declare class SingletonProvider<T> extends ProviderDecorator<T> {
7
7
  private readonly provider;
8
8
  private instance?;
@@ -1,5 +1,5 @@
1
1
  import { ProviderDecorator } from './ProviderDecorator';
2
- export function asSingleton() {
2
+ export function singleton() {
3
3
  return (provider) => new SingletonProvider(provider);
4
4
  }
5
5
  export class SingletonProvider extends ProviderDecorator {
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { IProvider } from './IProvider';
2
2
  import { ProviderDecorator } from './ProviderDecorator';
3
3
  import { Tag, Tagged } from '../container/IContainer';
4
4
  import { MapFn } from '../utils';
5
- export declare function perTags<T = unknown>(...tags: Tag[]): MapFn<IProvider<T>>;
5
+ export declare function tags<T = unknown>(...values: Tag[]): MapFn<IProvider<T>>;
6
6
  export declare class TaggedProvider<T> extends ProviderDecorator<T> {
7
7
  private provider;
8
8
  private readonly tags;
@@ -1,6 +1,6 @@
1
1
  import { ProviderDecorator } from './ProviderDecorator';
2
- export function perTags(...tags) {
3
- return (provider) => new TaggedProvider(provider, tags);
2
+ export function tags(...values) {
3
+ return (provider) => new TaggedProvider(provider, values);
4
4
  }
5
5
  export class TaggedProvider extends ProviderDecorator {
6
6
  constructor(provider, tags) {
@@ -1 +1 @@
1
- {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,UAAU,OAAO,CAAc,GAAG,IAAW;IACjD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,OAAO,cAAkB,SAAQ,iBAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF"}
1
+ {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,UAAU,IAAI,CAAc,GAAG,MAAa;IAChD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,OAAO,cAAkB,SAAQ,iBAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { DependencyKey, IContainer, IContainerModule } from '../container/IContainer';
2
2
  import { constructor, MapFn } from '../utils';
3
3
  import { IProvider } from '../provider/IProvider';
4
- export declare const forKey: (key: DependencyKey) => ClassDecorator;
4
+ export declare const key: (value: DependencyKey) => ClassDecorator;
5
5
  export declare class Registration implements IContainerModule {
6
6
  private key;
7
7
  private provider;
@@ -1,7 +1,7 @@
1
1
  import { DependencyMissingKeyError } from './DependencyMissingKeyError';
2
2
  import { getProp, setProp } from '../reflection';
3
3
  import { Provider } from '../provider/Provider';
4
- export const forKey = (key) => setProp('DependencyKey', key);
4
+ export const key = (value) => setProp('DependencyKey', value);
5
5
  export class Registration {
6
6
  constructor(key, provider) {
7
7
  this.key = key;
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAkB,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAE5F,MAAM,OAAO,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAE7F,MAAM,OAAO,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "23.3.12",
3
+ "version": "24.0.0",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -56,5 +56,5 @@
56
56
  "ts-node": "^10.9.1",
57
57
  "typescript": "4.4.3"
58
58
  },
59
- "gitHead": "c5b07a56c609e7d5a62f8ee821a4e5e154993601"
59
+ "gitHead": "f5fc2fe649e0ad38743137f0c366762ac851fd22"
60
60
  }