ts-ioc-container 7.0.6 → 7.1.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/cjm/core/ProviderRepository.js +3 -5
- package/cjm/core/ProviderRepository.js.map +1 -1
- package/cjm/features/ProviderBuilder.d.ts +2 -2
- package/cjm/features/ProviderBuilder.js +12 -6
- package/cjm/features/ProviderBuilder.js.map +1 -1
- package/esm/core/ProviderRepository.js +3 -5
- package/esm/core/ProviderRepository.js.map +1 -1
- package/esm/features/ProviderBuilder.d.ts +2 -2
- package/esm/features/ProviderBuilder.js +6 -6
- package/esm/features/ProviderBuilder.js.map +1 -1
- package/package.json +2 -2
|
@@ -71,11 +71,12 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
71
71
|
return repo;
|
|
72
72
|
};
|
|
73
73
|
ProviderRepository.prototype.entries = function (filters) {
|
|
74
|
+
var _a, _b;
|
|
74
75
|
var localProviders = Array.from(this.providers.entries()).filter(function (_a) {
|
|
75
76
|
var _b = __read(_a, 2), value = _b[1];
|
|
76
77
|
return value.isValid(filters);
|
|
77
78
|
});
|
|
78
|
-
var parentProviders = this.parent ?
|
|
79
|
+
var parentProviders = (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.entries(filters)) !== null && _b !== void 0 ? _b : [];
|
|
79
80
|
return Array.from(new Map(__spreadArray(__spreadArray([], __read(parentProviders), false), __read(localProviders), false)).entries());
|
|
80
81
|
};
|
|
81
82
|
ProviderRepository.prototype.dispose = function () {
|
|
@@ -106,10 +107,7 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
106
107
|
};
|
|
107
108
|
ProviderRepository.prototype.findLocally = function (key) {
|
|
108
109
|
var provider = this.providers.get(key);
|
|
109
|
-
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
|
-
return provider;
|
|
110
|
+
return !provider || !provider.isValid(this) ? undefined : provider;
|
|
113
111
|
};
|
|
114
112
|
return ProviderRepository;
|
|
115
113
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAwE;AAGxE;IAGI,4BAAoB,MAA2B,EAAS,KAAS,EAAS,IAAgB;QAAlC,sBAAA,EAAA,SAAS;QAAS,qBAAA,EAAA,SAAgB;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEyB,CAAC;IAE9F,gCAAG,GAAH,UAAO,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kCAAK,GAAL,UAAM,IAAgB,EAAE,MAAiC;;QAAnD,qBAAA,EAAA,SAAgB;QAAE,uBAAA,EAAA,aAAiC;QACrD,IAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;;YACpE,KAA8B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,gBAAA,4BAAE;gBAAzC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;aACnC;;;;;;;;;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAqB
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAwE;AAGxE;IAGI,4BAAoB,MAA2B,EAAS,KAAS,EAAS,IAAgB;QAAlC,sBAAA,EAAA,SAAS;QAAS,qBAAA,EAAA,SAAgB;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEyB,CAAC;IAE9F,gCAAG,GAAH,UAAO,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kCAAK,GAAL,UAAM,IAAgB,EAAE,MAAiC;;QAAnD,qBAAA,EAAA,SAAgB;QAAE,uBAAA,EAAA,aAAiC;QACrD,IAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;;YACpE,KAA8B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,gBAAA,4BAAE;gBAAzC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;aACnC;;;;;;;;;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAqB;;QACzB,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,EAAS;gBAAT,KAAA,aAAS,EAAN,KAAK,QAAA;YAAM,OAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAtB,CAAsB,CAAC,CAAC;QAC1G,IAAM,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,eAAe,kBAAK,cAAc,UAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,oCAAO,GAAP;;;YACI,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAApC,IAAM,CAAC,WAAA;gBACR,CAAC,CAAC,OAAO,EAAE,CAAC;aACf;;;;;;;;;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,iCAAI,GAAJ,UAAQ,GAAgB;;QACpB,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,WAAW,CAAI,GAAG,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,6CAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,wCAAW,GAAnB,UAAuB,GAAgB;QACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,CAAC;IACL,yBAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,gDAAkB"}
|
|
@@ -10,8 +10,8 @@ export declare class ProviderBuilder<T> {
|
|
|
10
10
|
withArgs(...extraArgs: any[]): this;
|
|
11
11
|
withHook(hook: IInstanceHook): this;
|
|
12
12
|
withArgsFn(fn: (l: IServiceLocator) => any[]): this;
|
|
13
|
-
asSingleton(): this;
|
|
14
13
|
forTags(tags: Tag[]): this;
|
|
15
14
|
forLevel(level: number): this;
|
|
16
|
-
|
|
15
|
+
asSingleton(): IProvider<T>;
|
|
16
|
+
asRequested(): IProvider<T>;
|
|
17
17
|
}
|
|
@@ -52,7 +52,14 @@ var ProviderBuilder = /** @class */ (function () {
|
|
|
52
52
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
53
53
|
extraArgs[_i] = arguments[_i];
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
var oldProvider = this.provider;
|
|
56
|
+
this.provider = new Provider_1.Provider(function (l) {
|
|
57
|
+
var args = [];
|
|
58
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
59
|
+
args[_i - 1] = arguments[_i];
|
|
60
|
+
}
|
|
61
|
+
return oldProvider.resolve.apply(oldProvider, __spreadArray(__spreadArray([l], __read(args), false), __read(extraArgs), false));
|
|
62
|
+
});
|
|
56
63
|
return this;
|
|
57
64
|
};
|
|
58
65
|
ProviderBuilder.prototype.withHook = function (hook) {
|
|
@@ -70,10 +77,6 @@ var ProviderBuilder = /** @class */ (function () {
|
|
|
70
77
|
});
|
|
71
78
|
return this;
|
|
72
79
|
};
|
|
73
|
-
ProviderBuilder.prototype.asSingleton = function () {
|
|
74
|
-
this.provider = new SingletonProvider_1.SingletonProvider(this.provider);
|
|
75
|
-
return this;
|
|
76
|
-
};
|
|
77
80
|
ProviderBuilder.prototype.forTags = function (tags) {
|
|
78
81
|
this.provider = new TaggedProvider_1.TaggedProvider(this.provider, tags);
|
|
79
82
|
return this;
|
|
@@ -82,7 +85,10 @@ var ProviderBuilder = /** @class */ (function () {
|
|
|
82
85
|
this.provider = new LevelProvider_1.LevelProvider(this.provider, [level, level]);
|
|
83
86
|
return this;
|
|
84
87
|
};
|
|
85
|
-
ProviderBuilder.prototype.
|
|
88
|
+
ProviderBuilder.prototype.asSingleton = function () {
|
|
89
|
+
return new SingletonProvider_1.SingletonProvider(this.provider);
|
|
90
|
+
};
|
|
91
|
+
ProviderBuilder.prototype.asRequested = function () {
|
|
86
92
|
return this.provider;
|
|
87
93
|
};
|
|
88
94
|
return ProviderBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/features/ProviderBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAA8D;AAC9D,6CAA4C;AAG5C,gEAA+D;AAE/D,yDAAwD;AACxD,uDAAsD;AAEtD;IAWI,yBAAY,EAAwB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAVM,+BAAe,GAAtB,UAA0B,KAAqB;QAC3C,OAAO,IAAI,eAAe,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IAC1E,CAAC;IAEM,4BAAY,GAAnB,UAAuB,KAAQ;QAC3B,OAAO,IAAI,eAAe,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IAC5C,CAAC;IAMD,kCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/features/ProviderBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAA8D;AAC9D,6CAA4C;AAG5C,gEAA+D;AAE/D,yDAAwD;AACxD,uDAAsD;AAEtD;IAWI,yBAAY,EAAwB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAVM,+BAAe,GAAtB,UAA0B,KAAqB;QAC3C,OAAO,IAAI,eAAe,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IAC1E,CAAC;IAEM,4BAAY,GAAnB,UAAuB,KAAQ;QAC3B,OAAO,IAAI,eAAe,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IAC5C,CAAC;IAMD,kCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,WAAW,CAAC,OAAO,OAAnB,WAAW,+BAAS,CAAC,UAAK,IAAI,kBAAK,SAAS;QAA5C,CAA6C,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAQ,GAAR,UAAS,IAAmB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAU,GAAV,UAAW,EAAiC;QACxC,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,WAAW,CAAC,OAAO,OAAnB,WAAW,+BAAS,CAAC,UAAK,IAAI,kBAAK,EAAE,CAAC,CAAC,CAAC;QAAxC,CAAyC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAO,GAAP,UAAQ,IAAW;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAW,GAAX;QACI,OAAO,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,qCAAW,GAAX;QACI,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACL,sBAAC;AAAD,CAAC,AAjDD,IAiDC;AAjDY,0CAAe"}
|
|
@@ -17,8 +17,9 @@ export class ProviderRepository {
|
|
|
17
17
|
return repo;
|
|
18
18
|
}
|
|
19
19
|
entries(filters) {
|
|
20
|
+
var _a, _b;
|
|
20
21
|
const localProviders = Array.from(this.providers.entries()).filter(([, value]) => value.isValid(filters));
|
|
21
|
-
const parentProviders = this.parent ?
|
|
22
|
+
const parentProviders = (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.entries(filters)) !== null && _b !== void 0 ? _b : [];
|
|
22
23
|
return Array.from(new Map([...parentProviders, ...localProviders]).entries());
|
|
23
24
|
}
|
|
24
25
|
dispose() {
|
|
@@ -38,10 +39,7 @@ export class ProviderRepository {
|
|
|
38
39
|
}
|
|
39
40
|
findLocally(key) {
|
|
40
41
|
const provider = this.providers.get(key);
|
|
41
|
-
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
return provider;
|
|
42
|
+
return !provider || !provider.isValid(this) ? undefined : provider;
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
//# sourceMappingURL=ProviderRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,OAAO,kBAAkB;IAG3B,YAAoB,MAA2B,EAAS,QAAQ,CAAC,EAAS,OAAc,EAAE;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEyB,CAAC;IAE9F,GAAG,CAAI,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAc,EAAE,EAAE,SAA6B,IAAI;QACrD,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAqB
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,OAAO,kBAAkB;IAG3B,YAAoB,MAA2B,EAAS,QAAQ,CAAC,EAAS,OAAc,EAAE;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEyB,CAAC;IAE9F,GAAG,CAAI,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAc,EAAE,EAAE,SAA6B,IAAI;QACrD,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAqB;;QACzB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1G,MAAM,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YACrC,CAAC,CAAC,OAAO,EAAE,CAAC;SACf;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,CAAI,GAAgB;;QACpB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,WAAW,CAAI,GAAG,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,WAAW,CAAI,GAAgB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,CAAC;CACJ"}
|
|
@@ -10,8 +10,8 @@ export declare class ProviderBuilder<T> {
|
|
|
10
10
|
withArgs(...extraArgs: any[]): this;
|
|
11
11
|
withHook(hook: IInstanceHook): this;
|
|
12
12
|
withArgsFn(fn: (l: IServiceLocator) => any[]): this;
|
|
13
|
-
asSingleton(): this;
|
|
14
13
|
forTags(tags: Tag[]): this;
|
|
15
14
|
forLevel(level: number): this;
|
|
16
|
-
|
|
15
|
+
asSingleton(): IProvider<T>;
|
|
16
|
+
asRequested(): IProvider<T>;
|
|
17
17
|
}
|
|
@@ -14,7 +14,8 @@ export class ProviderBuilder {
|
|
|
14
14
|
return new ProviderBuilder(() => value);
|
|
15
15
|
}
|
|
16
16
|
withArgs(...extraArgs) {
|
|
17
|
-
this.
|
|
17
|
+
const oldProvider = this.provider;
|
|
18
|
+
this.provider = new Provider((l, ...args) => oldProvider.resolve(l, ...args, ...extraArgs));
|
|
18
19
|
return this;
|
|
19
20
|
}
|
|
20
21
|
withHook(hook) {
|
|
@@ -26,10 +27,6 @@ export class ProviderBuilder {
|
|
|
26
27
|
this.provider = new Provider((l, ...args) => oldProvider.resolve(l, ...args, ...fn(l)));
|
|
27
28
|
return this;
|
|
28
29
|
}
|
|
29
|
-
asSingleton() {
|
|
30
|
-
this.provider = new SingletonProvider(this.provider);
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
30
|
forTags(tags) {
|
|
34
31
|
this.provider = new TaggedProvider(this.provider, tags);
|
|
35
32
|
return this;
|
|
@@ -38,7 +35,10 @@ export class ProviderBuilder {
|
|
|
38
35
|
this.provider = new LevelProvider(this.provider, [level, level]);
|
|
39
36
|
return this;
|
|
40
37
|
}
|
|
41
|
-
|
|
38
|
+
asSingleton() {
|
|
39
|
+
return new SingletonProvider(this.provider);
|
|
40
|
+
}
|
|
41
|
+
asRequested() {
|
|
42
42
|
return this.provider;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/features/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAWxB,YAAY,EAAwB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAVD,MAAM,CAAC,eAAe,CAAI,KAAqB;QAC3C,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,YAAY,CAAI,KAAQ;QAC3B,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAMD,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/features/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAWxB,YAAY,EAAwB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAVD,MAAM,CAAC,eAAe,CAAI,KAAqB;QAC3C,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,YAAY,CAAI,KAAQ;QAC3B,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAMD,QAAQ,CAAC,GAAG,SAAgB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,IAAmB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,EAAiC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAW;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"author": "ibabkin <ibabkin@goodgamestudios.com>",
|
|
6
6
|
"homepage": "https://github.com/IgorBabkin/service-locator/tree/master/packages/ts-ioc-container",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"ts-jest": "27.0.5",
|
|
49
49
|
"typescript": "4.4.3"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "5c8793c581fc286ff759cda5324e248533075082",
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"reflect-metadata": "^0.1.13"
|
|
54
54
|
}
|