ts-ioc-container 22.1.1 → 22.2.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 +1 -1
- package/cjm/MapperReflector.d.ts +7 -0
- package/cjm/MapperReflector.js +20 -0
- package/cjm/MapperReflector.js.map +1 -0
- package/cjm/index.d.ts +2 -2
- package/cjm/index.js +3 -3
- package/cjm/index.js.map +1 -1
- package/cjm/provider/ProviderBuilder.d.ts +2 -0
- package/cjm/provider/ProviderBuilder.js +28 -3
- package/cjm/provider/ProviderBuilder.js.map +1 -1
- package/cjm/registration/Registration.d.ts +0 -2
- package/cjm/registration/Registration.js +5 -25
- package/cjm/registration/Registration.js.map +1 -1
- package/esm/MapperReflector.d.ts +7 -0
- package/esm/{registration/RegistrationReflector.js → MapperReflector.js} +5 -5
- package/esm/MapperReflector.js.map +1 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/provider/ProviderBuilder.d.ts +2 -0
- package/esm/provider/ProviderBuilder.js +12 -1
- package/esm/provider/ProviderBuilder.js.map +1 -1
- package/esm/registration/Registration.d.ts +0 -2
- package/esm/registration/Registration.js +4 -10
- package/esm/registration/Registration.js.map +1 -1
- package/package.json +2 -2
- package/cjm/registration/RegistrationReflector.d.ts +0 -7
- package/cjm/registration/RegistrationReflector.js +0 -20
- package/cjm/registration/RegistrationReflector.js.map +0 -1
- package/esm/registration/RegistrationReflector.d.ts +0 -7
- package/esm/registration/RegistrationReflector.js.map +0 -1
package/README.md
CHANGED
|
@@ -107,7 +107,7 @@ const logger = container.resolve<ILogger>('ILogger');
|
|
|
107
107
|
logger.info('Hello world');
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
## Decorators
|
|
111
111
|
|
|
112
112
|
```typescript
|
|
113
113
|
import { asSingleton, perTags, forKey, by, Registration } from "ts-ioc-container";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { constructor, MapFn } from './utils';
|
|
2
|
+
export declare class MapperReflector<P> {
|
|
3
|
+
private metadataKey;
|
|
4
|
+
constructor(metadataKey: string);
|
|
5
|
+
getMapper<T>(target: constructor<T>): MapFn<P> | undefined;
|
|
6
|
+
appendMapper(target: constructor<unknown>, reducer: MapFn<P>): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MapperReflector = void 0;
|
|
4
|
+
var utils_1 = require("./utils");
|
|
5
|
+
var MapperReflector = /** @class */ (function () {
|
|
6
|
+
function MapperReflector(metadataKey) {
|
|
7
|
+
this.metadataKey = metadataKey;
|
|
8
|
+
}
|
|
9
|
+
MapperReflector.prototype.getMapper = function (target) {
|
|
10
|
+
return Reflect.getMetadata(this.metadataKey, target);
|
|
11
|
+
};
|
|
12
|
+
MapperReflector.prototype.appendMapper = function (target, reducer) {
|
|
13
|
+
var _a;
|
|
14
|
+
var current = (_a = Reflect.getMetadata(this.metadataKey, target)) !== null && _a !== void 0 ? _a : utils_1.identity;
|
|
15
|
+
Reflect.defineMetadata(this.metadataKey, (0, utils_1.pipe)(current, reducer), target);
|
|
16
|
+
};
|
|
17
|
+
return MapperReflector;
|
|
18
|
+
}());
|
|
19
|
+
exports.MapperReflector = MapperReflector;
|
|
20
|
+
//# sourceMappingURL=MapperReflector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapperReflector.js","sourceRoot":"","sources":["../lib/MapperReflector.ts"],"names":[],"mappings":";;;AAAA,iCAA6D;AAE7D;IACI,yBAAoB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAC3C,mCAAS,GAAT,UAAa,MAAsB;QAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,sCAAY,GAAZ,UAAa,MAA4B,EAAE,OAAiB;;QACxD,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,mCAAI,gBAAQ,CAAC;QAC1E,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IACL,sBAAC;AAAD,CAAC,AAVD,IAUC;AAVY,0CAAe"}
|
package/cjm/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { Provider } from './provider/Provider';
|
|
|
13
13
|
export { ArgsFn } from './provider/ArgsProvider';
|
|
14
14
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
15
15
|
export { ProviderKey } from './provider/IProvider';
|
|
16
|
-
export { ProviderBuilder } from './provider/ProviderBuilder';
|
|
16
|
+
export { ProviderBuilder, perTags, asSingleton } from './provider/ProviderBuilder';
|
|
17
17
|
export { isProviderKey } from './provider/IProvider';
|
|
18
|
-
export {
|
|
18
|
+
export { forKey, Registration } from './registration/Registration';
|
|
19
19
|
export declare const by: <T>(key: InjectionToken<T>, ...args: unknown[]) => (l: IContainer) => T;
|
package/cjm/index.js
CHANGED
|
@@ -25,7 +25,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
25
25
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.by = exports.Registration = exports.
|
|
28
|
+
exports.by = exports.Registration = exports.forKey = exports.isProviderKey = exports.asSingleton = exports.perTags = exports.ProviderBuilder = exports.AutoMockedContainer = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.Container = exports.EmptyContainer = void 0;
|
|
29
29
|
var EmptyContainer_1 = require("./container/EmptyContainer");
|
|
30
30
|
Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } });
|
|
31
31
|
var Container_1 = require("./container/Container");
|
|
@@ -42,12 +42,12 @@ var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
|
|
|
42
42
|
Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
|
|
43
43
|
var ProviderBuilder_1 = require("./provider/ProviderBuilder");
|
|
44
44
|
Object.defineProperty(exports, "ProviderBuilder", { enumerable: true, get: function () { return ProviderBuilder_1.ProviderBuilder; } });
|
|
45
|
+
Object.defineProperty(exports, "perTags", { enumerable: true, get: function () { return ProviderBuilder_1.perTags; } });
|
|
46
|
+
Object.defineProperty(exports, "asSingleton", { enumerable: true, get: function () { return ProviderBuilder_1.asSingleton; } });
|
|
45
47
|
var IProvider_1 = require("./provider/IProvider");
|
|
46
48
|
Object.defineProperty(exports, "isProviderKey", { enumerable: true, get: function () { return IProvider_1.isProviderKey; } });
|
|
47
49
|
var Registration_1 = require("./registration/Registration");
|
|
48
|
-
Object.defineProperty(exports, "perTags", { enumerable: true, get: function () { return Registration_1.perTags; } });
|
|
49
50
|
Object.defineProperty(exports, "forKey", { enumerable: true, get: function () { return Registration_1.forKey; } });
|
|
50
|
-
Object.defineProperty(exports, "asSingleton", { enumerable: true, get: function () { return Registration_1.asSingleton; } });
|
|
51
51
|
Object.defineProperty(exports, "Registration", { enumerable: true, get: function () { return Registration_1.Registration; } });
|
|
52
52
|
var by = function (key) {
|
|
53
53
|
var args = [];
|
package/cjm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAIlB,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAE5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAIlB,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAE5B,8DAAmF;AAA1E,kHAAA,eAAe,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,8GAAA,WAAW,OAAA;AAC9C,kDAAqD;AAA5C,0GAAA,aAAa,OAAA;AACtB,4DAAmE;AAA1D,sGAAA,MAAM,OAAA;AAAE,4GAAA,YAAY,OAAA;AAEtB,IAAM,EAAE,GACX,UAAI,GAAsB;IAAE,cAAkB;SAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;QAAlB,6BAAkB;;IAC9C,OAAA,UAAC,CAAa;QACV,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAY,GAAG,UAAK,IAAI;IAAzB,CAA0B;AAD9B,CAC8B,CAAC;AAHtB,QAAA,EAAE,MAGoB"}
|
|
@@ -25,23 +25,28 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
25
25
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.ProviderBuilder = void 0;
|
|
28
|
+
exports.asSingleton = exports.perTags = exports.ProviderBuilder = void 0;
|
|
29
29
|
var ArgsProvider_1 = require("./ArgsProvider");
|
|
30
30
|
var TaggedProvider_1 = require("./TaggedProvider");
|
|
31
31
|
var SingletonProvider_1 = require("./SingletonProvider");
|
|
32
|
+
var utils_1 = require("../utils");
|
|
32
33
|
var Provider_1 = require("./Provider");
|
|
34
|
+
var MapperReflector_1 = require("../MapperReflector");
|
|
35
|
+
var reflector = new MapperReflector_1.MapperReflector('provider');
|
|
33
36
|
var ProviderBuilder = /** @class */ (function () {
|
|
34
37
|
function ProviderBuilder(provider) {
|
|
35
38
|
this.provider = provider;
|
|
36
39
|
}
|
|
37
40
|
ProviderBuilder.fromClass = function (Target) {
|
|
38
|
-
|
|
41
|
+
var _a;
|
|
42
|
+
var map = (_a = reflector.getMapper(Target)) !== null && _a !== void 0 ? _a : utils_1.identity;
|
|
43
|
+
return map(new ProviderBuilder(new Provider_1.Provider(function (container) {
|
|
39
44
|
var args = [];
|
|
40
45
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
41
46
|
args[_i - 1] = arguments[_i];
|
|
42
47
|
}
|
|
43
48
|
return container.resolve.apply(container, __spreadArray([Target], __read(args), false));
|
|
44
|
-
}));
|
|
49
|
+
})));
|
|
45
50
|
};
|
|
46
51
|
ProviderBuilder.fromValue = function (value) {
|
|
47
52
|
return new ProviderBuilder(new Provider_1.Provider(function () { return value; }));
|
|
@@ -86,4 +91,24 @@ var ProviderBuilder = /** @class */ (function () {
|
|
|
86
91
|
return ProviderBuilder;
|
|
87
92
|
}());
|
|
88
93
|
exports.ProviderBuilder = ProviderBuilder;
|
|
94
|
+
var perTags = function () {
|
|
95
|
+
var tags = [];
|
|
96
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
97
|
+
tags[_i] = arguments[_i];
|
|
98
|
+
}
|
|
99
|
+
return function (target) {
|
|
100
|
+
reflector.appendMapper(target, function (builder) { return builder.perTags.apply(builder, __spreadArray([], __read(tags), false)); });
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
exports.perTags = perTags;
|
|
104
|
+
var asSingleton = function () {
|
|
105
|
+
var tags = [];
|
|
106
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
107
|
+
tags[_i] = arguments[_i];
|
|
108
|
+
}
|
|
109
|
+
return function (target) {
|
|
110
|
+
reflector.appendMapper(target, function (builder) { return builder.asSingleton.apply(builder, __spreadArray([], __read(tags), false)); });
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
exports.asSingleton = asSingleton;
|
|
89
114
|
//# sourceMappingURL=ProviderBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/provider/ProviderBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAsD;AACtD,mDAAkD;AAClD,yDAAwD;
|
|
1
|
+
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/provider/ProviderBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAsD;AACtD,mDAAkD;AAClD,yDAAwD;AACxD,kCAAiD;AACjD,uCAAsC;AACtC,sDAAqD;AAErD,IAAM,SAAS,GAAG,IAAI,iCAAe,CAAkB,UAAU,CAAC,CAAC;AAEnE;IAcI,yBAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IAbpC,yBAAS,GAAhB,UAAiB,MAA4B;;QACzC,IAAM,GAAG,GAAG,MAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,gBAAQ,CAAC;QACpD,OAAO,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,UAAC,SAAS;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,SAAS,CAAC,OAAO,OAAjB,SAAS,iBAAS,MAAM,UAAK,IAAI;QAAjC,CAAkC,CAAC,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEM,yBAAS,GAAhB,UAAiB,KAAc;QAC3B,OAAO,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,sBAAM,GAAb,UAAc,EAAqB;QAC/B,OAAO,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAID,kCAAQ,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,oCAAU,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,iCAAO,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,qCAAW,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,+BAAK,GAAL;QACI,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACL,sBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0CAAe;AA4CrB,IAAM,OAAO,GAChB;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACf,OAAA,UAAC,MAAW;QACR,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,OAAO,OAAf,OAAO,2BAAY,IAAI,YAAvB,CAAwB,CAAC,CAAC;IAC1E,CAAC;AAFD,CAEC,CAAC;AAJO,QAAA,OAAO,WAId;AAEC,IAAM,WAAW,GACpB;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACf,OAAA,UAAC,MAAW;QACR,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,WAAW,OAAnB,OAAO,2BAAgB,IAAI,YAA3B,CAA4B,CAAC,CAAC;IAC9E,CAAC;AAFD,CAEC,CAAC;AAJO,QAAA,WAAW,eAIlB"}
|
|
@@ -17,6 +17,4 @@ export declare class Registration implements IContainerModule {
|
|
|
17
17
|
forKey(key: ProviderKey): this;
|
|
18
18
|
applyTo(container: IContainer): void;
|
|
19
19
|
}
|
|
20
|
-
export declare const perTags: (...tags: Tag[]) => ClassDecorator;
|
|
21
|
-
export declare const asSingleton: (...tags: Tag[]) => ClassDecorator;
|
|
22
20
|
export declare const forKey: (key: ProviderKey) => ClassDecorator;
|
|
@@ -25,19 +25,19 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
25
25
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.forKey = exports.
|
|
28
|
+
exports.forKey = exports.Registration = void 0;
|
|
29
29
|
var RegistrationMissingKeyError_1 = require("./RegistrationMissingKeyError");
|
|
30
30
|
var ProviderBuilder_1 = require("../provider/ProviderBuilder");
|
|
31
|
-
var
|
|
31
|
+
var MapperReflector_1 = require("../MapperReflector");
|
|
32
32
|
var utils_1 = require("../utils");
|
|
33
|
-
var
|
|
33
|
+
var reflector = new MapperReflector_1.MapperReflector('registration');
|
|
34
34
|
var Registration = /** @class */ (function () {
|
|
35
35
|
function Registration(providerBuilder) {
|
|
36
36
|
this.providerBuilder = providerBuilder;
|
|
37
37
|
}
|
|
38
38
|
Registration.fromClass = function (Target) {
|
|
39
39
|
var _a;
|
|
40
|
-
var map = (_a =
|
|
40
|
+
var map = (_a = reflector.getMapper(Target)) !== null && _a !== void 0 ? _a : utils_1.identity;
|
|
41
41
|
return map(new Registration(ProviderBuilder_1.ProviderBuilder.fromClass(Target)));
|
|
42
42
|
};
|
|
43
43
|
Registration.fromValue = function (value) {
|
|
@@ -90,29 +90,9 @@ var Registration = /** @class */ (function () {
|
|
|
90
90
|
return Registration;
|
|
91
91
|
}());
|
|
92
92
|
exports.Registration = Registration;
|
|
93
|
-
var perTags = function () {
|
|
94
|
-
var tags = [];
|
|
95
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
96
|
-
tags[_i] = arguments[_i];
|
|
97
|
-
}
|
|
98
|
-
return function (target) {
|
|
99
|
-
registrationReflector.appendMapper(target, function (registration) { return registration.perTags.apply(registration, __spreadArray([], __read(tags), false)); });
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
exports.perTags = perTags;
|
|
103
|
-
var asSingleton = function () {
|
|
104
|
-
var tags = [];
|
|
105
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
106
|
-
tags[_i] = arguments[_i];
|
|
107
|
-
}
|
|
108
|
-
return function (target) {
|
|
109
|
-
registrationReflector.appendMapper(target, function (registration) { return registration.asSingleton.apply(registration, __spreadArray([], __read(tags), false)); });
|
|
110
|
-
};
|
|
111
|
-
};
|
|
112
|
-
exports.asSingleton = asSingleton;
|
|
113
93
|
var forKey = function (key) {
|
|
114
94
|
return function (target) {
|
|
115
|
-
|
|
95
|
+
reflector.appendMapper(target, function (registration) { return registration.forKey(key); });
|
|
116
96
|
};
|
|
117
97
|
};
|
|
118
98
|
exports.forKey = forKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6EAA4E;AAE5E,+DAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6EAA4E;AAE5E,+DAA8D;AAC9D,sDAAqD;AACrD,kCAAiD;AAEjD,IAAM,SAAS,GAAG,IAAI,iCAAe,CAAe,cAAc,CAAC,CAAC;AAEpE;IAgBI,sBAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAbjD,sBAAS,GAAhB,UAAoB,MAAsB;;QACtC,IAAM,GAAG,GAAG,MAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,gBAAQ,CAAC;QACpD,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,iCAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,sBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,YAAY,CAAC,iCAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEM,mBAAM,GAAb,UAAiB,EAAwB;QACrC,OAAO,IAAI,YAAY,CAAC,iCAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAID,+BAAQ,GAAR;;QAAS,mBAAuB;aAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;YAAvB,8BAAuB;;QAC5B,IAAI,CAAC,eAAe,GAAG,CAAA,KAAA,IAAI,CAAC,eAAe,CAAA,CAAC,QAAQ,oCAAI,SAAS,UAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAAO,GAAP;;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,eAAe,GAAG,CAAA,KAAA,IAAI,CAAC,eAAe,CAAA,CAAC,OAAO,oCAAI,IAAI,UAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAW,GAAX;;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACtB,IAAI,CAAC,eAAe,GAAG,CAAA,KAAA,IAAI,CAAC,eAAe,CAAA,CAAC,WAAW,oCAAI,IAAI,UAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAAO,GAAP,UAAQ,SAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,yDAA2B,CAAC,2DAA2D,CAAC,CAAC;SACtG;QACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACL,mBAAC;AAAD,CAAC,AAjDD,IAiDC;AAjDY,oCAAY;AAmDlB,IAAM,MAAM,GACf,UAAC,GAAgB;IACjB,OAAA,UAAC,MAAW;QACR,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,UAAC,YAAY,IAAK,OAAA,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAxB,CAAwB,CAAC,CAAC;IAC/E,CAAC;AAFD,CAEC,CAAC;AAJO,QAAA,MAAM,UAIb"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { constructor, MapFn } from './utils';
|
|
2
|
+
export declare class MapperReflector<P> {
|
|
3
|
+
private metadataKey;
|
|
4
|
+
constructor(metadataKey: string);
|
|
5
|
+
getMapper<T>(target: constructor<T>): MapFn<P> | undefined;
|
|
6
|
+
appendMapper(target: constructor<unknown>, reducer: MapFn<P>): void;
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { identity, pipe } from '
|
|
2
|
-
export class
|
|
3
|
-
constructor() {
|
|
4
|
-
this.metadataKey =
|
|
1
|
+
import { identity, pipe } from './utils';
|
|
2
|
+
export class MapperReflector {
|
|
3
|
+
constructor(metadataKey) {
|
|
4
|
+
this.metadataKey = metadataKey;
|
|
5
5
|
}
|
|
6
6
|
getMapper(target) {
|
|
7
7
|
return Reflect.getMetadata(this.metadataKey, target);
|
|
@@ -12,4 +12,4 @@ export class RegistrationReflector {
|
|
|
12
12
|
Reflect.defineMetadata(this.metadataKey, pipe(current, reducer), target);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=MapperReflector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapperReflector.js","sourceRoot":"","sources":["../lib/MapperReflector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAS,IAAI,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,OAAO,eAAe;IACxB,YAAoB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAC3C,SAAS,CAAI,MAAsB;QAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,MAA4B,EAAE,OAAiB;;QACxD,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/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { Provider } from './provider/Provider';
|
|
|
13
13
|
export { ArgsFn } from './provider/ArgsProvider';
|
|
14
14
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
15
15
|
export { ProviderKey } from './provider/IProvider';
|
|
16
|
-
export { ProviderBuilder } from './provider/ProviderBuilder';
|
|
16
|
+
export { ProviderBuilder, perTags, asSingleton } from './provider/ProviderBuilder';
|
|
17
17
|
export { isProviderKey } from './provider/IProvider';
|
|
18
|
-
export {
|
|
18
|
+
export { forKey, Registration } from './registration/Registration';
|
|
19
19
|
export declare const by: <T>(key: InjectionToken<T>, ...args: unknown[]) => (l: IContainer) => T;
|
package/esm/index.js
CHANGED
|
@@ -5,8 +5,8 @@ export { MethodNotImplementedError } from './MethodNotImplementedError';
|
|
|
5
5
|
export { ContainerDisposedError } from './container/ContainerDisposedError';
|
|
6
6
|
export { Provider } from './provider/Provider';
|
|
7
7
|
export { AutoMockedContainer } from './container/AutoMockedContainer';
|
|
8
|
-
export { ProviderBuilder } from './provider/ProviderBuilder';
|
|
8
|
+
export { ProviderBuilder, perTags, asSingleton } from './provider/ProviderBuilder';
|
|
9
9
|
export { isProviderKey } from './provider/IProvider';
|
|
10
|
-
export {
|
|
10
|
+
export { forKey, Registration } from './registration/Registration';
|
|
11
11
|
export const by = (key, ...args) => (l) => l.resolve(key, ...args);
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,CAAC,MAAM,EAAE,GACX,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CACd,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { ArgsProvider } from './ArgsProvider';
|
|
2
2
|
import { TaggedProvider } from './TaggedProvider';
|
|
3
3
|
import { SingletonProvider } from './SingletonProvider';
|
|
4
|
+
import { identity } from '../utils';
|
|
4
5
|
import { Provider } from './Provider';
|
|
6
|
+
import { MapperReflector } from '../MapperReflector';
|
|
7
|
+
const reflector = new MapperReflector('provider');
|
|
5
8
|
export class ProviderBuilder {
|
|
6
9
|
constructor(provider) {
|
|
7
10
|
this.provider = provider;
|
|
8
11
|
}
|
|
9
12
|
static fromClass(Target) {
|
|
10
|
-
|
|
13
|
+
var _a;
|
|
14
|
+
const map = (_a = reflector.getMapper(Target)) !== null && _a !== void 0 ? _a : identity;
|
|
15
|
+
return map(new ProviderBuilder(new Provider((container, ...args) => container.resolve(Target, ...args))));
|
|
11
16
|
}
|
|
12
17
|
static fromValue(value) {
|
|
13
18
|
return new ProviderBuilder(new Provider(() => value));
|
|
@@ -38,4 +43,10 @@ export class ProviderBuilder {
|
|
|
38
43
|
return this.provider;
|
|
39
44
|
}
|
|
40
45
|
}
|
|
46
|
+
export const perTags = (...tags) => (target) => {
|
|
47
|
+
reflector.appendMapper(target, (builder) => builder.perTags(...tags));
|
|
48
|
+
};
|
|
49
|
+
export const asSingleton = (...tags) => (target) => {
|
|
50
|
+
reflector.appendMapper(target, (builder) => builder.asSingleton(...tags));
|
|
51
|
+
};
|
|
41
52
|
//# sourceMappingURL=ProviderBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/provider/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/provider/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAkB,UAAU,CAAC,CAAC;AAEnE,MAAM,OAAO,eAAe;IAcxB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IAb3C,MAAM,CAAC,SAAS,CAAC,MAA4B;;QACzC,MAAM,GAAG,GAAG,MAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,QAAQ,CAAC;QACpD,OAAO,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAc;QAC3B,OAAO,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,EAAqB;QAC/B,OAAO,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAID,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,KAAK;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,OAAO,GAChB,CAAC,GAAG,IAAW,EAAkB,EAAE,CACnC,CAAC,MAAW,EAAE,EAAE;IACZ,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,WAAW,GACpB,CAAC,GAAG,IAAW,EAAkB,EAAE,CACnC,CAAC,MAAW,EAAE,EAAE;IACZ,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC"}
|
|
@@ -17,6 +17,4 @@ export declare class Registration implements IContainerModule {
|
|
|
17
17
|
forKey(key: ProviderKey): this;
|
|
18
18
|
applyTo(container: IContainer): void;
|
|
19
19
|
}
|
|
20
|
-
export declare const perTags: (...tags: Tag[]) => ClassDecorator;
|
|
21
|
-
export declare const asSingleton: (...tags: Tag[]) => ClassDecorator;
|
|
22
20
|
export declare const forKey: (key: ProviderKey) => ClassDecorator;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { RegistrationMissingKeyError } from './RegistrationMissingKeyError';
|
|
2
2
|
import { ProviderBuilder } from '../provider/ProviderBuilder';
|
|
3
|
-
import {
|
|
3
|
+
import { MapperReflector } from '../MapperReflector';
|
|
4
4
|
import { identity } from '../utils';
|
|
5
|
-
const
|
|
5
|
+
const reflector = new MapperReflector('registration');
|
|
6
6
|
export class Registration {
|
|
7
7
|
constructor(providerBuilder) {
|
|
8
8
|
this.providerBuilder = providerBuilder;
|
|
9
9
|
}
|
|
10
10
|
static fromClass(Target) {
|
|
11
11
|
var _a;
|
|
12
|
-
const map = (_a =
|
|
12
|
+
const map = (_a = reflector.getMapper(Target)) !== null && _a !== void 0 ? _a : identity;
|
|
13
13
|
return map(new Registration(ProviderBuilder.fromClass(Target)));
|
|
14
14
|
}
|
|
15
15
|
static fromValue(value) {
|
|
@@ -45,13 +45,7 @@ export class Registration {
|
|
|
45
45
|
container.register(this.key, this.providerBuilder.build());
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
export const perTags = (...tags) => (target) => {
|
|
49
|
-
registrationReflector.appendMapper(target, (registration) => registration.perTags(...tags));
|
|
50
|
-
};
|
|
51
|
-
export const asSingleton = (...tags) => (target) => {
|
|
52
|
-
registrationReflector.appendMapper(target, (registration) => registration.asSingleton(...tags));
|
|
53
|
-
};
|
|
54
48
|
export const forKey = (key) => (target) => {
|
|
55
|
-
|
|
49
|
+
reflector.appendMapper(target, (registration) => registration.forKey(key));
|
|
56
50
|
};
|
|
57
51
|
//# sourceMappingURL=Registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAe,cAAc,CAAC,CAAC;AAEpE,MAAM,OAAO,YAAY;IAgBrB,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAbxD,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACtC,MAAM,GAAG,GAAG,MAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,QAAQ,CAAC;QACpD,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,MAAM,CAAI,EAAwB;QACrC,OAAO,IAAI,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAID,QAAQ,CAAC,GAAG,SAAoB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,SAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,2BAA2B,CAAC,2DAA2D,CAAC,CAAC;SACtG;QACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,MAAM,GACf,CAAC,GAAgB,EAAkB,EAAE,CACrC,CAAC,MAAW,EAAE,EAAE;IACZ,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.2.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": "ca0a2cddd0255fd1f1182793db1348ba064387e4"
|
|
52
52
|
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { constructor, MapFn } from '../utils';
|
|
2
|
-
import { Registration } from './Registration';
|
|
3
|
-
export declare class RegistrationReflector {
|
|
4
|
-
private metadataKey;
|
|
5
|
-
getMapper<T>(target: constructor<T>): MapFn<Registration> | undefined;
|
|
6
|
-
appendMapper(target: constructor<unknown>, reducer: MapFn<Registration>): void;
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegistrationReflector = void 0;
|
|
4
|
-
var utils_1 = require("../utils");
|
|
5
|
-
var RegistrationReflector = /** @class */ (function () {
|
|
6
|
-
function RegistrationReflector() {
|
|
7
|
-
this.metadataKey = 'RegistrationReflector';
|
|
8
|
-
}
|
|
9
|
-
RegistrationReflector.prototype.getMapper = function (target) {
|
|
10
|
-
return Reflect.getMetadata(this.metadataKey, target);
|
|
11
|
-
};
|
|
12
|
-
RegistrationReflector.prototype.appendMapper = function (target, reducer) {
|
|
13
|
-
var _a;
|
|
14
|
-
var current = (_a = Reflect.getMetadata(this.metadataKey, target)) !== null && _a !== void 0 ? _a : utils_1.identity;
|
|
15
|
-
Reflect.defineMetadata(this.metadataKey, (0, utils_1.pipe)(current, reducer), target);
|
|
16
|
-
};
|
|
17
|
-
return RegistrationReflector;
|
|
18
|
-
}());
|
|
19
|
-
exports.RegistrationReflector = RegistrationReflector;
|
|
20
|
-
//# sourceMappingURL=RegistrationReflector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationReflector.js","sourceRoot":"","sources":["../../lib/registration/RegistrationReflector.ts"],"names":[],"mappings":";;;AAAA,kCAA8D;AAG9D;IAAA;QACY,gBAAW,GAAG,uBAAuB,CAAC;IASlD,CAAC;IARG,yCAAS,GAAT,UAAa,MAAsB;QAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,4CAAY,GAAZ,UAAa,MAA4B,EAAE,OAA4B;;QACnE,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,mCAAI,gBAAQ,CAAC;QAC1E,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IACL,4BAAC;AAAD,CAAC,AAVD,IAUC;AAVY,sDAAqB"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { constructor, MapFn } from '../utils';
|
|
2
|
-
import { Registration } from './Registration';
|
|
3
|
-
export declare class RegistrationReflector {
|
|
4
|
-
private metadataKey;
|
|
5
|
-
getMapper<T>(target: constructor<T>): MapFn<Registration> | undefined;
|
|
6
|
-
appendMapper(target: constructor<unknown>, reducer: MapFn<Registration>): void;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|