ts-ioc-container 23.0.4 → 23.0.6
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/container/Container.js +2 -2
- package/cjm/provider/SingletonProvider.js +7 -2
- package/cjm/provider/SingletonProvider.js.map +1 -1
- package/esm/container/Container.js +2 -2
- package/esm/provider/SingletonProvider.js +6 -2
- package/esm/provider/SingletonProvider.js.map +1 -1
- package/package.json +2 -2
|
@@ -137,8 +137,8 @@ var Container = /** @class */ (function () {
|
|
|
137
137
|
var instances = Array.from(this.instances);
|
|
138
138
|
try {
|
|
139
139
|
for (var _b = __values(this.scopes), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
140
|
-
var
|
|
141
|
-
instances.push.apply(instances, __spreadArray([], __read(
|
|
140
|
+
var scope = _c.value;
|
|
141
|
+
instances.push.apply(instances, __spreadArray([], __read(scope.getInstances()), false));
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
@@ -42,6 +42,12 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.SingletonProvider = exports.asSingleton = void 0;
|
|
44
44
|
var ProviderDecorator_1 = require("./ProviderDecorator");
|
|
45
|
+
var Boxed = /** @class */ (function () {
|
|
46
|
+
function Boxed(value) {
|
|
47
|
+
this.value = value;
|
|
48
|
+
}
|
|
49
|
+
return Boxed;
|
|
50
|
+
}());
|
|
45
51
|
function asSingleton() {
|
|
46
52
|
return function (provider) { return new SingletonProvider(provider); };
|
|
47
53
|
}
|
|
@@ -65,8 +71,7 @@ var SingletonProvider = /** @class */ (function (_super) {
|
|
|
65
71
|
args[_i - 1] = arguments[_i];
|
|
66
72
|
}
|
|
67
73
|
if (this.instance === null) {
|
|
68
|
-
|
|
69
|
-
this.instance = { value: instance };
|
|
74
|
+
this.instance = new Boxed((_a = this.provider).resolve.apply(_a, __spreadArray([container], __read(args), false)));
|
|
70
75
|
}
|
|
71
76
|
return (_b = this.instance) === null || _b === void 0 ? void 0 : _b.value;
|
|
72
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAIxD;IACI,eAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IACnC,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,SAAgB,WAAW;IACvB,OAAO,UAAC,QAAQ,IAAK,OAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAA/B,CAA+B,CAAC;AACzD,CAAC;AAFD,kCAEC;AAED;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAoB,IAAI,CAAC;;IAIzC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,WAAE,CAAC;SACxE;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAlBD,CAA0C,qCAAiB,GAkB1D;AAlBY,8CAAiB"}
|
|
@@ -57,8 +57,8 @@ export class Container {
|
|
|
57
57
|
}
|
|
58
58
|
getInstances() {
|
|
59
59
|
const instances = Array.from(this.instances);
|
|
60
|
-
for (const
|
|
61
|
-
instances.push(...
|
|
60
|
+
for (const scope of this.scopes) {
|
|
61
|
+
instances.push(...scope.getInstances());
|
|
62
62
|
}
|
|
63
63
|
return instances;
|
|
64
64
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { ProviderDecorator } from './ProviderDecorator';
|
|
2
|
+
class Boxed {
|
|
3
|
+
constructor(value) {
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
2
7
|
export function asSingleton() {
|
|
3
8
|
return (provider) => new SingletonProvider(provider);
|
|
4
9
|
}
|
|
@@ -14,8 +19,7 @@ export class SingletonProvider extends ProviderDecorator {
|
|
|
14
19
|
resolve(container, ...args) {
|
|
15
20
|
var _a;
|
|
16
21
|
if (this.instance === null) {
|
|
17
|
-
|
|
18
|
-
this.instance = { value: instance };
|
|
22
|
+
this.instance = new Boxed(this.provider.resolve(container, ...args));
|
|
19
23
|
}
|
|
20
24
|
return (_a = this.instance) === null || _a === void 0 ? void 0 : _a.value;
|
|
21
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,KAAK;IACP,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;CAClC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAoB,IAAI,CAAC;IAIzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;SACxE;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "23.0.
|
|
3
|
+
"version": "23.0.6",
|
|
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": "c42d9f10d4261e2433758eb9626ba025fe9d1b64"
|
|
52
52
|
}
|