ts-ioc-container 6.22.2 → 6.23.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/providers/SingletonProvider.d.ts +0 -1
- package/cjm/core/providers/SingletonProvider.d.ts.map +1 -1
- package/cjm/core/providers/SingletonProvider.js +11 -5
- package/cjm/core/providers/SingletonProvider.js.map +1 -1
- package/cjm/features/context/ContextServiceLocator.d.ts +13 -0
- package/cjm/features/context/ContextServiceLocator.d.ts.map +1 -0
- package/cjm/features/context/ContextServiceLocator.js +61 -0
- package/cjm/features/context/ContextServiceLocator.js.map +1 -0
- package/cjm/features/context/ILocatorContext.d.ts +5 -0
- package/cjm/features/context/ILocatorContext.d.ts.map +1 -0
- package/cjm/features/context/ILocatorContext.js +5 -0
- package/cjm/features/context/ILocatorContext.js.map +1 -0
- package/cjm/features/context/LocatorContext.d.ts +7 -0
- package/cjm/features/context/LocatorContext.d.ts.map +1 -0
- package/cjm/features/context/LocatorContext.js +14 -0
- package/cjm/features/context/LocatorContext.js.map +1 -0
- package/cjm/index.d.ts +3 -11
- package/cjm/index.d.ts.map +1 -1
- package/cjm/index.js +9 -17
- package/cjm/index.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 +10 -5
- package/esm/core/providers/SingletonProvider.js.map +1 -1
- package/esm/features/context/ContextServiceLocator.d.ts +13 -0
- package/esm/features/context/ContextServiceLocator.d.ts.map +1 -0
- package/esm/features/context/ContextServiceLocator.js +25 -0
- package/esm/features/context/ContextServiceLocator.js.map +1 -0
- package/esm/features/context/ILocatorContext.d.ts +5 -0
- package/esm/features/context/ILocatorContext.d.ts.map +1 -0
- package/esm/features/context/ILocatorContext.js +2 -0
- package/esm/features/context/ILocatorContext.js.map +1 -0
- package/esm/features/context/LocatorContext.d.ts +7 -0
- package/esm/features/context/LocatorContext.d.ts.map +1 -0
- package/esm/features/context/LocatorContext.js +9 -0
- package/esm/features/context/LocatorContext.js.map +1 -0
- package/esm/index.d.ts +3 -11
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -11
- package/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/cjm/features/HookServiceLocator.d.ts +0 -18
- package/cjm/features/HookServiceLocator.d.ts.map +0 -1
- package/cjm/features/HookServiceLocator.js +0 -58
- package/cjm/features/HookServiceLocator.js.map +0 -1
- package/esm/features/HookServiceLocator.d.ts +0 -18
- package/esm/features/HookServiceLocator.d.ts.map +0 -1
- package/esm/features/HookServiceLocator.js +0 -23
- package/esm/features/HookServiceLocator.js.map +0 -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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,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;CASvD"}
|
|
@@ -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,12 @@ 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
|
-
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
+
return this.instance.value;
|
|
54
60
|
};
|
|
55
61
|
return SingletonProvider;
|
|
56
62
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8EAA6E;AAE7E;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,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,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,8CAAiB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
|
|
2
|
+
import { IProvider, ProviderKey } from '../../core/providers/IProvider';
|
|
3
|
+
import { ILocatorContext } from './ILocatorContext';
|
|
4
|
+
export declare class ContextServiceLocator {
|
|
5
|
+
private locator;
|
|
6
|
+
private locatorFactory;
|
|
7
|
+
constructor(locator: IServiceLocator, locatorFactory?: <T>(context: T) => ILocatorContext<T>);
|
|
8
|
+
createLocator<T>(context: T): ContextServiceLocator;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
register<T>(key: ProviderKey, provider: IProvider<T>): this;
|
|
11
|
+
resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ContextServiceLocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextServiceLocator.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAGxE,qBAAa,qBAAqB;IAE1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;gBADd,OAAO,EAAE,eAAe,EACxB,cAAc,GAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAA4C;IAG5G,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,qBAAqB;IASnD,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.ContextServiceLocator = void 0;
|
|
29
|
+
var ProviderBuilder_1 = require("../ProviderBuilder");
|
|
30
|
+
var ILocatorContext_1 = require("./ILocatorContext");
|
|
31
|
+
var LocatorContext_1 = require("./LocatorContext");
|
|
32
|
+
var ContextServiceLocator = /** @class */ (function () {
|
|
33
|
+
function ContextServiceLocator(locator, locatorFactory) {
|
|
34
|
+
if (locatorFactory === void 0) { locatorFactory = function (context) { return new LocatorContext_1.LocatorContext(context); }; }
|
|
35
|
+
this.locator = locator;
|
|
36
|
+
this.locatorFactory = locatorFactory;
|
|
37
|
+
}
|
|
38
|
+
ContextServiceLocator.prototype.createLocator = function (context) {
|
|
39
|
+
return new ContextServiceLocator(this.locator
|
|
40
|
+
.createLocator()
|
|
41
|
+
.register(ILocatorContext_1.ILocatorContextKey, ProviderBuilder_1.ProviderBuilder.fromInstance(this.locatorFactory(context)).asRequested()), this.locatorFactory);
|
|
42
|
+
};
|
|
43
|
+
ContextServiceLocator.prototype.dispose = function () {
|
|
44
|
+
this.locator.dispose();
|
|
45
|
+
};
|
|
46
|
+
ContextServiceLocator.prototype.register = function (key, provider) {
|
|
47
|
+
this.locator.register(key, provider);
|
|
48
|
+
return this;
|
|
49
|
+
};
|
|
50
|
+
ContextServiceLocator.prototype.resolve = function (key) {
|
|
51
|
+
var _a;
|
|
52
|
+
var deps = [];
|
|
53
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
54
|
+
deps[_i - 1] = arguments[_i];
|
|
55
|
+
}
|
|
56
|
+
return (_a = this.locator).resolve.apply(_a, __spreadArray([key], __read(deps), false));
|
|
57
|
+
};
|
|
58
|
+
return ContextServiceLocator;
|
|
59
|
+
}());
|
|
60
|
+
exports.ContextServiceLocator = ContextServiceLocator;
|
|
61
|
+
//# sourceMappingURL=ContextServiceLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextServiceLocator.js","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAqD;AACrD,qDAAwE;AACxE,mDAAkD;AAElD;IACI,+BACY,OAAwB,EACxB,cAAgG;QAAhG,+BAAA,EAAA,2BAAyD,OAAO,IAAK,OAAA,IAAI,+BAAc,CAAC,OAAO,CAAC,EAA3B,CAA2B;QADhG,YAAO,GAAP,OAAO,CAAiB;QACxB,mBAAc,GAAd,cAAc,CAAkF;IACzG,CAAC;IAEJ,6CAAa,GAAb,UAAiB,OAAU;QACvB,OAAO,IAAI,qBAAqB,CAC5B,IAAI,CAAC,OAAO;aACP,aAAa,EAAE;aACf,QAAQ,CAAC,oCAAkB,EAAE,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC3G,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAED,uCAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,wCAAQ,GAAR,UAAY,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uCAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAC9C,CAAC;IACL,4BAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,sDAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,eAAgC,CAAC;AAChE,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,IAAI,CAAC,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC;CAGhB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocatorContext = void 0;
|
|
4
|
+
var LocatorContext = /** @class */ (function () {
|
|
5
|
+
function LocatorContext(value) {
|
|
6
|
+
this.value = value;
|
|
7
|
+
}
|
|
8
|
+
LocatorContext.prototype.getValue = function () {
|
|
9
|
+
return this.value;
|
|
10
|
+
};
|
|
11
|
+
return LocatorContext;
|
|
12
|
+
}());
|
|
13
|
+
exports.LocatorContext = LocatorContext;
|
|
14
|
+
//# sourceMappingURL=LocatorContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":";;;AAEA;IACI,wBAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,iCAAQ,GAAR;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACL,qBAAC;AAAD,CAAC,AAND,IAMC;AANY,wCAAc"}
|
package/cjm/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { HookedProvider } from './features/instanceHook/HookedProvider';
|
|
2
|
-
import { HookedInjector } from './features/instanceHook/HookedInjector';
|
|
3
1
|
export { IMockProviderStorage } from './features/mock/IMockProviderStorage';
|
|
4
2
|
export { MockProvider } from './features/mock/MockProvider';
|
|
5
3
|
export { MockProviderStorage } from './features/mock/MockProviderStorage';
|
|
@@ -35,13 +33,7 @@ export { ProviderBuilder } from './features/ProviderBuilder';
|
|
|
35
33
|
export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
|
|
36
34
|
export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
|
|
37
35
|
export { emptyHook } from './features/instanceHook/emptyHook';
|
|
38
|
-
export {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*/
|
|
42
|
-
export declare const InstanceHookProvider: typeof HookedProvider;
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Use HookedInjector
|
|
45
|
-
*/
|
|
46
|
-
export declare const InstanceHookInjector: typeof HookedInjector;
|
|
36
|
+
export { ContextServiceLocator } from './features/context/ContextServiceLocator';
|
|
37
|
+
export { ILocatorContext } from './features/context/ILocatorContext';
|
|
38
|
+
export { LocatorContext } from './features/context/LocatorContext';
|
|
47
39
|
//# sourceMappingURL=index.d.ts.map
|
package/cjm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
|
package/cjm/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var HookedProvider_1 = require("./features/instanceHook/HookedProvider");
|
|
5
|
-
var HookedInjector_1 = require("./features/instanceHook/HookedInjector");
|
|
3
|
+
exports.LocatorContext = exports.ContextServiceLocator = exports.emptyHook = exports.SimpleLocatorBuilder = exports.IocLocatorBuilder = exports.ProviderBuilder = exports.SingletonProvider = exports.ScopedProvider = exports.MockedRepository = exports.HookedInjector = exports.Provider = exports.ProviderRepository = exports.HookedProvider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.InjectMetadataCollector = exports.createInjectFnDecorator = exports.createInjectDecorator = exports.createHookDecorator = exports.MethodsMetadataCollector = exports.IocInjector = exports.SimpleInjector = exports.ServiceLocator = exports.VendorMockProviderStorage = exports.MockProviderStorage = exports.MockProvider = void 0;
|
|
6
4
|
var MockProvider_1 = require("./features/mock/MockProvider");
|
|
7
5
|
Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return MockProvider_1.MockProvider; } });
|
|
8
6
|
var MockProviderStorage_1 = require("./features/mock/MockProviderStorage");
|
|
@@ -28,14 +26,14 @@ var ProviderNotFoundError_1 = require("./errors/ProviderNotFoundError");
|
|
|
28
26
|
Object.defineProperty(exports, "ProviderNotFoundError", { enumerable: true, get: function () { return ProviderNotFoundError_1.ProviderNotFoundError; } });
|
|
29
27
|
var MethodNotImplementedError_1 = require("./errors/MethodNotImplementedError");
|
|
30
28
|
Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
|
|
31
|
-
var
|
|
32
|
-
Object.defineProperty(exports, "HookedProvider", { enumerable: true, get: function () { return
|
|
29
|
+
var HookedProvider_1 = require("./features/instanceHook/HookedProvider");
|
|
30
|
+
Object.defineProperty(exports, "HookedProvider", { enumerable: true, get: function () { return HookedProvider_1.HookedProvider; } });
|
|
33
31
|
var ProviderRepository_1 = require("./core/ProviderRepository");
|
|
34
32
|
Object.defineProperty(exports, "ProviderRepository", { enumerable: true, get: function () { return ProviderRepository_1.ProviderRepository; } });
|
|
35
33
|
var Provider_1 = require("./core/providers/Provider");
|
|
36
34
|
Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
|
|
37
|
-
var
|
|
38
|
-
Object.defineProperty(exports, "HookedInjector", { enumerable: true, get: function () { return
|
|
35
|
+
var HookedInjector_1 = require("./features/instanceHook/HookedInjector");
|
|
36
|
+
Object.defineProperty(exports, "HookedInjector", { enumerable: true, get: function () { return HookedInjector_1.HookedInjector; } });
|
|
39
37
|
var MockedRepository_1 = require("./features/mock/MockedRepository");
|
|
40
38
|
Object.defineProperty(exports, "MockedRepository", { enumerable: true, get: function () { return MockedRepository_1.MockedRepository; } });
|
|
41
39
|
var ScopedProvider_1 = require("./core/providers/ScopedProvider");
|
|
@@ -50,14 +48,8 @@ var SimpleLocatorBuilder_1 = require("./features/simple/SimpleLocatorBuilder");
|
|
|
50
48
|
Object.defineProperty(exports, "SimpleLocatorBuilder", { enumerable: true, get: function () { return SimpleLocatorBuilder_1.SimpleLocatorBuilder; } });
|
|
51
49
|
var emptyHook_1 = require("./features/instanceHook/emptyHook");
|
|
52
50
|
Object.defineProperty(exports, "emptyHook", { enumerable: true, get: function () { return emptyHook_1.emptyHook; } });
|
|
53
|
-
var
|
|
54
|
-
Object.defineProperty(exports, "
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*/
|
|
58
|
-
exports.InstanceHookProvider = HookedProvider_1.HookedProvider;
|
|
59
|
-
/**
|
|
60
|
-
* @deprecated Use HookedInjector
|
|
61
|
-
*/
|
|
62
|
-
exports.InstanceHookInjector = HookedInjector_1.HookedInjector;
|
|
51
|
+
var ContextServiceLocator_1 = require("./features/context/ContextServiceLocator");
|
|
52
|
+
Object.defineProperty(exports, "ContextServiceLocator", { enumerable: true, get: function () { return ContextServiceLocator_1.ContextServiceLocator; } });
|
|
53
|
+
var LocatorContext_1 = require("./features/context/LocatorContext");
|
|
54
|
+
Object.defineProperty(exports, "LocatorContext", { enumerable: true, get: function () { return LocatorContext_1.LocatorContext; } });
|
|
63
55
|
//# sourceMappingURL=index.js.map
|
package/cjm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AACA,6DAA4D;AAAnD,4GAAA,YAAY,OAAA;AACrB,2EAA0E;AAAjE,0HAAA,mBAAmB,OAAA;AAC5B,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAGlC,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AAGvB,mEAAkE;AAAzD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AAGpB,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,mEAA2E;AAAlE,iHAAA,mBAAmB,OAAA;AAC5B,0DAA6F;AAApF,mHAAA,qBAAqB,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AACvD,oFAAmF;AAA1E,kIAAA,uBAAuB,OAAA;AAEhC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAElC,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAGvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AACjB,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AACzB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,sEAAqE;AAA5D,sHAAA,iBAAiB,OAAA;AAC1B,+EAA8E;AAArE,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,sGAAA,SAAS,OAAA;AAClB,kFAAiF;AAAxE,8HAAA,qBAAqB,OAAA;AAE9B,oEAAmE;AAA1D,gHAAA,cAAc,OAAA"}
|
|
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,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;CASvD"}
|
|
@@ -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,12 @@ 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
|
-
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
25
|
+
return this.instance.value;
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
28
|
//# sourceMappingURL=SingletonProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAEA,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,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
|
|
2
|
+
import { IProvider, ProviderKey } from '../../core/providers/IProvider';
|
|
3
|
+
import { ILocatorContext } from './ILocatorContext';
|
|
4
|
+
export declare class ContextServiceLocator {
|
|
5
|
+
private locator;
|
|
6
|
+
private locatorFactory;
|
|
7
|
+
constructor(locator: IServiceLocator, locatorFactory?: <T>(context: T) => ILocatorContext<T>);
|
|
8
|
+
createLocator<T>(context: T): ContextServiceLocator;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
register<T>(key: ProviderKey, provider: IProvider<T>): this;
|
|
11
|
+
resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ContextServiceLocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextServiceLocator.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAGxE,qBAAa,qBAAqB;IAE1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;gBADd,OAAO,EAAE,eAAe,EACxB,cAAc,GAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAA4C;IAG5G,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,qBAAqB;IASnD,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ProviderBuilder } from '../ProviderBuilder';
|
|
2
|
+
import { ILocatorContextKey } from './ILocatorContext';
|
|
3
|
+
import { LocatorContext } from './LocatorContext';
|
|
4
|
+
export class ContextServiceLocator {
|
|
5
|
+
constructor(locator, locatorFactory = (context) => new LocatorContext(context)) {
|
|
6
|
+
this.locator = locator;
|
|
7
|
+
this.locatorFactory = locatorFactory;
|
|
8
|
+
}
|
|
9
|
+
createLocator(context) {
|
|
10
|
+
return new ContextServiceLocator(this.locator
|
|
11
|
+
.createLocator()
|
|
12
|
+
.register(ILocatorContextKey, ProviderBuilder.fromInstance(this.locatorFactory(context)).asRequested()), this.locatorFactory);
|
|
13
|
+
}
|
|
14
|
+
dispose() {
|
|
15
|
+
this.locator.dispose();
|
|
16
|
+
}
|
|
17
|
+
register(key, provider) {
|
|
18
|
+
this.locator.register(key, provider);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
resolve(key, ...deps) {
|
|
22
|
+
return this.locator.resolve(key, ...deps);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ContextServiceLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextServiceLocator.js","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,qBAAqB;IAC9B,YACY,OAAwB,EACxB,iBAAwD,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC;QADhG,YAAO,GAAP,OAAO,CAAiB;QACxB,mBAAc,GAAd,cAAc,CAAkF;IACzG,CAAC;IAEJ,aAAa,CAAI,OAAU;QACvB,OAAO,IAAI,qBAAqB,CAC5B,IAAI,CAAC,OAAO;aACP,aAAa,EAAE;aACf,QAAQ,CAAC,kBAAkB,EAAE,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC3G,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAI,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,eAAgC,CAAC;AAChE,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,IAAI,CAAC,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC;CAGhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACvB,YAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ"}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { HookedProvider } from './features/instanceHook/HookedProvider';
|
|
2
|
-
import { HookedInjector } from './features/instanceHook/HookedInjector';
|
|
3
1
|
export { IMockProviderStorage } from './features/mock/IMockProviderStorage';
|
|
4
2
|
export { MockProvider } from './features/mock/MockProvider';
|
|
5
3
|
export { MockProviderStorage } from './features/mock/MockProviderStorage';
|
|
@@ -35,13 +33,7 @@ export { ProviderBuilder } from './features/ProviderBuilder';
|
|
|
35
33
|
export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
|
|
36
34
|
export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
|
|
37
35
|
export { emptyHook } from './features/instanceHook/emptyHook';
|
|
38
|
-
export {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*/
|
|
42
|
-
export declare const InstanceHookProvider: typeof HookedProvider;
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Use HookedInjector
|
|
45
|
-
*/
|
|
46
|
-
export declare const InstanceHookInjector: typeof HookedInjector;
|
|
36
|
+
export { ContextServiceLocator } from './features/context/ContextServiceLocator';
|
|
37
|
+
export { ILocatorContext } from './features/context/ILocatorContext';
|
|
38
|
+
export { LocatorContext } from './features/context/LocatorContext';
|
|
47
39
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { HookedProvider } from './features/instanceHook/HookedProvider';
|
|
2
|
-
import { HookedInjector } from './features/instanceHook/HookedInjector';
|
|
3
1
|
export { MockProvider } from './features/mock/MockProvider';
|
|
4
2
|
export { MockProviderStorage } from './features/mock/MockProviderStorage';
|
|
5
3
|
export { VendorMockProviderStorage } from './features/mock/VendorMockProviderStorage';
|
|
@@ -23,13 +21,6 @@ export { ProviderBuilder } from './features/ProviderBuilder';
|
|
|
23
21
|
export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
|
|
24
22
|
export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
|
|
25
23
|
export { emptyHook } from './features/instanceHook/emptyHook';
|
|
26
|
-
export {
|
|
27
|
-
|
|
28
|
-
* @deprecated Use HookedProvider
|
|
29
|
-
*/
|
|
30
|
-
export const InstanceHookProvider = HookedProvider;
|
|
31
|
-
/**
|
|
32
|
-
* @deprecated Use HookedInjector
|
|
33
|
-
*/
|
|
34
|
-
export const InstanceHookInjector = HookedInjector;
|
|
24
|
+
export { ContextServiceLocator } from './features/context/ContextServiceLocator';
|
|
25
|
+
export { LocatorContext } from './features/context/LocatorContext';
|
|
35
26
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, IServiceLocator } from '../core/IServiceLocator';
|
|
2
|
-
import { IProvider, ProviderKey } from '../core/providers/IProvider';
|
|
3
|
-
export interface IServiceLocatorHook {
|
|
4
|
-
onBeforeRegister<T>(provider: IProvider<T>): IProvider<T>;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Use ProviderBuilder.withHook() for hooks
|
|
8
|
-
*/
|
|
9
|
-
export declare class HookServiceLocator implements IServiceLocator {
|
|
10
|
-
private readonly decorated;
|
|
11
|
-
private readonly hook;
|
|
12
|
-
constructor(decorated: IServiceLocator, hook: IServiceLocatorHook);
|
|
13
|
-
createLocator(): IServiceLocator;
|
|
14
|
-
dispose(): void;
|
|
15
|
-
register<T>(key: ProviderKey, provider: IProvider<T>): this;
|
|
16
|
-
resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=HookServiceLocator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HookServiceLocator.d.ts","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAjD,SAAS,EAAE,eAAe,EAAmB,IAAI,EAAE,mBAAmB;IAEnG,aAAa,IAAI,eAAe;IAIhC,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.HookServiceLocator = void 0;
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated Use ProviderBuilder.withHook() for hooks
|
|
31
|
-
*/
|
|
32
|
-
var HookServiceLocator = /** @class */ (function () {
|
|
33
|
-
function HookServiceLocator(decorated, hook) {
|
|
34
|
-
this.decorated = decorated;
|
|
35
|
-
this.hook = hook;
|
|
36
|
-
}
|
|
37
|
-
HookServiceLocator.prototype.createLocator = function () {
|
|
38
|
-
return new HookServiceLocator(this.decorated.createLocator(), this.hook);
|
|
39
|
-
};
|
|
40
|
-
HookServiceLocator.prototype.dispose = function () {
|
|
41
|
-
this.decorated.dispose();
|
|
42
|
-
};
|
|
43
|
-
HookServiceLocator.prototype.register = function (key, provider) {
|
|
44
|
-
this.decorated.register(key, this.hook.onBeforeRegister(provider));
|
|
45
|
-
return this;
|
|
46
|
-
};
|
|
47
|
-
HookServiceLocator.prototype.resolve = function (key) {
|
|
48
|
-
var _a;
|
|
49
|
-
var deps = [];
|
|
50
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
51
|
-
deps[_i - 1] = arguments[_i];
|
|
52
|
-
}
|
|
53
|
-
return (_a = this.decorated).resolve.apply(_a, __spreadArray([key], __read(deps), false));
|
|
54
|
-
};
|
|
55
|
-
return HookServiceLocator;
|
|
56
|
-
}());
|
|
57
|
-
exports.HookServiceLocator = HookServiceLocator;
|
|
58
|
-
//# sourceMappingURL=HookServiceLocator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HookServiceLocator.js","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;GAEG;AACH;IACI,4BAA6B,SAA0B,EAAmB,IAAyB;QAAtE,cAAS,GAAT,SAAS,CAAiB;QAAmB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAEvG,0CAAa,GAAb;QACI,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,oCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,qCAAQ,GAAR,UAAY,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAChD,CAAC;IACL,yBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,gDAAkB"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, IServiceLocator } from '../core/IServiceLocator';
|
|
2
|
-
import { IProvider, ProviderKey } from '../core/providers/IProvider';
|
|
3
|
-
export interface IServiceLocatorHook {
|
|
4
|
-
onBeforeRegister<T>(provider: IProvider<T>): IProvider<T>;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Use ProviderBuilder.withHook() for hooks
|
|
8
|
-
*/
|
|
9
|
-
export declare class HookServiceLocator implements IServiceLocator {
|
|
10
|
-
private readonly decorated;
|
|
11
|
-
private readonly hook;
|
|
12
|
-
constructor(decorated: IServiceLocator, hook: IServiceLocatorHook);
|
|
13
|
-
createLocator(): IServiceLocator;
|
|
14
|
-
dispose(): void;
|
|
15
|
-
register<T>(key: ProviderKey, provider: IProvider<T>): this;
|
|
16
|
-
resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=HookServiceLocator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HookServiceLocator.d.ts","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAjD,SAAS,EAAE,eAAe,EAAmB,IAAI,EAAE,mBAAmB;IAEnG,aAAa,IAAI,eAAe;IAIhC,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @deprecated Use ProviderBuilder.withHook() for hooks
|
|
3
|
-
*/
|
|
4
|
-
export class HookServiceLocator {
|
|
5
|
-
constructor(decorated, hook) {
|
|
6
|
-
this.decorated = decorated;
|
|
7
|
-
this.hook = hook;
|
|
8
|
-
}
|
|
9
|
-
createLocator() {
|
|
10
|
-
return new HookServiceLocator(this.decorated.createLocator(), this.hook);
|
|
11
|
-
}
|
|
12
|
-
dispose() {
|
|
13
|
-
this.decorated.dispose();
|
|
14
|
-
}
|
|
15
|
-
register(key, provider) {
|
|
16
|
-
this.decorated.register(key, this.hook.onBeforeRegister(provider));
|
|
17
|
-
return this;
|
|
18
|
-
}
|
|
19
|
-
resolve(key, ...deps) {
|
|
20
|
-
return this.decorated.resolve(key, ...deps);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=HookServiceLocator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HookServiceLocator.js","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC3B,YAA6B,SAA0B,EAAmB,IAAyB;QAAtE,cAAS,GAAT,SAAS,CAAiB;QAAmB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAEvG,aAAa;QACT,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAI,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ"}
|