ts-ioc-container 9.0.0 → 9.3.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/EmptyProviderRepository.d.ts +2 -2
- package/cjm/core/IProviderRepository.d.ts +8 -2
- package/cjm/core/IProviderRepository.js +5 -0
- package/cjm/core/IProviderRepository.js.map +1 -1
- package/cjm/core/IServiceLocator.d.ts +3 -3
- package/cjm/core/IServiceLocator.js +0 -5
- package/cjm/core/IServiceLocator.js.map +1 -1
- package/cjm/core/ProviderRepository.d.ts +3 -3
- package/cjm/core/ProviderRepository.js +6 -1
- package/cjm/core/ProviderRepository.js.map +1 -1
- package/cjm/core/ServiceLocator.d.ts +3 -3
- package/cjm/core/ServiceLocator.js +33 -4
- package/cjm/core/ServiceLocator.js.map +1 -1
- package/cjm/core/provider/ArgsProvider.d.ts +11 -0
- package/cjm/core/provider/ArgsProvider.js +67 -0
- package/cjm/core/provider/ArgsProvider.js.map +1 -0
- package/cjm/core/{IProvider.d.ts → provider/IProvider.d.ts} +8 -3
- package/cjm/core/{IProvider.js → provider/IProvider.js} +0 -0
- package/cjm/core/provider/IProvider.js.map +1 -0
- package/cjm/core/provider/Provider.d.ts +17 -0
- package/cjm/core/{Provider.js → provider/Provider.js} +13 -0
- package/cjm/core/provider/Provider.js.map +1 -0
- package/cjm/core/provider/ProviderDecorator.d.ts +13 -0
- package/cjm/core/provider/ProviderDecorator.js +62 -0
- package/cjm/core/provider/ProviderDecorator.js.map +1 -0
- package/cjm/errors/NoRegistrationKeysProvided.d.ts +4 -0
- package/cjm/errors/NoRegistrationKeysProvided.js +30 -0
- package/cjm/errors/NoRegistrationKeysProvided.js.map +1 -0
- package/cjm/errors/ProviderKeyIsBusy.d.ts +5 -0
- package/cjm/errors/ProviderKeyIsBusy.js +30 -0
- package/cjm/errors/ProviderKeyIsBusy.js.map +1 -0
- package/cjm/features/ProviderBuilder.d.ts +9 -7
- package/cjm/features/ProviderBuilder.js +20 -19
- package/cjm/features/ProviderBuilder.js.map +1 -1
- package/cjm/features/instanceHook/HookedProvider.d.ts +5 -5
- package/cjm/features/instanceHook/HookedProvider.js +28 -12
- package/cjm/features/instanceHook/HookedProvider.js.map +1 -1
- package/cjm/features/mock/IMockProviderStorage.d.ts +2 -1
- package/cjm/features/mock/MockProvider.d.ts +2 -1
- package/cjm/features/mock/MockProvider.js.map +1 -1
- package/cjm/features/mock/MockProviderStorage.d.ts +1 -1
- package/cjm/features/mock/MockedRepository.d.ts +2 -1
- package/cjm/features/mock/MockedRepository.js.map +1 -1
- package/cjm/features/mock/VendorMockProviderStorage.d.ts +1 -1
- package/cjm/features/proxy/ProxyInjector.d.ts +1 -1
- package/cjm/features/scope/IProvidersMetadataCollector.d.ts +2 -2
- package/cjm/features/scope/LevelProvider.d.ts +6 -8
- package/cjm/features/scope/LevelProvider.js +26 -27
- package/cjm/features/scope/LevelProvider.js.map +1 -1
- package/cjm/features/scope/ProvidersMetadataCollector.d.ts +1 -1
- package/cjm/features/scope/ProvidersMetadataCollector.js +1 -1
- package/cjm/features/scope/ProvidersMetadataCollector.js.map +1 -1
- package/cjm/features/scope/SingletonProvider.d.ts +6 -6
- package/cjm/features/scope/SingletonProvider.js +27 -11
- package/cjm/features/scope/SingletonProvider.js.map +1 -1
- package/cjm/features/scope/TaggedProvider.d.ts +6 -8
- package/cjm/features/scope/TaggedProvider.js +26 -43
- package/cjm/features/scope/TaggedProvider.js.map +1 -1
- package/cjm/features/scope/decorators.d.ts +5 -1
- package/cjm/features/scope/decorators.js +54 -1
- package/cjm/features/scope/decorators.js.map +1 -1
- package/cjm/index.d.ts +5 -3
- package/cjm/index.js +5 -2
- package/cjm/index.js.map +1 -1
- package/esm/core/EmptyProviderRepository.d.ts +2 -2
- package/esm/core/IProviderRepository.d.ts +8 -2
- package/esm/core/IProviderRepository.js +3 -1
- package/esm/core/IProviderRepository.js.map +1 -1
- package/esm/core/IServiceLocator.d.ts +3 -3
- package/esm/core/IServiceLocator.js +1 -3
- package/esm/core/IServiceLocator.js.map +1 -1
- package/esm/core/ProviderRepository.d.ts +3 -3
- package/esm/core/ProviderRepository.js +5 -1
- package/esm/core/ProviderRepository.js.map +1 -1
- package/esm/core/ServiceLocator.d.ts +3 -3
- package/esm/core/ServiceLocator.js +10 -3
- package/esm/core/ServiceLocator.js.map +1 -1
- package/esm/core/provider/ArgsProvider.d.ts +11 -0
- package/esm/core/provider/ArgsProvider.js +15 -0
- package/esm/core/provider/ArgsProvider.js.map +1 -0
- package/esm/core/{IProvider.d.ts → provider/IProvider.d.ts} +8 -3
- package/esm/core/{IProvider.js → provider/IProvider.js} +0 -0
- package/esm/core/provider/IProvider.js.map +1 -0
- package/esm/core/provider/Provider.d.ts +17 -0
- package/esm/core/{Provider.js → provider/Provider.js} +8 -0
- package/esm/core/provider/Provider.js.map +1 -0
- package/esm/core/provider/ProviderDecorator.d.ts +13 -0
- package/esm/core/provider/ProviderDecorator.js +22 -0
- package/esm/core/provider/ProviderDecorator.js.map +1 -0
- package/esm/errors/NoRegistrationKeysProvided.d.ts +4 -0
- package/esm/errors/NoRegistrationKeysProvided.js +8 -0
- package/esm/errors/NoRegistrationKeysProvided.js.map +1 -0
- package/esm/errors/ProviderKeyIsBusy.d.ts +5 -0
- package/esm/errors/ProviderKeyIsBusy.js +8 -0
- package/esm/errors/ProviderKeyIsBusy.js.map +1 -0
- package/esm/features/ProviderBuilder.d.ts +9 -7
- package/esm/features/ProviderBuilder.js +11 -7
- package/esm/features/ProviderBuilder.js.map +1 -1
- package/esm/features/instanceHook/HookedProvider.d.ts +5 -5
- package/esm/features/instanceHook/HookedProvider.js +8 -9
- package/esm/features/instanceHook/HookedProvider.js.map +1 -1
- package/esm/features/mock/IMockProviderStorage.d.ts +2 -1
- package/esm/features/mock/MockProvider.d.ts +2 -1
- package/esm/features/mock/MockProvider.js.map +1 -1
- package/esm/features/mock/MockProviderStorage.d.ts +1 -1
- package/esm/features/mock/MockedRepository.d.ts +2 -1
- package/esm/features/mock/MockedRepository.js.map +1 -1
- package/esm/features/mock/VendorMockProviderStorage.d.ts +1 -1
- package/esm/features/proxy/ProxyInjector.d.ts +1 -1
- package/esm/features/scope/IProvidersMetadataCollector.d.ts +2 -2
- package/esm/features/scope/LevelProvider.d.ts +6 -8
- package/esm/features/scope/LevelProvider.js +7 -11
- package/esm/features/scope/LevelProvider.js.map +1 -1
- package/esm/features/scope/ProvidersMetadataCollector.d.ts +1 -1
- package/esm/features/scope/ProvidersMetadataCollector.js +1 -1
- package/esm/features/scope/ProvidersMetadataCollector.js.map +1 -1
- package/esm/features/scope/SingletonProvider.d.ts +6 -6
- package/esm/features/scope/SingletonProvider.js +8 -9
- package/esm/features/scope/SingletonProvider.js.map +1 -1
- package/esm/features/scope/TaggedProvider.d.ts +6 -8
- package/esm/features/scope/TaggedProvider.js +7 -11
- package/esm/features/scope/TaggedProvider.js.map +1 -1
- package/esm/features/scope/decorators.d.ts +5 -1
- package/esm/features/scope/decorators.js +11 -0
- package/esm/features/scope/decorators.js.map +1 -1
- package/esm/index.d.ts +5 -3
- package/esm/index.js +3 -2
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/cjm/core/IProvider.js.map +0 -1
- package/cjm/core/Provider.d.ts +0 -13
- package/cjm/core/Provider.js.map +0 -1
- package/esm/core/IProvider.js.map +0 -1
- package/esm/core/Provider.d.ts +0 -13
- package/esm/core/Provider.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IProvider,
|
|
2
|
-
import { IProviderRepository } from './IProviderRepository';
|
|
1
|
+
import { IProvider, Tag } from './provider/IProvider';
|
|
2
|
+
import { IProviderRepository, ProviderKey } from './IProviderRepository';
|
|
3
3
|
export declare class EmptyProviderRepository implements IProviderRepository {
|
|
4
4
|
level: number;
|
|
5
5
|
tags: Tag[];
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { IProvider,
|
|
1
|
+
import { IProvider, ScopeOptions, Tag } from './provider/IProvider';
|
|
2
2
|
import { IDisposable } from '../helpers/types';
|
|
3
|
+
import { InjectionToken } from './IServiceLocator';
|
|
4
|
+
export declare type RegisterOptions = {
|
|
5
|
+
noOverride: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare type ProviderKey = string | symbol;
|
|
8
|
+
export declare function isProviderKey<T>(token: InjectionToken<T>): token is ProviderKey;
|
|
3
9
|
export interface IProviderRepository extends IDisposable, ScopeOptions {
|
|
4
10
|
clone(tags?: Tag[], parent?: IProviderRepository): IProviderRepository;
|
|
5
11
|
find<T>(key: ProviderKey): IProvider<T>;
|
|
6
|
-
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
12
|
+
add<T>(key: ProviderKey, provider: IProvider<T>, options?: Partial<RegisterOptions>): void;
|
|
7
13
|
entries(): Array<[ProviderKey, IProvider<any>]>;
|
|
8
14
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isProviderKey = void 0;
|
|
4
|
+
function isProviderKey(token) {
|
|
5
|
+
return ['string', 'symbol'].includes(typeof token);
|
|
6
|
+
}
|
|
7
|
+
exports.isProviderKey = isProviderKey;
|
|
3
8
|
//# sourceMappingURL=IProviderRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IProviderRepository.js","sourceRoot":"","sources":["../../lib/core/IProviderRepository.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"IProviderRepository.js","sourceRoot":"","sources":["../../lib/core/IProviderRepository.ts"],"names":[],"mappings":";;;AAUA,SAAgB,aAAa,CAAI,KAAwB;IACrD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AACvD,CAAC;AAFD,sCAEC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IKeyedProvider, Tag } from './provider/IProvider';
|
|
2
2
|
import { constructor, IDisposable } from '../helpers/types';
|
|
3
|
+
import { ProviderKey, RegisterOptions } from './IProviderRepository';
|
|
3
4
|
export declare type InjectionToken<T = any> = constructor<T> | ProviderKey;
|
|
4
5
|
export interface Resolveable {
|
|
5
6
|
resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
|
|
6
7
|
}
|
|
7
8
|
export interface IServiceLocator extends Resolveable, IDisposable {
|
|
8
9
|
createScope(tags?: Tag[]): IServiceLocator;
|
|
9
|
-
register(
|
|
10
|
+
register(provider: IKeyedProvider<unknown>, options?: Partial<RegisterOptions>): this;
|
|
10
11
|
}
|
|
11
|
-
export declare function isProviderKey<T>(token: InjectionToken<T>): token is ProviderKey;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isProviderKey = void 0;
|
|
4
|
-
function isProviderKey(token) {
|
|
5
|
-
return ['string', 'symbol'].includes(typeof token);
|
|
6
|
-
}
|
|
7
|
-
exports.isProviderKey = isProviderKey;
|
|
8
3
|
//# sourceMappingURL=IServiceLocator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IServiceLocator.js","sourceRoot":"","sources":["../../lib/core/IServiceLocator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IServiceLocator.js","sourceRoot":"","sources":["../../lib/core/IServiceLocator.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IProvider,
|
|
2
|
-
import { IProviderRepository } from './IProviderRepository';
|
|
1
|
+
import { IProvider, Tag } from './provider/IProvider';
|
|
2
|
+
import { IProviderRepository, ProviderKey, RegisterOptions } from './IProviderRepository';
|
|
3
3
|
export declare class ProviderRepository implements IProviderRepository {
|
|
4
4
|
private parent;
|
|
5
5
|
readonly level: number;
|
|
@@ -7,7 +7,7 @@ export declare class ProviderRepository implements IProviderRepository {
|
|
|
7
7
|
static root(tags?: Tag[]): ProviderRepository;
|
|
8
8
|
private readonly providers;
|
|
9
9
|
constructor(parent: IProviderRepository, level: number, tags: Tag[]);
|
|
10
|
-
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
10
|
+
add<T>(key: ProviderKey, provider: IProvider<T>, options?: Partial<RegisterOptions>): void;
|
|
11
11
|
clone(tags?: Tag[], parent?: IProviderRepository): IProviderRepository;
|
|
12
12
|
entries(): Array<[ProviderKey, IProvider<any>]>;
|
|
13
13
|
dispose(): void;
|
|
@@ -38,6 +38,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.ProviderRepository = void 0;
|
|
40
40
|
var EmptyProviderRepository_1 = require("./EmptyProviderRepository");
|
|
41
|
+
var ProviderKeyIsBusy_1 = require("../errors/ProviderKeyIsBusy");
|
|
41
42
|
var ProviderRepository = /** @class */ (function () {
|
|
42
43
|
function ProviderRepository(parent, level, tags) {
|
|
43
44
|
this.parent = parent;
|
|
@@ -49,7 +50,11 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
49
50
|
if (tags === void 0) { tags = []; }
|
|
50
51
|
return new ProviderRepository(new EmptyProviderRepository_1.EmptyProviderRepository(), 0, tags);
|
|
51
52
|
};
|
|
52
|
-
ProviderRepository.prototype.add = function (key, provider) {
|
|
53
|
+
ProviderRepository.prototype.add = function (key, provider, options) {
|
|
54
|
+
if (options === void 0) { options = {}; }
|
|
55
|
+
if (options.noOverride && this.providers.has(key)) {
|
|
56
|
+
throw new ProviderKeyIsBusy_1.ProviderKeyIsBusy(key);
|
|
57
|
+
}
|
|
53
58
|
this.providers.set(key, provider);
|
|
54
59
|
};
|
|
55
60
|
ProviderRepository.prototype.clone = function (tags, parent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qEAAoE;
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qEAAoE;AACpE,iEAAgE;AAEhE;IAOI,4BAAoB,MAA2B,EAAW,KAAa,EAAW,IAAW;QAAzE,WAAM,GAAN,MAAM,CAAqB;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAO;QAF5E,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE4B,CAAC;IAN1F,uBAAI,GAAX,UAAY,IAAgB;QAAhB,qBAAA,EAAA,SAAgB;QACxB,OAAO,IAAI,kBAAkB,CAAC,IAAI,iDAAuB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,gCAAG,GAAH,UAAO,GAAgB,EAAE,QAAsB,EAAE,OAAsC;QAAtC,wBAAA,EAAA,YAAsC;QACnF,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC/C,MAAM,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kCAAK,GAAL,UAAM,IAAgB,EAAE,MAAkC;;QAApD,qBAAA,EAAA,SAAgB;QAAE,uBAAA,EAAA,aAAkC;QACtD,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,EAAE,CAAA,gBAAA,4BAAE;gBAArC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACrB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;iBACnC;aACJ;;;;;;;;;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP;QACI,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAK,cAAc,UAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,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,IAAI,iDAAuB,EAAE,CAAC;IAChD,CAAC;IAED,iCAAI,GAAJ,UAAQ,GAAgB;QACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,OAAO,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,GAAG,CAAC,CAAC;IACpF,CAAC;IACL,yBAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,gDAAkB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { InjectionToken, IServiceLocator } from './IServiceLocator';
|
|
2
2
|
import { IInjector } from './IInjector';
|
|
3
|
-
import {
|
|
4
|
-
import { IProviderRepository } from './IProviderRepository';
|
|
3
|
+
import { IKeyedProvider, Tag } from './provider/IProvider';
|
|
4
|
+
import { IProviderRepository, RegisterOptions } from './IProviderRepository';
|
|
5
5
|
export declare class ServiceLocator implements IServiceLocator {
|
|
6
6
|
private readonly injector;
|
|
7
7
|
private readonly providerRepo;
|
|
8
8
|
static root(injector: IInjector, tags?: Tag[]): ServiceLocator;
|
|
9
9
|
constructor(injector: IInjector, providerRepo: IProviderRepository);
|
|
10
|
-
register(
|
|
10
|
+
register(provider: IKeyedProvider<unknown>, options?: Partial<RegisterOptions>): this;
|
|
11
11
|
resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
|
|
12
12
|
createScope(tags?: Tag[]): IServiceLocator;
|
|
13
13
|
dispose(): void;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
15
|
if (!m) return o;
|
|
@@ -26,8 +37,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
26
37
|
};
|
|
27
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
39
|
exports.ServiceLocator = void 0;
|
|
29
|
-
var
|
|
40
|
+
var IProviderRepository_1 = require("./IProviderRepository");
|
|
30
41
|
var ProviderRepository_1 = require("./ProviderRepository");
|
|
42
|
+
var NoRegistrationKeysProvided_1 = require("../errors/NoRegistrationKeysProvided");
|
|
31
43
|
var ServiceLocator = /** @class */ (function () {
|
|
32
44
|
function ServiceLocator(injector, providerRepo) {
|
|
33
45
|
this.injector = injector;
|
|
@@ -36,8 +48,25 @@ var ServiceLocator = /** @class */ (function () {
|
|
|
36
48
|
ServiceLocator.root = function (injector, tags) {
|
|
37
49
|
return new ServiceLocator(injector, ProviderRepository_1.ProviderRepository.root(tags));
|
|
38
50
|
};
|
|
39
|
-
ServiceLocator.prototype.register = function (
|
|
40
|
-
|
|
51
|
+
ServiceLocator.prototype.register = function (provider, options) {
|
|
52
|
+
var e_1, _a;
|
|
53
|
+
var keys = provider.getKeys();
|
|
54
|
+
if (keys.length === 0) {
|
|
55
|
+
throw new NoRegistrationKeysProvided_1.NoRegistrationKeysProvided();
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
|
|
59
|
+
var key = keys_1_1.value;
|
|
60
|
+
this.providerRepo.add(key, provider, options);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
64
|
+
finally {
|
|
65
|
+
try {
|
|
66
|
+
if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
|
|
67
|
+
}
|
|
68
|
+
finally { if (e_1) throw e_1.error; }
|
|
69
|
+
}
|
|
41
70
|
return this;
|
|
42
71
|
};
|
|
43
72
|
ServiceLocator.prototype.resolve = function (key) {
|
|
@@ -46,7 +75,7 @@ var ServiceLocator = /** @class */ (function () {
|
|
|
46
75
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
47
76
|
args[_i - 1] = arguments[_i];
|
|
48
77
|
}
|
|
49
|
-
if ((0,
|
|
78
|
+
if ((0, IProviderRepository_1.isProviderKey)(key)) {
|
|
50
79
|
var provider = this.providerRepo.find(key);
|
|
51
80
|
return provider.resolve.apply(provider, __spreadArray([this], __read(args), false));
|
|
52
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,6DAA4F;AAC5F,2DAA0D;AAC1D,mFAAkF;AAElF;IAKI,wBAA6B,QAAmB,EAAmB,YAAiC;QAAvE,aAAQ,GAAR,QAAQ,CAAW;QAAmB,iBAAY,GAAZ,YAAY,CAAqB;IAAG,CAAC;IAJjG,mBAAI,GAAX,UAAY,QAAmB,EAAE,IAAY;QACzC,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,uCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAID,iCAAQ,GAAR,UAAS,QAAiC,EAAE,OAAkC;;QAC1E,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,MAAM,IAAI,uDAA0B,EAAE,CAAC;SAC1C;;YACD,KAAkB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAAnB,IAAM,GAAG,iBAAA;gBACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aACjD;;;;;;;;;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,IAAI,IAAA,mCAAa,EAAC,GAAG,CAAC,EAAE;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAI,GAAG,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,OAAO,OAAhB,QAAQ,iBAAS,IAAI,UAAK,IAAI,WAAE;SAC1C;QAED,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAI,IAAI,EAAE,GAAG,UAAK,IAAI,WAAE;IACxD,CAAC;IAED,oCAAW,GAAX,UAAY,IAAY;QACpB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,gCAAO,GAAP;QACI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IACL,qBAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,wCAAc"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProviderDecorator } from './ProviderDecorator';
|
|
2
|
+
import { IKeyedProvider } from './IProvider';
|
|
3
|
+
import { Resolveable } from '../IServiceLocator';
|
|
4
|
+
export declare type ArgsFn = (l: Resolveable) => any[];
|
|
5
|
+
export declare class ArgsProvider<T> extends ProviderDecorator<T> {
|
|
6
|
+
private provider;
|
|
7
|
+
private argsFn;
|
|
8
|
+
constructor(provider: IKeyedProvider<T>, argsFn: ArgsFn);
|
|
9
|
+
resolve(locator: Resolveable, ...args: any[]): T;
|
|
10
|
+
clone(): ProviderDecorator<T>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
18
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
|
+
if (!m) return o;
|
|
20
|
+
var i = m.call(o), r, ar = [], e;
|
|
21
|
+
try {
|
|
22
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
23
|
+
}
|
|
24
|
+
catch (error) { e = { error: error }; }
|
|
25
|
+
finally {
|
|
26
|
+
try {
|
|
27
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
28
|
+
}
|
|
29
|
+
finally { if (e) throw e.error; }
|
|
30
|
+
}
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
34
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
35
|
+
if (ar || !(i in from)) {
|
|
36
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
37
|
+
ar[i] = from[i];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.ArgsProvider = void 0;
|
|
44
|
+
var ProviderDecorator_1 = require("./ProviderDecorator");
|
|
45
|
+
var ArgsProvider = /** @class */ (function (_super) {
|
|
46
|
+
__extends(ArgsProvider, _super);
|
|
47
|
+
function ArgsProvider(provider, argsFn) {
|
|
48
|
+
var _this = _super.call(this, provider) || this;
|
|
49
|
+
_this.provider = provider;
|
|
50
|
+
_this.argsFn = argsFn;
|
|
51
|
+
return _this;
|
|
52
|
+
}
|
|
53
|
+
ArgsProvider.prototype.resolve = function (locator) {
|
|
54
|
+
var _a;
|
|
55
|
+
var args = [];
|
|
56
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
57
|
+
args[_i - 1] = arguments[_i];
|
|
58
|
+
}
|
|
59
|
+
return (_a = this.provider).resolve.apply(_a, __spreadArray(__spreadArray([locator], __read(args), false), __read(this.argsFn(locator)), false));
|
|
60
|
+
};
|
|
61
|
+
ArgsProvider.prototype.clone = function () {
|
|
62
|
+
return new ArgsProvider(this.provider.clone(), this.argsFn);
|
|
63
|
+
};
|
|
64
|
+
return ArgsProvider;
|
|
65
|
+
}(ProviderDecorator_1.ProviderDecorator));
|
|
66
|
+
exports.ArgsProvider = ArgsProvider;
|
|
67
|
+
//# sourceMappingURL=ArgsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAMxD;IAAqC,gCAAoB;IACrD,sBAAoB,QAA2B,EAAU,MAAc;QAAvE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAmB;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAEvE,CAAC;IAED,8BAAO,GAAP,UAAQ,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,wCAAC,OAAO,UAAK,IAAI,kBAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAE;IAC5E,CAAC;IAED,4BAAK,GAAL;QACI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACL,mBAAC;AAAD,CAAC,AAZD,CAAqC,qCAAiB,GAYrD;AAZY,oCAAY"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IServiceLocator, Resolveable } from '
|
|
2
|
-
import { IDisposable } from '
|
|
1
|
+
import { IServiceLocator, Resolveable } from '../IServiceLocator';
|
|
2
|
+
import { IDisposable } from '../../helpers/types';
|
|
3
|
+
import { ProviderKey } from '../IProviderRepository';
|
|
3
4
|
export declare type ResolveDependency<T> = (locator: IServiceLocator, ...args: any[]) => T;
|
|
4
5
|
export declare type Tag = string | symbol;
|
|
5
6
|
export interface ScopeOptions {
|
|
@@ -11,4 +12,8 @@ export interface IProvider<T> extends IDisposable {
|
|
|
11
12
|
resolve(locator: Resolveable, ...args: any[]): T;
|
|
12
13
|
isValid(filters: ScopeOptions): boolean;
|
|
13
14
|
}
|
|
14
|
-
export
|
|
15
|
+
export interface IKeyedProvider<T> extends IProvider<T> {
|
|
16
|
+
clone(): IKeyedProvider<T>;
|
|
17
|
+
getKeys(): ProviderKey[];
|
|
18
|
+
addKeys(...keys: ProviderKey[]): this;
|
|
19
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/IProvider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { constructor } from '../../helpers/types';
|
|
2
|
+
import { IKeyedProvider, ResolveDependency, ScopeOptions } from './IProvider';
|
|
3
|
+
import { IServiceLocator } from '../IServiceLocator';
|
|
4
|
+
import { ProviderKey } from '../IProviderRepository';
|
|
5
|
+
export declare class Provider<T> implements IKeyedProvider<T> {
|
|
6
|
+
private readonly resolveDependency;
|
|
7
|
+
static fromClass<T>(value: constructor<T>): Provider<T>;
|
|
8
|
+
static fromValue<T>(value: T): Provider<T>;
|
|
9
|
+
private keys;
|
|
10
|
+
constructor(resolveDependency: ResolveDependency<T>);
|
|
11
|
+
clone(): IKeyedProvider<T>;
|
|
12
|
+
resolve(locator: IServiceLocator, ...args: any[]): T;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
isValid(filters: ScopeOptions): boolean;
|
|
15
|
+
addKeys(...keys: ProviderKey[]): this;
|
|
16
|
+
getKeys(): ProviderKey[];
|
|
17
|
+
}
|
|
@@ -29,6 +29,7 @@ exports.Provider = void 0;
|
|
|
29
29
|
var Provider = /** @class */ (function () {
|
|
30
30
|
function Provider(resolveDependency) {
|
|
31
31
|
this.resolveDependency = resolveDependency;
|
|
32
|
+
this.keys = [];
|
|
32
33
|
}
|
|
33
34
|
Provider.fromClass = function (value) {
|
|
34
35
|
return new Provider(function (l) {
|
|
@@ -56,6 +57,18 @@ var Provider = /** @class */ (function () {
|
|
|
56
57
|
Provider.prototype.isValid = function (filters) {
|
|
57
58
|
return true;
|
|
58
59
|
};
|
|
60
|
+
Provider.prototype.addKeys = function () {
|
|
61
|
+
var _a;
|
|
62
|
+
var keys = [];
|
|
63
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
64
|
+
keys[_i] = arguments[_i];
|
|
65
|
+
}
|
|
66
|
+
(_a = this.keys).push.apply(_a, __spreadArray([], __read(keys), false));
|
|
67
|
+
return this;
|
|
68
|
+
};
|
|
69
|
+
Provider.prototype.getKeys = function () {
|
|
70
|
+
return this.keys;
|
|
71
|
+
};
|
|
59
72
|
return Provider;
|
|
60
73
|
}());
|
|
61
74
|
exports.Provider = Provider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;IAWI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;QAF5D,SAAI,GAAkB,EAAE,CAAC;IAEsC,CAAC;IAVjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,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;IACnE,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAMD,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,OAAwB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC5C,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0BAAO,GAAP;;QAAQ,cAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,yBAAsB;;QAC1B,CAAA,KAAA,IAAI,CAAC,IAAI,CAAA,CAAC,IAAI,oCAAI,IAAI,WAAE;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACL,eAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,4BAAQ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Resolveable } from '../IServiceLocator';
|
|
2
|
+
import { IKeyedProvider, ScopeOptions } from './IProvider';
|
|
3
|
+
import { ProviderKey } from '../IProviderRepository';
|
|
4
|
+
export declare abstract class ProviderDecorator<T> implements IKeyedProvider<T> {
|
|
5
|
+
private decorated;
|
|
6
|
+
constructor(decorated: IKeyedProvider<T>);
|
|
7
|
+
abstract clone(): ProviderDecorator<T>;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
isValid(filters: ScopeOptions): boolean;
|
|
10
|
+
resolve(locator: Resolveable, ...args: any[]): T;
|
|
11
|
+
addKeys(...keys: ProviderKey[]): this;
|
|
12
|
+
getKeys(): ProviderKey[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
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.ProviderDecorator = void 0;
|
|
29
|
+
var ProviderDecorator = /** @class */ (function () {
|
|
30
|
+
function ProviderDecorator(decorated) {
|
|
31
|
+
this.decorated = decorated;
|
|
32
|
+
}
|
|
33
|
+
ProviderDecorator.prototype.dispose = function () {
|
|
34
|
+
this.decorated.dispose();
|
|
35
|
+
};
|
|
36
|
+
ProviderDecorator.prototype.isValid = function (filters) {
|
|
37
|
+
return this.decorated.isValid(filters);
|
|
38
|
+
};
|
|
39
|
+
ProviderDecorator.prototype.resolve = function (locator) {
|
|
40
|
+
var _a;
|
|
41
|
+
var args = [];
|
|
42
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
43
|
+
args[_i - 1] = arguments[_i];
|
|
44
|
+
}
|
|
45
|
+
return (_a = this.decorated).resolve.apply(_a, __spreadArray([locator], __read(args), false));
|
|
46
|
+
};
|
|
47
|
+
ProviderDecorator.prototype.addKeys = function () {
|
|
48
|
+
var _a;
|
|
49
|
+
var keys = [];
|
|
50
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
51
|
+
keys[_i] = arguments[_i];
|
|
52
|
+
}
|
|
53
|
+
(_a = this.decorated).addKeys.apply(_a, __spreadArray([], __read(keys), false));
|
|
54
|
+
return this;
|
|
55
|
+
};
|
|
56
|
+
ProviderDecorator.prototype.getKeys = function () {
|
|
57
|
+
return this.decorated.getKeys();
|
|
58
|
+
};
|
|
59
|
+
return ProviderDecorator;
|
|
60
|
+
}());
|
|
61
|
+
exports.ProviderDecorator = ProviderDecorator;
|
|
62
|
+
//# sourceMappingURL=ProviderDecorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../../lib/core/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IACI,2BAAoB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAIpD,mCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,mCAAO,GAAP;;QAAQ,cAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,yBAAsB;;QAC1B,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,oCAAI,IAAI,WAAE;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAO,GAAP;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IACL,wBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBqB,8CAAiB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.NoRegistrationKeysProvided = void 0;
|
|
19
|
+
var NoRegistrationKeysProvided = /** @class */ (function (_super) {
|
|
20
|
+
__extends(NoRegistrationKeysProvided, _super);
|
|
21
|
+
function NoRegistrationKeysProvided() {
|
|
22
|
+
var _this = _super.call(this, "Pls provide registration keys for current provider") || this;
|
|
23
|
+
_this.name = 'NoRegistrationKeysProvided';
|
|
24
|
+
Object.setPrototypeOf(_this, NoRegistrationKeysProvided.prototype);
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
return NoRegistrationKeysProvided;
|
|
28
|
+
}(Error));
|
|
29
|
+
exports.NoRegistrationKeysProvided = NoRegistrationKeysProvided;
|
|
30
|
+
//# sourceMappingURL=NoRegistrationKeysProvided.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoRegistrationKeysProvided.js","sourceRoot":"","sources":["../../lib/errors/NoRegistrationKeysProvided.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAAgD,8CAAK;IAGjD;QAAA,YACI,kBAAM,oDAAoD,CAAC,SAG9D;QAND,UAAI,GAAG,4BAA4B,CAAC;QAKhC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;;IACtE,CAAC;IACL,iCAAC;AAAD,CAAC,AARD,CAAgD,KAAK,GAQpD;AARY,gEAA0B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ProviderKeyIsBusy = void 0;
|
|
19
|
+
var ProviderKeyIsBusy = /** @class */ (function (_super) {
|
|
20
|
+
__extends(ProviderKeyIsBusy, _super);
|
|
21
|
+
function ProviderKeyIsBusy(key) {
|
|
22
|
+
var _this = _super.call(this, "Provider key (" + key.toString() + ") is busy") || this;
|
|
23
|
+
_this.name = 'ProviderKeyIsBusy';
|
|
24
|
+
Object.setPrototypeOf(_this, ProviderKeyIsBusy.prototype);
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
return ProviderKeyIsBusy;
|
|
28
|
+
}(Error));
|
|
29
|
+
exports.ProviderKeyIsBusy = ProviderKeyIsBusy;
|
|
30
|
+
//# sourceMappingURL=ProviderKeyIsBusy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderKeyIsBusy.js","sourceRoot":"","sources":["../../lib/errors/ProviderKeyIsBusy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;IAAuC,qCAAK;IAGxC,2BAAY,GAAgB;QAA5B,YACI,kBAAM,mBAAiB,GAAG,CAAC,QAAQ,EAAE,cAAW,CAAC,SAGpD;QAND,UAAI,GAAG,mBAAmB,CAAC;QAKvB,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;;IAC7D,CAAC;IACL,wBAAC;AAAD,CAAC,AARD,CAAuC,KAAK,GAQ3C;AARY,8CAAiB"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IKeyedProvider, ResolveDependency, Tag } from '../core/provider/IProvider';
|
|
2
2
|
import { constructor } from '../helpers/types';
|
|
3
|
-
import { IServiceLocator } from '../core/IServiceLocator';
|
|
4
3
|
import { IInstanceHook } from './instanceHook/IInstanceHook';
|
|
5
4
|
import { ProviderReducer } from './scope/IProvidersMetadataCollector';
|
|
5
|
+
import { ProviderKey } from '../core/IProviderRepository';
|
|
6
|
+
import { ArgsFn } from '../core/provider/ArgsProvider';
|
|
6
7
|
export declare class ProviderBuilder<T> {
|
|
7
8
|
private provider;
|
|
8
9
|
static fromClass<T>(value: constructor<T>): ProviderBuilder<T>;
|
|
9
10
|
static fromValue<T>(value: T): ProviderBuilder<T>;
|
|
10
11
|
static fromFn<T>(fn: ResolveDependency<T>): ProviderBuilder<T>;
|
|
11
|
-
constructor(provider:
|
|
12
|
+
constructor(provider: IKeyedProvider<T>);
|
|
12
13
|
withArgs(...extraArgs: any[]): this;
|
|
13
14
|
withHook(hook: IInstanceHook): this;
|
|
14
|
-
withArgsFn(argsFn:
|
|
15
|
+
withArgsFn(argsFn: ArgsFn): this;
|
|
15
16
|
withReducer(reducer: ProviderReducer<T>): this;
|
|
16
|
-
forTags(tags: Tag[]): this;
|
|
17
|
+
forTags(...tags: Tag[]): this;
|
|
17
18
|
forLevel(level: number): this;
|
|
18
|
-
asSingleton():
|
|
19
|
-
|
|
19
|
+
asSingleton(): this;
|
|
20
|
+
forKeys(...keys: ProviderKey[]): this;
|
|
21
|
+
build(): IKeyedProvider<T>;
|
|
20
22
|
}
|