ts-ioc-container 21.0.13 → 22.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 +40 -20
- package/cjm/container/AutoMockedContainer.d.ts +1 -0
- package/cjm/container/AutoMockedContainer.js +3 -0
- package/cjm/container/AutoMockedContainer.js.map +1 -1
- package/cjm/container/Container.d.ts +3 -3
- package/cjm/container/Container.js +6 -3
- package/cjm/container/Container.js.map +1 -1
- package/cjm/container/EmptyContainer.d.ts +1 -0
- package/cjm/container/EmptyContainer.js +3 -0
- package/cjm/container/EmptyContainer.js.map +1 -1
- package/cjm/container/IContainer.d.ts +5 -2
- package/cjm/index.d.ts +2 -9
- package/cjm/index.js +10 -48
- package/cjm/index.js.map +1 -1
- package/cjm/provider/IProvider.d.ts +1 -1
- package/cjm/provider/Provider.d.ts +0 -3
- package/cjm/provider/Provider.js +0 -12
- package/cjm/provider/Provider.js.map +1 -1
- package/cjm/provider/ProviderBuilder.d.ts +15 -0
- package/cjm/provider/ProviderBuilder.js +89 -0
- package/cjm/provider/ProviderBuilder.js.map +1 -0
- package/cjm/registration/Registration.d.ts +21 -4
- package/cjm/registration/Registration.js +116 -0
- package/cjm/registration/Registration.js.map +1 -1
- package/cjm/registration/RegistrationReflector.d.ts +3 -3
- package/cjm/registration/RegistrationReflector.js +2 -2
- package/cjm/registration/RegistrationReflector.js.map +1 -1
- package/cjm/utils.d.ts +3 -0
- package/cjm/utils.js +5 -1
- package/cjm/utils.js.map +1 -1
- package/esm/container/AutoMockedContainer.d.ts +1 -0
- package/esm/container/AutoMockedContainer.js +3 -0
- package/esm/container/AutoMockedContainer.js.map +1 -1
- package/esm/container/Container.d.ts +3 -3
- package/esm/container/Container.js +6 -2
- package/esm/container/Container.js.map +1 -1
- package/esm/container/EmptyContainer.d.ts +1 -0
- package/esm/container/EmptyContainer.js +3 -0
- package/esm/container/EmptyContainer.js.map +1 -1
- package/esm/container/IContainer.d.ts +5 -2
- package/esm/index.d.ts +2 -9
- package/esm/index.js +2 -25
- package/esm/index.js.map +1 -1
- package/esm/provider/IProvider.d.ts +1 -1
- package/esm/provider/Provider.d.ts +0 -3
- package/esm/provider/Provider.js +0 -6
- package/esm/provider/Provider.js.map +1 -1
- package/esm/provider/ProviderBuilder.d.ts +15 -0
- package/esm/{registration/RegistrationBuilder.js → provider/ProviderBuilder.js} +16 -14
- package/esm/provider/ProviderBuilder.js.map +1 -0
- package/esm/registration/Registration.d.ts +21 -4
- package/esm/registration/Registration.js +56 -1
- package/esm/registration/Registration.js.map +1 -1
- package/esm/registration/RegistrationReflector.d.ts +3 -3
- package/esm/registration/RegistrationReflector.js +3 -3
- package/esm/registration/RegistrationReflector.js.map +1 -1
- package/esm/utils.d.ts +3 -0
- package/esm/utils.js +3 -0
- package/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/cjm/registration/RegistrationBuilder.d.ts +0 -14
- package/cjm/registration/RegistrationBuilder.js +0 -56
- package/cjm/registration/RegistrationBuilder.js.map +0 -1
- package/esm/registration/RegistrationBuilder.d.ts +0 -14
- package/esm/registration/RegistrationBuilder.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { identity } from '../utils';
|
|
1
|
+
import { identity, pipe } from '../utils';
|
|
2
2
|
export class RegistrationReflector {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.metadataKey = 'RegistrationReflector';
|
|
@@ -6,10 +6,10 @@ export class RegistrationReflector {
|
|
|
6
6
|
getMapper(target) {
|
|
7
7
|
return Reflect.getMetadata(this.metadataKey, target);
|
|
8
8
|
}
|
|
9
|
-
appendMapper(target,
|
|
9
|
+
appendMapper(target, reducer) {
|
|
10
10
|
var _a;
|
|
11
11
|
const current = (_a = Reflect.getMetadata(this.metadataKey, target)) !== null && _a !== void 0 ? _a : identity;
|
|
12
|
-
Reflect.defineMetadata(this.metadataKey, (
|
|
12
|
+
Reflect.defineMetadata(this.metadataKey, pipe(current, reducer), target);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=RegistrationReflector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationReflector.js","sourceRoot":"","sources":["../../lib/registration/RegistrationReflector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAS,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RegistrationReflector.js","sourceRoot":"","sources":["../../lib/registration/RegistrationReflector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAS,IAAI,EAAE,MAAM,UAAU,CAAC;AAG9D,MAAM,OAAO,qBAAqB;IAAlC;QACY,gBAAW,GAAG,uBAAuB,CAAC;IASlD,CAAC;IARG,SAAS,CAAI,MAAsB;QAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,MAA4B,EAAE,OAA4B;;QACnE,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,mCAAI,QAAQ,CAAC;QAC1E,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACJ"}
|
package/esm/utils.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export declare type constructor<T> = new (...args: any[]) => T;
|
|
2
2
|
export declare type MapFn<T> = (value: T) => T;
|
|
3
|
+
declare type Fn<A, B> = (a: A) => B;
|
|
4
|
+
export declare function pipe<A, B, C>(a: Fn<A, B>, b: Fn<B, C>): Fn<A, C>;
|
|
3
5
|
export declare const identity: <T>(value: T) => T;
|
|
6
|
+
export {};
|
package/esm/utils.js
CHANGED
package/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,IAAI,CAAU,CAAW,EAAE,CAAW;IAClD,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAAE,EAAE,CAAC,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.0",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"author": "ibabkin <igba14@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/master/packages/ts-ioc-container",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"ts-jest": "27.0.5",
|
|
49
49
|
"typescript": "4.4.3"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "3b7ea0b4a18ab963c87c7c273b6b3346a9e09f15"
|
|
52
52
|
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
|
|
2
|
-
import { ArgsFn } from '../provider/ArgsProvider';
|
|
3
|
-
import { Registration } from './Registration';
|
|
4
|
-
export declare class RegistrationBuilder<T = unknown> {
|
|
5
|
-
private provider;
|
|
6
|
-
private key?;
|
|
7
|
-
constructor(provider: IProvider<T>);
|
|
8
|
-
withArgs(...extraArgs: unknown[]): this;
|
|
9
|
-
withArgsFn(argsFn: ArgsFn): this;
|
|
10
|
-
perTags(...tags: Tag[]): this;
|
|
11
|
-
asSingleton(...tags: Tag[]): this;
|
|
12
|
-
forKey(key: ProviderKey): this;
|
|
13
|
-
build(): Registration<T>;
|
|
14
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegistrationBuilder = void 0;
|
|
4
|
-
var SingletonProvider_1 = require("../provider/SingletonProvider");
|
|
5
|
-
var TaggedProvider_1 = require("../provider/TaggedProvider");
|
|
6
|
-
var ArgsProvider_1 = require("../provider/ArgsProvider");
|
|
7
|
-
var RegistrationMissingKeyError_1 = require("./RegistrationMissingKeyError");
|
|
8
|
-
var RegistrationBuilder = /** @class */ (function () {
|
|
9
|
-
function RegistrationBuilder(provider) {
|
|
10
|
-
this.provider = provider;
|
|
11
|
-
}
|
|
12
|
-
RegistrationBuilder.prototype.withArgs = function () {
|
|
13
|
-
var extraArgs = [];
|
|
14
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
15
|
-
extraArgs[_i] = arguments[_i];
|
|
16
|
-
}
|
|
17
|
-
this.provider = new ArgsProvider_1.ArgsProvider(this.provider, function () { return extraArgs; });
|
|
18
|
-
return this;
|
|
19
|
-
};
|
|
20
|
-
RegistrationBuilder.prototype.withArgsFn = function (argsFn) {
|
|
21
|
-
this.provider = new ArgsProvider_1.ArgsProvider(this.provider, argsFn);
|
|
22
|
-
return this;
|
|
23
|
-
};
|
|
24
|
-
RegistrationBuilder.prototype.perTags = function () {
|
|
25
|
-
var tags = [];
|
|
26
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
27
|
-
tags[_i] = arguments[_i];
|
|
28
|
-
}
|
|
29
|
-
this.provider = new TaggedProvider_1.TaggedProvider(this.provider, tags);
|
|
30
|
-
return this;
|
|
31
|
-
};
|
|
32
|
-
RegistrationBuilder.prototype.asSingleton = function () {
|
|
33
|
-
var tags = [];
|
|
34
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
35
|
-
tags[_i] = arguments[_i];
|
|
36
|
-
}
|
|
37
|
-
this.provider = new SingletonProvider_1.SingletonProvider(this.provider);
|
|
38
|
-
if (tags.length > 0) {
|
|
39
|
-
this.provider = new TaggedProvider_1.TaggedProvider(this.provider, tags);
|
|
40
|
-
}
|
|
41
|
-
return this;
|
|
42
|
-
};
|
|
43
|
-
RegistrationBuilder.prototype.forKey = function (key) {
|
|
44
|
-
this.key = key;
|
|
45
|
-
return this;
|
|
46
|
-
};
|
|
47
|
-
RegistrationBuilder.prototype.build = function () {
|
|
48
|
-
if (!this.key) {
|
|
49
|
-
throw new RegistrationMissingKeyError_1.RegistrationMissingKeyError('Pls provide registration keys for current provider');
|
|
50
|
-
}
|
|
51
|
-
return { key: this.key, provider: this.provider };
|
|
52
|
-
};
|
|
53
|
-
return RegistrationBuilder;
|
|
54
|
-
}());
|
|
55
|
-
exports.RegistrationBuilder = RegistrationBuilder;
|
|
56
|
-
//# sourceMappingURL=RegistrationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,6EAA4E;AAG5E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAuB;aAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;YAAvB,8BAAuB;;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,yDAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AAvCD,IAuCC;AAvCY,kDAAmB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
|
|
2
|
-
import { ArgsFn } from '../provider/ArgsProvider';
|
|
3
|
-
import { Registration } from './Registration';
|
|
4
|
-
export declare class RegistrationBuilder<T = unknown> {
|
|
5
|
-
private provider;
|
|
6
|
-
private key?;
|
|
7
|
-
constructor(provider: IProvider<T>);
|
|
8
|
-
withArgs(...extraArgs: unknown[]): this;
|
|
9
|
-
withArgsFn(argsFn: ArgsFn): this;
|
|
10
|
-
perTags(...tags: Tag[]): this;
|
|
11
|
-
asSingleton(...tags: Tag[]): this;
|
|
12
|
-
forKey(key: ProviderKey): this;
|
|
13
|
-
build(): Registration<T>;
|
|
14
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAoB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,2BAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ"}
|