ts-ioc-container 6.22.3 → 6.22.4
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/providers/SingletonProvider.d.ts +0 -1
- package/cjm/core/providers/SingletonProvider.d.ts.map +1 -1
- package/cjm/core/providers/SingletonProvider.js +10 -5
- package/cjm/core/providers/SingletonProvider.js.map +1 -1
- package/esm/core/providers/SingletonProvider.d.ts +0 -1
- package/esm/core/providers/SingletonProvider.d.ts.map +1 -1
- package/esm/core/providers/SingletonProvider.js +9 -5
- package/esm/core/providers/SingletonProvider.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,6 @@ import { IServiceLocator } from '../IServiceLocator';
|
|
|
3
3
|
export declare class SingletonProvider<T> implements IProvider<T> {
|
|
4
4
|
private readonly decorated;
|
|
5
5
|
private instance;
|
|
6
|
-
private hasInstance;
|
|
7
6
|
constructor(decorated: IProvider<T>);
|
|
8
7
|
clone(): IProvider<T>;
|
|
9
8
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAuB;gBAEV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAQvD"}
|
|
@@ -27,11 +27,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
28
|
exports.SingletonProvider = void 0;
|
|
29
29
|
var ProviderNotClonedError_1 = require("../../errors/ProviderNotClonedError");
|
|
30
|
+
var Box = /** @class */ (function () {
|
|
31
|
+
function Box(value) {
|
|
32
|
+
this.value = value;
|
|
33
|
+
}
|
|
34
|
+
return Box;
|
|
35
|
+
}());
|
|
30
36
|
var SingletonProvider = /** @class */ (function () {
|
|
31
37
|
function SingletonProvider(decorated) {
|
|
32
38
|
this.decorated = decorated;
|
|
33
39
|
this.instance = null;
|
|
34
|
-
this.hasInstance = false;
|
|
35
40
|
}
|
|
36
41
|
SingletonProvider.prototype.clone = function () {
|
|
37
42
|
throw new ProviderNotClonedError_1.ProviderNotClonedError('SingletonProvider cannot be cloned');
|
|
@@ -46,11 +51,11 @@ var SingletonProvider = /** @class */ (function () {
|
|
|
46
51
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
47
52
|
args[_i - 1] = arguments[_i];
|
|
48
53
|
}
|
|
49
|
-
if (
|
|
50
|
-
this.
|
|
51
|
-
this.instance =
|
|
54
|
+
if (this.instance === null) {
|
|
55
|
+
var instance = (_a = this.decorated).resolve.apply(_a, __spreadArray([locator], __read(args), false));
|
|
56
|
+
this.instance = new Box(instance);
|
|
52
57
|
}
|
|
53
|
-
return this.instance;
|
|
58
|
+
return this.instance.value;
|
|
54
59
|
};
|
|
55
60
|
return SingletonProvider;
|
|
56
61
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,8EAA6E;AAE7E;IACI,aAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IACnC,UAAC;AAAD,CAAC,AAFD,IAEC;AAED;IAGI,2BAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAF5C,aAAQ,GAAkB,IAAI,CAAC;IAEgB,CAAC;IAExD,iCAAK,GAAL;QACI,MAAM,IAAI,+CAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAwB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,UAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,8CAAiB"}
|
|
@@ -3,7 +3,6 @@ import { IServiceLocator } from '../IServiceLocator';
|
|
|
3
3
|
export declare class SingletonProvider<T> implements IProvider<T> {
|
|
4
4
|
private readonly decorated;
|
|
5
5
|
private instance;
|
|
6
|
-
private hasInstance;
|
|
7
6
|
constructor(decorated: IProvider<T>);
|
|
8
7
|
clone(): IProvider<T>;
|
|
9
8
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAuB;gBAEV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAQvD"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { ProviderNotClonedError } from '../../errors/ProviderNotClonedError';
|
|
2
|
+
class Box {
|
|
3
|
+
constructor(value) {
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
2
7
|
export class SingletonProvider {
|
|
3
8
|
constructor(decorated) {
|
|
4
9
|
this.decorated = decorated;
|
|
5
10
|
this.instance = null;
|
|
6
|
-
this.hasInstance = false;
|
|
7
11
|
}
|
|
8
12
|
clone() {
|
|
9
13
|
throw new ProviderNotClonedError('SingletonProvider cannot be cloned');
|
|
@@ -13,11 +17,11 @@ export class SingletonProvider {
|
|
|
13
17
|
this.decorated.dispose();
|
|
14
18
|
}
|
|
15
19
|
resolve(locator, ...args) {
|
|
16
|
-
if (
|
|
17
|
-
this.
|
|
18
|
-
this.instance =
|
|
20
|
+
if (this.instance === null) {
|
|
21
|
+
const instance = this.decorated.resolve(locator, ...args);
|
|
22
|
+
this.instance = new Box(instance);
|
|
19
23
|
}
|
|
20
|
-
return this.instance;
|
|
24
|
+
return this.instance.value;
|
|
21
25
|
}
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=SingletonProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,GAAG;IACL,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;CAClC;AAED,MAAM,OAAO,iBAAiB;IAG1B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAF5C,aAAQ,GAAkB,IAAI,CAAC;IAEgB,CAAC;IAExD,KAAK;QACD,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAwB,EAAE,GAAG,IAAW;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;CACJ"}
|