ts-ioc-container 23.3.9 → 23.3.11
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 +120 -99
- package/cjm/index.d.ts +3 -3
- package/cjm/index.js +4 -1
- package/cjm/index.js.map +1 -1
- package/esm/index.d.ts +3 -3
- package/esm/index.js +3 -3
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -73,31 +73,32 @@ describe('Basic usage', function () {
|
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Scopes
|
|
76
|
-
Sometimes you need to create a scope of container. For example, when you want to create a scope per request in web application.
|
|
76
|
+
Sometimes you need to create a scope of container. For example, when you want to create a scope per request in web application. You can assign tags to scope and provider and resolve dependencies only from certain scope.
|
|
77
77
|
|
|
78
78
|
- NOTICE: remember that when scope doesn't have dependency then it will be resolved from parent container
|
|
79
79
|
- NOTICE: when you create a scope of container then all providers are cloned to new scope. For that reason every provider has methods `clone` and `isValid` to clone itself and check if it's valid for certain scope accordingly.
|
|
80
|
+
- NOTICE: when you create a scope then we clone ONLY tags-matched providers.
|
|
80
81
|
|
|
81
82
|
```typescript
|
|
82
83
|
import 'reflect-metadata';
|
|
83
84
|
import {
|
|
84
85
|
asSingleton,
|
|
85
|
-
perTags,
|
|
86
86
|
Container,
|
|
87
|
-
Provider,
|
|
88
|
-
ReflectionInjector,
|
|
89
87
|
DependencyNotFoundError,
|
|
88
|
+
forKey,
|
|
89
|
+
perTags,
|
|
90
|
+
provider,
|
|
91
|
+
ReflectionInjector,
|
|
92
|
+
Registration,
|
|
90
93
|
} from 'ts-ioc-container';
|
|
91
94
|
|
|
95
|
+
@forKey('ILogger')
|
|
96
|
+
@provider(asSingleton(), perTags('child'))
|
|
92
97
|
class Logger {}
|
|
93
98
|
|
|
94
99
|
describe('Scopes', function () {
|
|
95
100
|
it('should resolve dependencies from scope', function () {
|
|
96
|
-
const container = new Container(new ReflectionInjector(), { tags: ['root'] }).
|
|
97
|
-
'ILogger',
|
|
98
|
-
Provider.fromClass(Logger).pipe(asSingleton(), perTags('child')),
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
+
const container = new Container(new ReflectionInjector(), { tags: ['root'] }).add(Registration.fromClass(Logger));
|
|
101
102
|
const scope = container.createScope(['child']);
|
|
102
103
|
|
|
103
104
|
expect(scope.resolve('ILogger')).toBe(scope.resolve('ILogger'));
|
|
@@ -107,22 +108,6 @@ describe('Scopes', function () {
|
|
|
107
108
|
|
|
108
109
|
```
|
|
109
110
|
|
|
110
|
-
### Tags
|
|
111
|
-
Sometimes you want to mark some providers and resolve them only from certain scope. So you can assign tags to providers and create scopes with certain tags. For that reason every scope has method `hasTag` which we invoke from provider to check if it's valid for certain scope.
|
|
112
|
-
|
|
113
|
-
- tag - is a string that we assign to provider and scope/container
|
|
114
|
-
- every provider can be registered per certain tags and cannot be resolved from container with other tags. Only from parent one with certain tags.
|
|
115
|
-
- NOTICE: when you create a scope then we clone ONLY tags-matched providers.
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
import { Container, perTags, ReflectionInjector } from "ts-ioc-container";
|
|
119
|
-
|
|
120
|
-
const container = new Container(new ReflectionInjector(), { tags: ['root'] }).register('ILogger', Provider.fromClass(Logger).pipe(perTags('root')));
|
|
121
|
-
const scope = container.createScope(['child']);
|
|
122
|
-
|
|
123
|
-
scope.resolve('ILogger'); // it will be resolved from container, not from scope
|
|
124
|
-
```
|
|
125
|
-
|
|
126
111
|
### Instances
|
|
127
112
|
Sometimes you want to get all instances from container and its scopes. For example, when you want to dispose all instances of container.
|
|
128
113
|
|
|
@@ -328,46 +313,41 @@ There are next types of providers:
|
|
|
328
313
|
|
|
329
314
|
### Provider
|
|
330
315
|
|
|
331
|
-
From function
|
|
332
|
-
|
|
333
|
-
```typescript
|
|
334
|
-
import { Provider } from "ts-ioc-container";
|
|
335
|
-
|
|
336
|
-
container.register('ILogger', new Provider((container, ...args) => new Logger(container, ...args)));
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
From class
|
|
340
|
-
|
|
341
316
|
```typescript
|
|
342
|
-
import
|
|
317
|
+
import 'reflect-metadata';
|
|
318
|
+
import { asSingleton, Container, perTags, Provider, ReflectionInjector } from 'ts-ioc-container';
|
|
343
319
|
|
|
344
|
-
|
|
345
|
-
```
|
|
320
|
+
class Logger {}
|
|
346
321
|
|
|
347
|
-
|
|
322
|
+
describe('Provider', function () {
|
|
323
|
+
it('can be registered as a function', function () {
|
|
324
|
+
const container = new Container(new ReflectionInjector()).register('logger', new Provider(() => new Logger()));
|
|
348
325
|
|
|
349
|
-
|
|
350
|
-
|
|
326
|
+
expect(container.resolve('logger')).not.toBe(container.resolve('logger'));
|
|
327
|
+
});
|
|
351
328
|
|
|
352
|
-
|
|
353
|
-
|
|
329
|
+
it('can be registered as a value', function () {
|
|
330
|
+
const container = new Container(new ReflectionInjector()).register('logger', Provider.fromValue(new Logger()));
|
|
354
331
|
|
|
355
|
-
|
|
332
|
+
expect(container.resolve('logger')).toBe(container.resolve('logger'));
|
|
333
|
+
});
|
|
356
334
|
|
|
357
|
-
|
|
358
|
-
|
|
335
|
+
it('can be registered as a class', function () {
|
|
336
|
+
const container = new Container(new ReflectionInjector()).register('logger', Provider.fromClass(Logger));
|
|
359
337
|
|
|
360
|
-
container.
|
|
338
|
+
expect(container.resolve('logger')).not.toBe(container.resolve('logger'));
|
|
339
|
+
});
|
|
361
340
|
|
|
362
|
-
|
|
363
|
-
|
|
341
|
+
it('can be featured by pipe method', function () {
|
|
342
|
+
const root = new Container(new ReflectionInjector(), { tags: ['root'] }).register(
|
|
343
|
+
'logger',
|
|
344
|
+
Provider.fromClass(Logger).pipe(asSingleton(), perTags('root')),
|
|
345
|
+
);
|
|
364
346
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
347
|
+
expect(root.resolve('logger')).toBe(root.resolve('logger'));
|
|
348
|
+
});
|
|
349
|
+
});
|
|
369
350
|
|
|
370
|
-
container.register('ILogger', Provider.fromClass(Logger));
|
|
371
351
|
```
|
|
372
352
|
|
|
373
353
|
### Singleton provider
|
|
@@ -417,19 +397,22 @@ Sometimes you need to resolve provider only from container with certain tags and
|
|
|
417
397
|
- NOTICE: It doesn't make clones in not tagged-matched scopes. Usually it's used with `SingletonProvider`.
|
|
418
398
|
|
|
419
399
|
```typescript
|
|
420
|
-
import
|
|
421
|
-
|
|
422
|
-
container.register('ILogger', Provider.fromClass(Logger).pipe((provider) => new TaggedProvider(provider, ['root'])));
|
|
423
|
-
// OR
|
|
424
|
-
container.register('ILogger', Provider.fromClass(Logger).pipe(perTags('root', 'parent')));
|
|
400
|
+
import 'reflect-metadata';
|
|
401
|
+
import { asSingleton, Container, forKey, perTags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
|
|
425
402
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
403
|
+
@forKey('ILogger')
|
|
404
|
+
@provider(asSingleton(), perTags('root'))
|
|
405
|
+
class Logger {}
|
|
406
|
+
describe('TaggedProvider', function () {
|
|
407
|
+
it('should return the same instance', function () {
|
|
408
|
+
const root = new Container(new ReflectionInjector(), { tags: ['root'] }).add(
|
|
409
|
+
Registration.fromClass(Logger).pipe(perTags('root', 'parent')),
|
|
410
|
+
);
|
|
411
|
+
const child = root.createScope();
|
|
412
|
+
expect(root.resolve('ILogger')).toBe(child.resolve('ILogger'));
|
|
413
|
+
});
|
|
414
|
+
});
|
|
429
415
|
|
|
430
|
-
const scope = container.createScope();
|
|
431
|
-
scope.resolve('ILogger') === scope.resolve('ILogger'); // true
|
|
432
|
-
container.resolve('ILogger') === scope.resolve('ILogger'); // true
|
|
433
416
|
```
|
|
434
417
|
|
|
435
418
|
### Args provider
|
|
@@ -437,73 +420,111 @@ Sometimes you want to bind some arguments to provider. This is what `ArgsProvide
|
|
|
437
420
|
- NOTICE: args from this provider has higher priority than args from `resolve` method.
|
|
438
421
|
|
|
439
422
|
```typescript
|
|
440
|
-
import
|
|
423
|
+
import 'reflect-metadata';
|
|
424
|
+
import { Container, forKey, withArgsFn, withArgs, ReflectionInjector, Registration } from 'ts-ioc-container';
|
|
441
425
|
|
|
426
|
+
@forKey('logger')
|
|
442
427
|
class Logger {
|
|
443
|
-
constructor(public
|
|
444
|
-
}
|
|
428
|
+
constructor(public name: string, public type?: string) {}
|
|
445
429
|
}
|
|
446
430
|
|
|
447
|
-
|
|
431
|
+
describe('ArgsProvider', function () {
|
|
432
|
+
function createContainer() {
|
|
433
|
+
return new Container(new ReflectionInjector());
|
|
434
|
+
}
|
|
448
435
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
436
|
+
it('can assign argument function to provider', function () {
|
|
437
|
+
const root = createContainer().add(
|
|
438
|
+
Registration.fromClass(Logger).pipe(withArgsFn((container, ...args) => ['name'])),
|
|
439
|
+
);
|
|
440
|
+
|
|
441
|
+
const logger = root.resolve<Logger>('logger');
|
|
442
|
+
expect(logger.name).toBe('name');
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
it('can assign argument to provider', function () {
|
|
446
|
+
const root = createContainer().add(Registration.fromClass(Logger).pipe(withArgs('name')));
|
|
447
|
+
|
|
448
|
+
const logger = root.resolve<Logger>('logger');
|
|
449
|
+
expect(logger.name).toBe('name');
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
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')));
|
|
454
|
+
|
|
455
|
+
const logger = root.resolve<Logger>('logger', 'file');
|
|
456
|
+
|
|
457
|
+
expect(logger.name).toBe('name');
|
|
458
|
+
expect(logger.type).toBe('file');
|
|
459
|
+
});
|
|
460
|
+
});
|
|
453
461
|
|
|
454
|
-
container.resolve('ILogger', 'Main').type === 'FileLogger'; // true
|
|
455
|
-
container.resolve('ILogger', 'Main').name === 'Main'; // true
|
|
456
462
|
```
|
|
457
463
|
|
|
458
464
|
## Container modules
|
|
459
465
|
Sometimes you want to encapsulate registration logic in separate module. This is what `IContainerModule` is for.
|
|
460
466
|
|
|
461
467
|
```typescript
|
|
462
|
-
import
|
|
468
|
+
import 'reflect-metadata';
|
|
469
|
+
import { IContainerModule, Registration, IContainer, forKey, Container, ReflectionInjector } from 'ts-ioc-container';
|
|
463
470
|
|
|
464
|
-
|
|
471
|
+
@forKey('ILogger')
|
|
472
|
+
class Logger {}
|
|
473
|
+
|
|
474
|
+
@forKey('ILogger')
|
|
475
|
+
class TestLogger {}
|
|
476
|
+
|
|
477
|
+
class Production implements IContainerModule {
|
|
465
478
|
applyTo(container: IContainer): void {
|
|
466
|
-
container.add(Registration.fromClass(
|
|
479
|
+
container.add(Registration.fromClass(Logger));
|
|
467
480
|
}
|
|
468
481
|
}
|
|
469
482
|
|
|
470
|
-
class
|
|
483
|
+
class Development implements IContainerModule {
|
|
471
484
|
applyTo(container: IContainer): void {
|
|
472
|
-
container.add(Registration.fromClass(
|
|
485
|
+
container.add(Registration.fromClass(TestLogger));
|
|
473
486
|
}
|
|
474
487
|
}
|
|
475
488
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
489
|
+
describe('Container Modules', function () {
|
|
490
|
+
function createContainer(isProduction: boolean) {
|
|
491
|
+
return new Container(new ReflectionInjector()).add(isProduction ? new Production() : new Development());
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
it('should register production dependencies', function () {
|
|
495
|
+
const container = createContainer(true);
|
|
496
|
+
|
|
497
|
+
expect(container.resolve('ILogger')).toBeInstanceOf(Logger);
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
it('should register development dependencies', function () {
|
|
501
|
+
const container = createContainer(false);
|
|
502
|
+
|
|
503
|
+
expect(container.resolve('ILogger')).toBeInstanceOf(TestLogger);
|
|
504
|
+
});
|
|
505
|
+
});
|
|
506
|
+
|
|
479
507
|
```
|
|
480
508
|
|
|
481
509
|
## Registration module (Provider + DependencyKey)
|
|
482
510
|
Sometimes you need to keep dependency key with class together. For example, you want to register class with key 'ILogger' and you want to keep this key with class. This is what `Registration` is for.
|
|
483
511
|
|
|
484
512
|
```typescript
|
|
485
|
-
import
|
|
513
|
+
import 'reflect-metadata';
|
|
514
|
+
import { asSingleton, Container, forKey, perTags, provider, ReflectionInjector, Registration } from 'ts-ioc-container';
|
|
486
515
|
|
|
487
516
|
@forKey('ILogger')
|
|
488
517
|
@provider(asSingleton(), perTags('root'))
|
|
489
|
-
class Logger {
|
|
490
|
-
info(message: string) {
|
|
491
|
-
console.log(message);
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
container.register(Registration.fromClass(Logger));
|
|
518
|
+
class Logger {}
|
|
496
519
|
|
|
497
|
-
|
|
520
|
+
describe('Registration module', function () {
|
|
521
|
+
it('should bind dependency key to class', function () {
|
|
522
|
+
const root = new Container(new ReflectionInjector(), { tags: ['root'] }).add(Registration.fromClass(Logger));
|
|
498
523
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
console.log(message);
|
|
503
|
-
}
|
|
504
|
-
}
|
|
524
|
+
expect(root.resolve('ILogger')).toBeInstanceOf(Logger);
|
|
525
|
+
});
|
|
526
|
+
});
|
|
505
527
|
|
|
506
|
-
container.register('ILogger', Provider.fromClass(Logger));
|
|
507
528
|
```
|
|
508
529
|
|
|
509
530
|
## Hooks
|
package/cjm/index.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ 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 } from './provider/ArgsProvider';
|
|
11
|
-
export { asSingleton } from './provider/SingletonProvider';
|
|
12
|
-
export { perTags } from './provider/TaggedProvider';
|
|
10
|
+
export { ArgsFn, withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
|
|
11
|
+
export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
|
|
12
|
+
export { perTags, TaggedProvider } from './provider/TaggedProvider';
|
|
13
13
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
14
14
|
export { forKey, Registration } from './registration/Registration';
|
|
15
15
|
export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
|
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.perTags = exports.asSingleton = 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.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;
|
|
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");
|
|
@@ -17,10 +17,13 @@ Object.defineProperty(exports, "provider", { enumerable: true, get: function ()
|
|
|
17
17
|
var ArgsProvider_1 = require("./provider/ArgsProvider");
|
|
18
18
|
Object.defineProperty(exports, "withArgsFn", { enumerable: true, get: function () { return ArgsProvider_1.withArgsFn; } });
|
|
19
19
|
Object.defineProperty(exports, "withArgs", { enumerable: true, get: function () { return ArgsProvider_1.withArgs; } });
|
|
20
|
+
Object.defineProperty(exports, "ArgsProvider", { enumerable: true, get: function () { return ArgsProvider_1.ArgsProvider; } });
|
|
20
21
|
var SingletonProvider_1 = require("./provider/SingletonProvider");
|
|
21
22
|
Object.defineProperty(exports, "asSingleton", { enumerable: true, get: function () { return SingletonProvider_1.asSingleton; } });
|
|
23
|
+
Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
|
|
22
24
|
var TaggedProvider_1 = require("./provider/TaggedProvider");
|
|
23
25
|
Object.defineProperty(exports, "perTags", { enumerable: true, get: function () { return TaggedProvider_1.perTags; } });
|
|
26
|
+
Object.defineProperty(exports, "TaggedProvider", { enumerable: true, get: function () { return TaggedProvider_1.TaggedProvider; } });
|
|
24
27
|
var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
|
|
25
28
|
Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
|
|
26
29
|
var Registration_1 = require("./registration/Registration");
|
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,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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ 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 } from './provider/ArgsProvider';
|
|
11
|
-
export { asSingleton } from './provider/SingletonProvider';
|
|
12
|
-
export { perTags } from './provider/TaggedProvider';
|
|
10
|
+
export { ArgsFn, withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
|
|
11
|
+
export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
|
|
12
|
+
export { perTags, TaggedProvider } from './provider/TaggedProvider';
|
|
13
13
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
14
14
|
export { forKey, Registration } from './registration/Registration';
|
|
15
15
|
export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
|
package/esm/index.js
CHANGED
|
@@ -4,9 +4,9 @@ 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 } from './provider/ArgsProvider';
|
|
8
|
-
export { asSingleton } from './provider/SingletonProvider';
|
|
9
|
-
export { perTags } from './provider/TaggedProvider';
|
|
7
|
+
export { withArgsFn, withArgs, ArgsProvider } from './provider/ArgsProvider';
|
|
8
|
+
export { asSingleton, SingletonProvider } from './provider/SingletonProvider';
|
|
9
|
+
export { perTags, TaggedProvider } from './provider/TaggedProvider';
|
|
10
10
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
11
11
|
export { forKey, Registration } from './registration/Registration';
|
|
12
12
|
export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
|
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,MAAM,yBAAyB,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,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "23.3.
|
|
3
|
+
"version": "23.3.11",
|
|
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": "9540940bad2796da9703c260302f013b8e7ec87d"
|
|
60
60
|
}
|