@shrub/core 0.5.27 → 0.5.28
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 +38 -43
- package/dist/service-collection.d.ts +16 -2
- package/dist/service-collection.js +38 -43
- package/package.json +2 -2
|
@@ -110,8 +110,10 @@ export class SingletonServiceFactory {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
export class ServiceMap {
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
/** Creates a new ServiceMap instance; note: the services parameter is for internal purposes and should not be used. */
|
|
114
|
+
constructor(services = new Map()) {
|
|
115
|
+
this.services = services;
|
|
116
|
+
this.instances = new Map();
|
|
115
117
|
// the thisFactory is necessary for scoped collections
|
|
116
118
|
const thisFactory = { create: () => this };
|
|
117
119
|
this.registerService(IInstantiationService, "scoped" /* scoped */, thisFactory);
|
|
@@ -129,34 +131,29 @@ export class ServiceMap {
|
|
|
129
131
|
}
|
|
130
132
|
createScope() {
|
|
131
133
|
const parent = this;
|
|
134
|
+
const getOrCreateServiceInstanceFromParent = this.getOrCreateServiceInstance.bind(this);
|
|
132
135
|
return new class extends ServiceMap {
|
|
133
136
|
constructor() {
|
|
134
|
-
super();
|
|
135
|
-
// The service map registers a few built-in services that need to be handled a little differently
|
|
136
|
-
// -- if the service is singleton/instance it gets copied from the parent
|
|
137
|
-
// -- if the service is scoped/transient do not overwrite the entry from the parent
|
|
138
|
-
for (const entry of parent.services.values()) {
|
|
139
|
-
if (entry.scope === "singleton" /* singleton */ || entry.scope === "instance" /* instance */) {
|
|
140
|
-
// copy the singleton entry directly to the scoped collection - it's possible the instance has not yet been created so the entire entry gets copied down
|
|
141
|
-
this.registerEntry(entry);
|
|
142
|
-
}
|
|
143
|
-
else if (!this.services.has(entry.service.key)) {
|
|
144
|
-
// create a new entry for scoped/transient services
|
|
145
|
-
this.registerEntry({ ...entry, instance: undefined });
|
|
146
|
-
}
|
|
147
|
-
}
|
|
137
|
+
super(parent.services);
|
|
148
138
|
this.freeze();
|
|
149
139
|
}
|
|
150
140
|
dispose() {
|
|
151
|
-
for (const
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
service.instance.dispose();
|
|
141
|
+
for (const instance of this.instances.values()) {
|
|
142
|
+
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
143
|
+
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
144
|
+
if (instance !== this && isDisposable(instance)) {
|
|
145
|
+
instance.dispose();
|
|
157
146
|
}
|
|
158
147
|
}
|
|
159
|
-
this.
|
|
148
|
+
this.instances.clear();
|
|
149
|
+
}
|
|
150
|
+
getOrCreateServiceInstance(key, ancestors) {
|
|
151
|
+
const entry = this.services.get(key);
|
|
152
|
+
if (entry !== undefined && (entry.scope === "singleton" /* singleton */ || entry.scope === "instance" /* instance */)) {
|
|
153
|
+
// if the service is an instance or singleton call up the parent chain and get the instance from the root
|
|
154
|
+
return getOrCreateServiceInstanceFromParent(key, ancestors);
|
|
155
|
+
}
|
|
156
|
+
return super.getOrCreateServiceInstance(key, ancestors);
|
|
160
157
|
}
|
|
161
158
|
};
|
|
162
159
|
}
|
|
@@ -171,11 +168,8 @@ export class ServiceMap {
|
|
|
171
168
|
throw new Error("instance undefined");
|
|
172
169
|
}
|
|
173
170
|
// TODO: check if the instance constructor has a required scope - if so, verify its a singleton
|
|
174
|
-
this.
|
|
175
|
-
|
|
176
|
-
scope: "instance" /* instance */,
|
|
177
|
-
instance
|
|
178
|
-
});
|
|
171
|
+
this.instances.set(service.key, instance);
|
|
172
|
+
this.services.set(service.key, { service, scope: "instance" /* instance */ });
|
|
179
173
|
}
|
|
180
174
|
registerScoped(service, ctorOrFactory) {
|
|
181
175
|
this.registerService(service, "scoped" /* scoped */, ctorOrFactory);
|
|
@@ -239,6 +233,21 @@ export class ServiceMap {
|
|
|
239
233
|
freeze() {
|
|
240
234
|
this.isFrozen = true;
|
|
241
235
|
}
|
|
236
|
+
getOrCreateServiceInstance(key, ancestors) {
|
|
237
|
+
const entry = this.services.get(key);
|
|
238
|
+
if (!entry) {
|
|
239
|
+
throw new Error(`Service not registered for key '${key}'.`);
|
|
240
|
+
}
|
|
241
|
+
let current = this.instances.get(key);
|
|
242
|
+
if (current) {
|
|
243
|
+
return current;
|
|
244
|
+
}
|
|
245
|
+
const instance = this.createServiceInstance(entry, ancestors);
|
|
246
|
+
if (entry.scope === "scoped" /* scoped */ || entry.scope === "singleton" /* singleton */) {
|
|
247
|
+
this.instances.set(key, instance);
|
|
248
|
+
}
|
|
249
|
+
return instance;
|
|
250
|
+
}
|
|
242
251
|
registerService(service, scope, ctorOrFactory) {
|
|
243
252
|
this.registerEntry({
|
|
244
253
|
service,
|
|
@@ -270,20 +279,6 @@ export class ServiceMap {
|
|
|
270
279
|
throw new Error("Registered service scope is different than the instance required scope");
|
|
271
280
|
}
|
|
272
281
|
}
|
|
273
|
-
getOrCreateServiceInstance(key, ancestors) {
|
|
274
|
-
const entry = this.services.get(key);
|
|
275
|
-
if (!entry) {
|
|
276
|
-
throw new Error(`Service not registered for key '${key}'.`);
|
|
277
|
-
}
|
|
278
|
-
if (entry.instance) {
|
|
279
|
-
return entry.instance;
|
|
280
|
-
}
|
|
281
|
-
const instance = this.createServiceInstance(entry, ancestors);
|
|
282
|
-
if (entry.scope === "scoped" /* scoped */ || entry.scope === "singleton" /* singleton */) {
|
|
283
|
-
entry.instance = instance;
|
|
284
|
-
}
|
|
285
|
-
return instance;
|
|
286
|
-
}
|
|
287
282
|
getOrCreateInjectable(injectable, ancestors) {
|
|
288
283
|
if (this.services.has(injectable.key)) {
|
|
289
284
|
return this.getOrCreateServiceInstance(injectable.key, ancestors);
|
|
@@ -379,4 +374,4 @@ class OptionsService {
|
|
|
379
374
|
return options;
|
|
380
375
|
}
|
|
381
376
|
}
|
|
382
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzR0EsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFTO0lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXNCLENBQUM7QUFDdEMsQ0FBQztBQUVELG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBUztJQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLDhCQUF5QixDQUFDO0FBQ3pDLENBQUM7QUFJRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksWUFBNEM7SUFDNUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFRLFVBQVUsTUFBVyxFQUFFLFdBQW1CLEVBQUUsY0FBc0I7UUFDdEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUks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
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxR0EsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFTO0lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXNCLENBQUM7QUFDdEMsQ0FBQztBQUVELG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBUztJQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLDhCQUF5QixDQUFDO0FBQ3pDLENBQUM7QUFJRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksWUFBNEM7SUFDNUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFRLFVBQVUsTUFBVyxFQUFFLFdBQW1CLEVBQUUsY0FBc0I7UUFDdEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUks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
|
|
@@ -78,9 +78,21 @@ export interface IServiceFactory<T> {
|
|
|
78
78
|
}
|
|
79
79
|
export interface IScopedServiceCollection extends IServiceCollection, IDisposable {
|
|
80
80
|
}
|
|
81
|
+
interface IServiceEntry<T = any> {
|
|
82
|
+
readonly service: IService<T>;
|
|
83
|
+
readonly scope: ServiceScope;
|
|
84
|
+
readonly ctor?: Constructor<T>;
|
|
85
|
+
readonly factory?: IServiceFactory<T>;
|
|
86
|
+
}
|
|
81
87
|
export declare const IInstantiationService: IService<IInstantiationService>;
|
|
82
88
|
export declare const IOptionsService: IService<IOptionsService>;
|
|
83
89
|
export declare const IServiceCollection: IService<IServiceCollection>;
|
|
90
|
+
declare const enum ServiceScope {
|
|
91
|
+
instance = "instance",
|
|
92
|
+
scoped = "scoped",
|
|
93
|
+
singleton = "singleton",
|
|
94
|
+
transient = "transient"
|
|
95
|
+
}
|
|
84
96
|
/** Class decorator identifying the required scope for a service as 'scoped'. */
|
|
85
97
|
export declare function Scoped(ctor: any): void;
|
|
86
98
|
/** Class decorator identifying the required scope for a service as 'singleton'. */
|
|
@@ -108,8 +120,10 @@ export declare class SingletonServiceFactory<T> implements IServiceFactory<T> {
|
|
|
108
120
|
}
|
|
109
121
|
export declare class ServiceMap implements IServiceRegistration, IServiceCollection, IOptionsService, IInstantiationService {
|
|
110
122
|
private readonly services;
|
|
123
|
+
private readonly instances;
|
|
111
124
|
private isFrozen?;
|
|
112
|
-
|
|
125
|
+
/** Creates a new ServiceMap instance; note: the services parameter is for internal purposes and should not be used. */
|
|
126
|
+
constructor(services?: Map<string, IServiceEntry<any>>);
|
|
113
127
|
addOptionsProvider(provider: IOptionsProvider): void;
|
|
114
128
|
configureOptions<T>(options: IOptions<T>, callback: (options: T) => T): void;
|
|
115
129
|
createInstance<T>(ctor: Constructor<T>): T;
|
|
@@ -130,11 +144,11 @@ export declare class ServiceMap implements IServiceRegistration, IServiceCollect
|
|
|
130
144
|
tryGet<T>(serviceOrKey: IService<T> | string): T | undefined;
|
|
131
145
|
/** Prevents items from being registered with the serivce map. */
|
|
132
146
|
freeze(): void;
|
|
147
|
+
protected getOrCreateServiceInstance(key: string, ancestors?: Constructor<any>[]): any;
|
|
133
148
|
private registerService;
|
|
134
149
|
private registerEntry;
|
|
135
150
|
private checkFactoryInstance;
|
|
136
151
|
private checkInstanceScope;
|
|
137
|
-
private getOrCreateServiceInstance;
|
|
138
152
|
private getOrCreateInjectable;
|
|
139
153
|
private createServiceInstance;
|
|
140
154
|
private createObjectInstance;
|
|
@@ -121,8 +121,10 @@ class SingletonServiceFactory {
|
|
|
121
121
|
}
|
|
122
122
|
exports.SingletonServiceFactory = SingletonServiceFactory;
|
|
123
123
|
class ServiceMap {
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
/** Creates a new ServiceMap instance; note: the services parameter is for internal purposes and should not be used. */
|
|
125
|
+
constructor(services = new Map()) {
|
|
126
|
+
this.services = services;
|
|
127
|
+
this.instances = new Map();
|
|
126
128
|
// the thisFactory is necessary for scoped collections
|
|
127
129
|
const thisFactory = { create: () => this };
|
|
128
130
|
this.registerService(exports.IInstantiationService, "scoped" /* scoped */, thisFactory);
|
|
@@ -140,34 +142,29 @@ class ServiceMap {
|
|
|
140
142
|
}
|
|
141
143
|
createScope() {
|
|
142
144
|
const parent = this;
|
|
145
|
+
const getOrCreateServiceInstanceFromParent = this.getOrCreateServiceInstance.bind(this);
|
|
143
146
|
return new class extends ServiceMap {
|
|
144
147
|
constructor() {
|
|
145
|
-
super();
|
|
146
|
-
// The service map registers a few built-in services that need to be handled a little differently
|
|
147
|
-
// -- if the service is singleton/instance it gets copied from the parent
|
|
148
|
-
// -- if the service is scoped/transient do not overwrite the entry from the parent
|
|
149
|
-
for (const entry of parent.services.values()) {
|
|
150
|
-
if (entry.scope === "singleton" /* singleton */ || entry.scope === "instance" /* instance */) {
|
|
151
|
-
// copy the singleton entry directly to the scoped collection - it's possible the instance has not yet been created so the entire entry gets copied down
|
|
152
|
-
this.registerEntry(entry);
|
|
153
|
-
}
|
|
154
|
-
else if (!this.services.has(entry.service.key)) {
|
|
155
|
-
// create a new entry for scoped/transient services
|
|
156
|
-
this.registerEntry({ ...entry, instance: undefined });
|
|
157
|
-
}
|
|
158
|
-
}
|
|
148
|
+
super(parent.services);
|
|
159
149
|
this.freeze();
|
|
160
150
|
}
|
|
161
151
|
dispose() {
|
|
162
|
-
for (const
|
|
163
|
-
//
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
service.instance.dispose();
|
|
152
|
+
for (const instance of this.instances.values()) {
|
|
153
|
+
// dispose instances created and referenced by the scope; this will be scoped and transient instances
|
|
154
|
+
// also make sure we don't dispose the current instance as that will cause a stack overflow
|
|
155
|
+
if (instance !== this && isDisposable(instance)) {
|
|
156
|
+
instance.dispose();
|
|
168
157
|
}
|
|
169
158
|
}
|
|
170
|
-
this.
|
|
159
|
+
this.instances.clear();
|
|
160
|
+
}
|
|
161
|
+
getOrCreateServiceInstance(key, ancestors) {
|
|
162
|
+
const entry = this.services.get(key);
|
|
163
|
+
if (entry !== undefined && (entry.scope === "singleton" /* singleton */ || entry.scope === "instance" /* instance */)) {
|
|
164
|
+
// if the service is an instance or singleton call up the parent chain and get the instance from the root
|
|
165
|
+
return getOrCreateServiceInstanceFromParent(key, ancestors);
|
|
166
|
+
}
|
|
167
|
+
return super.getOrCreateServiceInstance(key, ancestors);
|
|
171
168
|
}
|
|
172
169
|
};
|
|
173
170
|
}
|
|
@@ -182,11 +179,8 @@ class ServiceMap {
|
|
|
182
179
|
throw new Error("instance undefined");
|
|
183
180
|
}
|
|
184
181
|
// TODO: check if the instance constructor has a required scope - if so, verify its a singleton
|
|
185
|
-
this.
|
|
186
|
-
|
|
187
|
-
scope: "instance" /* instance */,
|
|
188
|
-
instance
|
|
189
|
-
});
|
|
182
|
+
this.instances.set(service.key, instance);
|
|
183
|
+
this.services.set(service.key, { service, scope: "instance" /* instance */ });
|
|
190
184
|
}
|
|
191
185
|
registerScoped(service, ctorOrFactory) {
|
|
192
186
|
this.registerService(service, "scoped" /* scoped */, ctorOrFactory);
|
|
@@ -250,6 +244,21 @@ class ServiceMap {
|
|
|
250
244
|
freeze() {
|
|
251
245
|
this.isFrozen = true;
|
|
252
246
|
}
|
|
247
|
+
getOrCreateServiceInstance(key, ancestors) {
|
|
248
|
+
const entry = this.services.get(key);
|
|
249
|
+
if (!entry) {
|
|
250
|
+
throw new Error(`Service not registered for key '${key}'.`);
|
|
251
|
+
}
|
|
252
|
+
let current = this.instances.get(key);
|
|
253
|
+
if (current) {
|
|
254
|
+
return current;
|
|
255
|
+
}
|
|
256
|
+
const instance = this.createServiceInstance(entry, ancestors);
|
|
257
|
+
if (entry.scope === "scoped" /* scoped */ || entry.scope === "singleton" /* singleton */) {
|
|
258
|
+
this.instances.set(key, instance);
|
|
259
|
+
}
|
|
260
|
+
return instance;
|
|
261
|
+
}
|
|
253
262
|
registerService(service, scope, ctorOrFactory) {
|
|
254
263
|
this.registerEntry({
|
|
255
264
|
service,
|
|
@@ -281,20 +290,6 @@ class ServiceMap {
|
|
|
281
290
|
throw new Error("Registered service scope is different than the instance required scope");
|
|
282
291
|
}
|
|
283
292
|
}
|
|
284
|
-
getOrCreateServiceInstance(key, ancestors) {
|
|
285
|
-
const entry = this.services.get(key);
|
|
286
|
-
if (!entry) {
|
|
287
|
-
throw new Error(`Service not registered for key '${key}'.`);
|
|
288
|
-
}
|
|
289
|
-
if (entry.instance) {
|
|
290
|
-
return entry.instance;
|
|
291
|
-
}
|
|
292
|
-
const instance = this.createServiceInstance(entry, ancestors);
|
|
293
|
-
if (entry.scope === "scoped" /* scoped */ || entry.scope === "singleton" /* singleton */) {
|
|
294
|
-
entry.instance = instance;
|
|
295
|
-
}
|
|
296
|
-
return instance;
|
|
297
|
-
}
|
|
298
293
|
getOrCreateInjectable(injectable, ancestors) {
|
|
299
294
|
if (this.services.has(injectable.key)) {
|
|
300
295
|
return this.getOrCreateServiceInstance(injectable.key, ancestors);
|
|
@@ -392,4 +387,4 @@ class OptionsService {
|
|
|
392
387
|
return options;
|
|
393
388
|
}
|
|
394
389
|
}
|
|
395
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzR2EsUUFBQSxxQkFBcUIsR0FBRyxhQUFhLENBQXdCLHVCQUF1QixDQUFDLENBQUM7QUFDdEYsUUFBQSxlQUFlLEdBQUcsYUFBYSxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLFFBQUEsa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsU0FBZ0IsTUFBTSxDQUFDLElBQVM7SUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBc0IsQ0FBQztBQUN0QyxDQUFDO0FBRkQsd0JBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFJRCxTQUFnQixnQkFBZ0IsQ0FBSSxZQUE0QztJQUM1RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQVEsVUFBVSxNQUFXLEVBQUUsV0FBbUIsRUFBRSxjQUFzQjtRQUN0RixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RB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
|
|
390
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxR2EsUUFBQSxxQkFBcUIsR0FBRyxhQUFhLENBQXdCLHVCQUF1QixDQUFDLENBQUM7QUFDdEYsUUFBQSxlQUFlLEdBQUcsYUFBYSxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLFFBQUEsa0JBQWtCLEdBQUcsYUFBYSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztBQVN4QixnRkFBZ0Y7QUFDaEYsU0FBZ0IsTUFBTSxDQUFDLElBQVM7SUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBc0IsQ0FBQztBQUN0QyxDQUFDO0FBRkQsd0JBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsU0FBUyxDQUFDLElBQVM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBeUIsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFJRCxTQUFnQixnQkFBZ0IsQ0FBSSxZQUE0QztJQUM1RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQVEsVUFBVSxNQUFXLEVBQUUsV0FBbUIsRUFBRSxjQUFzQjtRQUN0RixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RB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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.28",
|
|
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": "e44c4305d5785b9136179ca7f915ae6b15677383"
|
|
26
26
|
}
|