@shrub/core 0.5.84 → 0.5.86
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/dist/esm/service-collection.js +52 -43
- package/dist/service-collection.d.ts +21 -10
- package/dist/service-collection.js +54 -44
- package/package.json +2 -2
|
@@ -126,14 +126,14 @@ export class SingletonServiceFactory {
|
|
|
126
126
|
}
|
|
127
127
|
export class ServiceMap {
|
|
128
128
|
services;
|
|
129
|
-
isScoped;
|
|
130
129
|
instances = new Map();
|
|
131
|
-
isFrozen;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
this.isScoped =
|
|
136
|
-
|
|
130
|
+
isFrozen = false;
|
|
131
|
+
isScoped = false;
|
|
132
|
+
/** Creates a new ServiceMap instance with an optional parent if the ServiceMap should be scoped; note: this is used for internal purposes and should not be used directly. */
|
|
133
|
+
constructor(parent) {
|
|
134
|
+
this.isScoped = !!parent;
|
|
135
|
+
this.services = new Map(parent?.services);
|
|
136
|
+
if (!parent) {
|
|
137
137
|
// the thisFactory is used to return the appropriate ServiceMap instance since the IInstantiationService and IServiceCollection services need to be scoped
|
|
138
138
|
const thisFactory = { create: service => service };
|
|
139
139
|
this.registerService(IInstantiationService, "scoped" /* ServiceScope.scoped */, thisFactory, { sealed: true });
|
|
@@ -153,39 +153,15 @@ export class ServiceMap {
|
|
|
153
153
|
: this.createObjectInstance(ctorOrInjectable);
|
|
154
154
|
}
|
|
155
155
|
createScope(register) {
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
this.freeze();
|
|
166
|
-
}
|
|
167
|
-
dispose() {
|
|
168
|
-
for (const instance of this.instances.values()) {
|
|
169
|
-
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
170
|
-
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
171
|
-
if (instance !== this && isDisposable(instance)) {
|
|
172
|
-
instance.dispose();
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
this.instances.clear();
|
|
176
|
-
}
|
|
177
|
-
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
178
|
-
// if the service is registered direclty with the scoped service collection the parent collection will not be aware so check that first
|
|
179
|
-
if (parent.has(key)) {
|
|
180
|
-
const entry = this.services.get(key);
|
|
181
|
-
if (entry !== undefined && (entry.scope === "singleton" /* ServiceScope.singleton */ || entry.scope === "instance" /* ServiceScope.instance */)) {
|
|
182
|
-
// if the service is a singleton or instance call up the parent chain to get the instance
|
|
183
|
-
return getOrCreateServiceInstanceFromParent(key, rootScope, ancestors);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return super.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
156
|
+
const scopedServices = this.createScopeMap();
|
|
157
|
+
if (register) {
|
|
158
|
+
register(scopedServices);
|
|
159
|
+
}
|
|
160
|
+
scopedServices.freeze();
|
|
161
|
+
return scopedServices;
|
|
162
|
+
}
|
|
163
|
+
createScopeMap() {
|
|
164
|
+
return new ScopedServiceMap(this);
|
|
189
165
|
}
|
|
190
166
|
getOptions(options) {
|
|
191
167
|
return this.get(IOptionsService).getOptions(options);
|
|
@@ -193,16 +169,20 @@ export class ServiceMap {
|
|
|
193
169
|
register(service, ctor, options) {
|
|
194
170
|
this.registerService(service, getServiceScope(ctor), ctor, options);
|
|
195
171
|
}
|
|
196
|
-
registerInstance(service,
|
|
197
|
-
if (
|
|
172
|
+
registerInstance(service, instanceOrConstructor, options) {
|
|
173
|
+
if (instanceOrConstructor === undefined) {
|
|
198
174
|
throw new Error("instance undefined");
|
|
199
175
|
}
|
|
200
176
|
if (this.isScoped && this.services.has(service.key)) {
|
|
201
177
|
throw new Error(`Service with key (${service.key}) cannot be overridden.`);
|
|
202
178
|
}
|
|
203
179
|
// TODO: check if the instance constructor has a required scope - if so, verify its a singleton
|
|
180
|
+
const instance = isConstructor(instanceOrConstructor)
|
|
181
|
+
? this.createInstance(instanceOrConstructor)
|
|
182
|
+
: instanceOrConstructor;
|
|
204
183
|
this.instances.set(service.key, instance);
|
|
205
184
|
this.services.set(service.key, { service, scope: "instance" /* ServiceScope.instance */, sealed: options && options.sealed });
|
|
185
|
+
return instance;
|
|
206
186
|
}
|
|
207
187
|
registerScoped(service, ctorOrFactory, options) {
|
|
208
188
|
this.registerService(service, "scoped" /* ServiceScope.scoped */, ctorOrFactory, options);
|
|
@@ -257,6 +237,7 @@ export class ServiceMap {
|
|
|
257
237
|
freeze() {
|
|
258
238
|
this.isFrozen = true;
|
|
259
239
|
}
|
|
240
|
+
/** @internal */
|
|
260
241
|
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
261
242
|
const entry = this.services.get(key);
|
|
262
243
|
if (!entry) {
|
|
@@ -379,6 +360,34 @@ export class ServiceMap {
|
|
|
379
360
|
}
|
|
380
361
|
}
|
|
381
362
|
}
|
|
363
|
+
export class ScopedServiceMap extends ServiceMap {
|
|
364
|
+
parent;
|
|
365
|
+
constructor(parent) {
|
|
366
|
+
super(parent);
|
|
367
|
+
this.parent = parent;
|
|
368
|
+
}
|
|
369
|
+
dispose() {
|
|
370
|
+
for (const instance of this.instances.values()) {
|
|
371
|
+
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
372
|
+
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
373
|
+
if (instance !== this && isDisposable(instance)) {
|
|
374
|
+
instance.dispose();
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
this.instances.clear();
|
|
378
|
+
}
|
|
379
|
+
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
380
|
+
// if the service is registered direclty with the scoped service collection the parent collection will not be aware so check that first
|
|
381
|
+
if (this.parent.has(key)) {
|
|
382
|
+
const entry = this.services.get(key);
|
|
383
|
+
if (entry !== undefined && (entry.scope === "singleton" /* ServiceScope.singleton */ || entry.scope === "instance" /* ServiceScope.instance */)) {
|
|
384
|
+
// if the service is a singleton or instance call up the parent chain to get the instance
|
|
385
|
+
return this.parent.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return super.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
382
391
|
/** Represents an error for an options object instance that failed validation. */
|
|
383
392
|
export class OptionsValidationError extends Error {
|
|
384
393
|
constructor(message) {
|
|
@@ -428,4 +437,4 @@ class OptionsService {
|
|
|
428
437
|
return options;
|
|
429
438
|
}
|
|
430
439
|
}
|
|
431
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFTO0lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMscUNBQXNCLENBQUM7QUFDdEMsQ0FBQztBQUVELG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBUztJQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLDJDQUF5QixDQUFDO0FBQ3pDLENBQUM7QUFJRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksWUFBNEM7SUFDNUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFpQyxVQUFVLE1BQVcsRUFBRSxXQUFtQixFQUFFLGNBQXNCO1FBQy9HLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJ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
|
|
440
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFTO0lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMscUNBQXNCLENBQUM7QUFDdEMsQ0FBQztBQUVELG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBUztJQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLDJDQUF5QixDQUFDO0FBQ3pDLENBQUM7QUFJRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksWUFBNEM7SUFDNUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFpQyxVQUFVLE1BQVcsRUFBRSxXQUFtQixFQUFFLGNBQXNCO1FBQy9HLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJ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
|
|
@@ -65,8 +65,11 @@ export interface IServiceRegistrationOptions {
|
|
|
65
65
|
export interface IServiceRegistration {
|
|
66
66
|
/** Registers a service using its required scope. Note: a service class must define a required scope decorator. */
|
|
67
67
|
register<T, TInstance extends T>(service: IService<T>, ctor: Constructor<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
68
|
-
/**
|
|
69
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Registers a singleton instance that lives within the collection and is available to all child scopes. A constructor can be provided to create a new instance and return a reference to it.
|
|
70
|
+
* Note: if the instance implements IDisposable it will not be disposed automatically.
|
|
71
|
+
*/
|
|
72
|
+
registerInstance<T, TInstance extends T>(service: IService<T>, instanceOrConstructor: TInstance | Constructor<TInstance>, options?: IServiceRegistrationOptions): TInstance;
|
|
70
73
|
/** Registers a service that gets created once per service collection scope. */
|
|
71
74
|
registerScoped<T, TInstance extends T>(service: IService<T>, ctorOrFactory: Constructor<TInstance> | IServiceFactory<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
72
75
|
/** Registers a service that gets created once and is available to all child scopes. */
|
|
@@ -90,6 +93,8 @@ export interface IServiceCollection {
|
|
|
90
93
|
* Note: overwriting existing services are not allowed with scoped service collections.
|
|
91
94
|
*/
|
|
92
95
|
createScope(register?: (registration: IServiceRegistration) => void): IScopedServiceCollection;
|
|
96
|
+
/** Creates a scoped service map that can be used for registering and providing scoped services to the current service collection. */
|
|
97
|
+
createScopeMap(): ScopedServiceMap;
|
|
93
98
|
/** Gets an instance of the registered service. */
|
|
94
99
|
get<T>(serviceOrKey: IService<T> | string): T;
|
|
95
100
|
/** True if a service has been registered. */
|
|
@@ -144,19 +149,20 @@ export declare class SingletonServiceFactory<T> implements IServiceFactory<T> {
|
|
|
144
149
|
create(services: IServiceCollection): T;
|
|
145
150
|
}
|
|
146
151
|
export declare class ServiceMap implements IServiceRegistration, IServiceCollection, IOptionsService, IInstantiationService {
|
|
147
|
-
|
|
148
|
-
readonly
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
/** Creates a new ServiceMap instance; note:
|
|
152
|
-
constructor(
|
|
152
|
+
protected readonly services: Map<string, IServiceEntry>;
|
|
153
|
+
protected readonly instances: Map<string, any>;
|
|
154
|
+
protected isFrozen: boolean;
|
|
155
|
+
protected isScoped: boolean;
|
|
156
|
+
/** Creates a new ServiceMap instance with an optional parent if the ServiceMap should be scoped; note: this is used for internal purposes and should not be used directly. */
|
|
157
|
+
constructor(parent?: ServiceMap);
|
|
153
158
|
addOptionsProvider(provider: IOptionsProvider): void;
|
|
154
159
|
configureOptions<T>(options: IOptions<T>, callback: (options: T) => T): void;
|
|
155
160
|
createInstance<T>(ctorOrInjectable: Constructor<T> | IInjectable<T>): T;
|
|
156
161
|
createScope(register?: (registration: IServiceRegistration) => void): IScopedServiceCollection;
|
|
162
|
+
createScopeMap(): ScopedServiceMap;
|
|
157
163
|
getOptions<T>(options: IOptions<T>): T;
|
|
158
164
|
register<T, TInstance extends T>(service: IService<T>, ctor: Constructor<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
159
|
-
registerInstance<T, TInstance extends T>(service: IService<T>,
|
|
165
|
+
registerInstance<T, TInstance extends T>(service: IService<T>, instanceOrConstructor: TInstance | Constructor<TInstance>, options?: IServiceRegistrationOptions): TInstance;
|
|
160
166
|
registerScoped<T, TInstance extends T>(service: IService<T>, ctorOrFactory: Constructor<TInstance> | IServiceFactory<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
161
167
|
registerSingleton<T, TInstance extends T>(service: IService<T>, ctorOrFactory: Constructor<TInstance> | IServiceFactory<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
162
168
|
registerTransient<T, TInstance extends T>(service: IService<T>, ctorOrFactory: Constructor<TInstance> | IServiceFactory<TInstance>, options?: IServiceRegistrationOptions): void;
|
|
@@ -170,7 +176,6 @@ export declare class ServiceMap implements IServiceRegistration, IServiceCollect
|
|
|
170
176
|
tryGet<T>(serviceOrKey: IService<T> | string): T | undefined;
|
|
171
177
|
/** Prevents items from being registered with the serivce map. */
|
|
172
178
|
freeze(): void;
|
|
173
|
-
protected getOrCreateServiceInstance(key: string, rootScope?: ServiceScope, ancestors?: Constructor<any>[]): any;
|
|
174
179
|
private registerService;
|
|
175
180
|
private tryRegisterService;
|
|
176
181
|
private checkFactoryInstance;
|
|
@@ -181,6 +186,12 @@ export declare class ServiceMap implements IServiceRegistration, IServiceCollect
|
|
|
181
186
|
private createServiceInstance;
|
|
182
187
|
private createObjectInstance;
|
|
183
188
|
}
|
|
189
|
+
export declare class ScopedServiceMap extends ServiceMap implements IScopedServiceCollection {
|
|
190
|
+
private readonly parent;
|
|
191
|
+
constructor(parent: ServiceMap);
|
|
192
|
+
dispose(): void;
|
|
193
|
+
getOrCreateServiceInstance(key: string, rootScope?: ServiceScope, ancestors?: Constructor<any>[]): any;
|
|
194
|
+
}
|
|
184
195
|
/** Represents an error for an options object instance that failed validation. */
|
|
185
196
|
export declare class OptionsValidationError extends Error {
|
|
186
197
|
constructor(message: string);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptionsValidationError = exports.ServiceMap = exports.SingletonServiceFactory = exports.ObjectCreateError = exports.createService = exports.createOptions = exports.createInjectable = exports.Transient = exports.Singleton = exports.Scoped = exports.IServiceCollection = exports.IOptionsService = exports.IInstantiationService = void 0;
|
|
3
|
+
exports.OptionsValidationError = exports.ScopedServiceMap = exports.ServiceMap = exports.SingletonServiceFactory = exports.ObjectCreateError = exports.createService = exports.createOptions = exports.createInjectable = exports.Transient = exports.Singleton = exports.Scoped = exports.IServiceCollection = exports.IOptionsService = exports.IInstantiationService = void 0;
|
|
4
4
|
exports.IInstantiationService = createService("instantiation-service");
|
|
5
5
|
exports.IOptionsService = createService("options-service");
|
|
6
6
|
exports.IServiceCollection = createService("service-collection");
|
|
@@ -137,14 +137,14 @@ class SingletonServiceFactory {
|
|
|
137
137
|
exports.SingletonServiceFactory = SingletonServiceFactory;
|
|
138
138
|
class ServiceMap {
|
|
139
139
|
services;
|
|
140
|
-
isScoped;
|
|
141
140
|
instances = new Map();
|
|
142
|
-
isFrozen;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
this.isScoped =
|
|
147
|
-
|
|
141
|
+
isFrozen = false;
|
|
142
|
+
isScoped = false;
|
|
143
|
+
/** Creates a new ServiceMap instance with an optional parent if the ServiceMap should be scoped; note: this is used for internal purposes and should not be used directly. */
|
|
144
|
+
constructor(parent) {
|
|
145
|
+
this.isScoped = !!parent;
|
|
146
|
+
this.services = new Map(parent?.services);
|
|
147
|
+
if (!parent) {
|
|
148
148
|
// the thisFactory is used to return the appropriate ServiceMap instance since the IInstantiationService and IServiceCollection services need to be scoped
|
|
149
149
|
const thisFactory = { create: service => service };
|
|
150
150
|
this.registerService(exports.IInstantiationService, "scoped" /* ServiceScope.scoped */, thisFactory, { sealed: true });
|
|
@@ -164,39 +164,15 @@ class ServiceMap {
|
|
|
164
164
|
: this.createObjectInstance(ctorOrInjectable);
|
|
165
165
|
}
|
|
166
166
|
createScope(register) {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.freeze();
|
|
177
|
-
}
|
|
178
|
-
dispose() {
|
|
179
|
-
for (const instance of this.instances.values()) {
|
|
180
|
-
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
181
|
-
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
182
|
-
if (instance !== this && isDisposable(instance)) {
|
|
183
|
-
instance.dispose();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
this.instances.clear();
|
|
187
|
-
}
|
|
188
|
-
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
189
|
-
// if the service is registered direclty with the scoped service collection the parent collection will not be aware so check that first
|
|
190
|
-
if (parent.has(key)) {
|
|
191
|
-
const entry = this.services.get(key);
|
|
192
|
-
if (entry !== undefined && (entry.scope === "singleton" /* ServiceScope.singleton */ || entry.scope === "instance" /* ServiceScope.instance */)) {
|
|
193
|
-
// if the service is a singleton or instance call up the parent chain to get the instance
|
|
194
|
-
return getOrCreateServiceInstanceFromParent(key, rootScope, ancestors);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
return super.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
198
|
-
}
|
|
199
|
-
};
|
|
167
|
+
const scopedServices = this.createScopeMap();
|
|
168
|
+
if (register) {
|
|
169
|
+
register(scopedServices);
|
|
170
|
+
}
|
|
171
|
+
scopedServices.freeze();
|
|
172
|
+
return scopedServices;
|
|
173
|
+
}
|
|
174
|
+
createScopeMap() {
|
|
175
|
+
return new ScopedServiceMap(this);
|
|
200
176
|
}
|
|
201
177
|
getOptions(options) {
|
|
202
178
|
return this.get(exports.IOptionsService).getOptions(options);
|
|
@@ -204,16 +180,20 @@ class ServiceMap {
|
|
|
204
180
|
register(service, ctor, options) {
|
|
205
181
|
this.registerService(service, getServiceScope(ctor), ctor, options);
|
|
206
182
|
}
|
|
207
|
-
registerInstance(service,
|
|
208
|
-
if (
|
|
183
|
+
registerInstance(service, instanceOrConstructor, options) {
|
|
184
|
+
if (instanceOrConstructor === undefined) {
|
|
209
185
|
throw new Error("instance undefined");
|
|
210
186
|
}
|
|
211
187
|
if (this.isScoped && this.services.has(service.key)) {
|
|
212
188
|
throw new Error(`Service with key (${service.key}) cannot be overridden.`);
|
|
213
189
|
}
|
|
214
190
|
// TODO: check if the instance constructor has a required scope - if so, verify its a singleton
|
|
191
|
+
const instance = isConstructor(instanceOrConstructor)
|
|
192
|
+
? this.createInstance(instanceOrConstructor)
|
|
193
|
+
: instanceOrConstructor;
|
|
215
194
|
this.instances.set(service.key, instance);
|
|
216
195
|
this.services.set(service.key, { service, scope: "instance" /* ServiceScope.instance */, sealed: options && options.sealed });
|
|
196
|
+
return instance;
|
|
217
197
|
}
|
|
218
198
|
registerScoped(service, ctorOrFactory, options) {
|
|
219
199
|
this.registerService(service, "scoped" /* ServiceScope.scoped */, ctorOrFactory, options);
|
|
@@ -268,6 +248,7 @@ class ServiceMap {
|
|
|
268
248
|
freeze() {
|
|
269
249
|
this.isFrozen = true;
|
|
270
250
|
}
|
|
251
|
+
/** @internal */
|
|
271
252
|
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
272
253
|
const entry = this.services.get(key);
|
|
273
254
|
if (!entry) {
|
|
@@ -391,6 +372,35 @@ class ServiceMap {
|
|
|
391
372
|
}
|
|
392
373
|
}
|
|
393
374
|
exports.ServiceMap = ServiceMap;
|
|
375
|
+
class ScopedServiceMap extends ServiceMap {
|
|
376
|
+
parent;
|
|
377
|
+
constructor(parent) {
|
|
378
|
+
super(parent);
|
|
379
|
+
this.parent = parent;
|
|
380
|
+
}
|
|
381
|
+
dispose() {
|
|
382
|
+
for (const instance of this.instances.values()) {
|
|
383
|
+
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
384
|
+
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
385
|
+
if (instance !== this && isDisposable(instance)) {
|
|
386
|
+
instance.dispose();
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
this.instances.clear();
|
|
390
|
+
}
|
|
391
|
+
getOrCreateServiceInstance(key, rootScope, ancestors) {
|
|
392
|
+
// if the service is registered direclty with the scoped service collection the parent collection will not be aware so check that first
|
|
393
|
+
if (this.parent.has(key)) {
|
|
394
|
+
const entry = this.services.get(key);
|
|
395
|
+
if (entry !== undefined && (entry.scope === "singleton" /* ServiceScope.singleton */ || entry.scope === "instance" /* ServiceScope.instance */)) {
|
|
396
|
+
// if the service is a singleton or instance call up the parent chain to get the instance
|
|
397
|
+
return this.parent.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return super.getOrCreateServiceInstance(key, rootScope, ancestors);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
exports.ScopedServiceMap = ScopedServiceMap;
|
|
394
404
|
/** Represents an error for an options object instance that failed validation. */
|
|
395
405
|
class OptionsValidationError extends Error {
|
|
396
406
|
constructor(message) {
|
|
@@ -441,4 +451,4 @@ class OptionsService {
|
|
|
441
451
|
return options;
|
|
442
452
|
}
|
|
443
453
|
}
|
|
444
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrSWEsUUFBQSxxQkFBcUIsR0FBRyxhQUFhLENBQXdCLHVCQUF1QixDQUFDLENBQUM7QUFDdEYsUUFBQSxlQUFlLEdBQUcsYUFBYSxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLFFBQUEsa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsU0FBZ0IsTUFBTSxDQUFDLElBQVM7SUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQ0FBc0IsQ0FBQztBQUN0QyxDQUFDO0FBRkQsd0JBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFJRCxTQUFnQixnQkFBZ0IsQ0FBSSxZQUE0QztJQUM1RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQWlDLFVBQVUsTUFBVyxFQUFFLFdBQW1CLEVBQUUsY0FBc0I7UUFDL0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLCtE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
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1SWEsUUFBQSxxQkFBcUIsR0FBRyxhQUFhLENBQXdCLHVCQUF1QixDQUFDLENBQUM7QUFDdEYsUUFBQSxlQUFlLEdBQUcsYUFBYSxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLFFBQUEsa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsU0FBZ0IsTUFBTSxDQUFDLElBQVM7SUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQ0FBc0IsQ0FBQztBQUN0QyxDQUFDO0FBRkQsd0JBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQywyQ0FBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFJRCxTQUFnQixnQkFBZ0IsQ0FBSSxZQUE0QztJQUM1RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQWlDLFVBQVUsTUFBVyxFQUFFLFdBQW1CLEVBQUUsY0FBc0I7UUFDL0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLCtE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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrub/core",
|
|
3
3
|
"description": "A framework for modular server-side applications and front-end components.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.86",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
"clean": "rimraf ./dist && rimraf tsconfig.tsbuildinfo",
|
|
23
23
|
"test": "jest"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "096aa4c0e08fc79b200b76adc6243eac055b3c74"
|
|
26
26
|
}
|