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 +32 -34
- package/cjm/index.d.ts +4 -4
- package/cjm/index.js +6 -6
- package/cjm/index.js.map +1 -1
- package/cjm/provider/ArgsProvider.d.ts +2 -2
- package/cjm/provider/ArgsProvider.js +5 -5
- package/cjm/provider/ArgsProvider.js.map +1 -1
- package/cjm/provider/SingletonProvider.d.ts +1 -1
- package/cjm/provider/SingletonProvider.js +3 -3
- package/cjm/provider/SingletonProvider.js.map +1 -1
- package/cjm/provider/TaggedProvider.d.ts +1 -1
- package/cjm/provider/TaggedProvider.js +4 -4
- package/cjm/provider/TaggedProvider.js.map +1 -1
- package/cjm/registration/Registration.d.ts +1 -1
- package/cjm/registration/Registration.js +3 -3
- package/cjm/registration/Registration.js.map +1 -1
- package/esm/index.d.ts +4 -4
- package/esm/index.js +4 -4
- package/esm/index.js.map +1 -1
- package/esm/provider/ArgsProvider.d.ts +2 -2
- package/esm/provider/ArgsProvider.js +2 -2
- package/esm/provider/ArgsProvider.js.map +1 -1
- package/esm/provider/SingletonProvider.d.ts +1 -1
- package/esm/provider/SingletonProvider.js +1 -1
- package/esm/provider/SingletonProvider.js.map +1 -1
- package/esm/provider/TaggedProvider.d.ts +1 -1
- package/esm/provider/TaggedProvider.js +2 -2
- package/esm/provider/TaggedProvider.js.map +1 -1
- package/esm/registration/Registration.d.ts +1 -1
- package/esm/registration/Registration.js +1 -1
- package/esm/registration/Registration.js.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
85
|
+
singleton,
|
|
86
86
|
Container,
|
|
87
87
|
DependencyNotFoundError,
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
key,
|
|
89
|
+
tags,
|
|
90
90
|
provider,
|
|
91
91
|
ReflectionInjector,
|
|
92
92
|
Registration,
|
|
93
93
|
} from 'ts-ioc-container';
|
|
94
94
|
|
|
95
|
-
@
|
|
96
|
-
@provider(
|
|
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,
|
|
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(
|
|
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 {
|
|
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(
|
|
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 {
|
|
361
|
+
import { singleton, Container, key, provider, ReflectionInjector, Registration } from '../lib';
|
|
362
362
|
|
|
363
|
-
@
|
|
364
|
-
@provider(
|
|
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 {
|
|
401
|
+
import { singleton, Container, key, tags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
|
|
402
402
|
|
|
403
|
-
@
|
|
404
|
-
@provider(
|
|
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(
|
|
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,
|
|
424
|
+
import { Container, key, argsFn, args, ReflectionInjector, Registration } from 'ts-ioc-container';
|
|
425
425
|
|
|
426
|
-
@
|
|
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(
|
|
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(
|
|
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,
|
|
467
|
+
import { IContainerModule, Registration, IContainer, key, Container, ReflectionInjector } from 'ts-ioc-container';
|
|
470
468
|
|
|
471
|
-
@
|
|
469
|
+
@key('ILogger')
|
|
472
470
|
class Logger {}
|
|
473
471
|
|
|
474
|
-
@
|
|
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 {
|
|
512
|
+
import { singleton, Container, tags, provider, ReflectionInjector, Registration, key } from 'ts-ioc-container';
|
|
515
513
|
|
|
516
|
-
@
|
|
517
|
-
@provider(
|
|
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
|
-
|
|
534
|
+
singleton,
|
|
537
535
|
by,
|
|
538
536
|
constructor,
|
|
539
537
|
Container,
|
|
540
|
-
|
|
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
|
-
@
|
|
565
|
-
@provider(
|
|
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
|
-
@
|
|
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,
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
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 {
|
|
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.
|
|
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, "
|
|
19
|
-
Object.defineProperty(exports, "
|
|
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, "
|
|
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, "
|
|
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, "
|
|
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,
|
|
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
|
|
7
|
-
export declare function
|
|
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.
|
|
3
|
+
exports.ArgsProvider = exports.argsFn = exports.args = void 0;
|
|
4
4
|
const ProviderDecorator_1 = require("./ProviderDecorator");
|
|
5
|
-
function
|
|
5
|
+
function args(...extraArgs) {
|
|
6
6
|
return (provider) => new ArgsProvider(provider, () => extraArgs);
|
|
7
7
|
}
|
|
8
|
-
exports.
|
|
9
|
-
function
|
|
8
|
+
exports.args = args;
|
|
9
|
+
function argsFn(value) {
|
|
10
10
|
return (provider) => new ArgsProvider(provider, value);
|
|
11
11
|
}
|
|
12
|
-
exports.
|
|
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,
|
|
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
|
|
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.
|
|
3
|
+
exports.SingletonProvider = exports.singleton = void 0;
|
|
4
4
|
const ProviderDecorator_1 = require("./ProviderDecorator");
|
|
5
|
-
function
|
|
5
|
+
function singleton() {
|
|
6
6
|
return (provider) => new SingletonProvider(provider);
|
|
7
7
|
}
|
|
8
|
-
exports.
|
|
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,
|
|
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
|
|
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.
|
|
3
|
+
exports.TaggedProvider = exports.tags = void 0;
|
|
4
4
|
const ProviderDecorator_1 = require("./ProviderDecorator");
|
|
5
|
-
function
|
|
6
|
-
return (provider) => new TaggedProvider(provider,
|
|
5
|
+
function tags(...values) {
|
|
6
|
+
return (provider) => new TaggedProvider(provider, values);
|
|
7
7
|
}
|
|
8
|
-
exports.
|
|
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,
|
|
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
|
|
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.
|
|
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
|
|
8
|
-
exports.
|
|
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,
|
|
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,
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
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 {
|
|
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 {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
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 {
|
|
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,
|
|
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
|
|
7
|
-
export declare function
|
|
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
|
|
2
|
+
export function args(...extraArgs) {
|
|
3
3
|
return (provider) => new ArgsProvider(provider, () => extraArgs);
|
|
4
4
|
}
|
|
5
|
-
export function
|
|
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,
|
|
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
|
|
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 +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,
|
|
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
|
|
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
|
|
3
|
-
return (provider) => new TaggedProvider(provider,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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": "
|
|
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": "
|
|
59
|
+
"gitHead": "f5fc2fe649e0ad38743137f0c366762ac851fd22"
|
|
60
60
|
}
|