@spinajs/di 1.0.19 → 1.1.5
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/lib/container.d.ts +18 -2
- package/lib/container.js +58 -19
- package/lib/container.js.map +1 -1
- package/lib/decorators.d.ts +1 -22
- package/lib/decorators.js +2 -37
- package/lib/decorators.js.map +1 -1
- package/lib/exceptions.d.ts +10 -0
- package/lib/exceptions.js +17 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +13 -6
- package/lib/interfaces.js +18 -3
- package/lib/interfaces.js.map +1 -1
- package/lib/root.d.ts +32 -1
- package/lib/root.js +85 -2
- package/lib/root.js.map +1 -1
- package/package.json +2 -1
package/lib/container.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import 'reflect-metadata';
|
|
2
3
|
import { TypedArray } from './array';
|
|
3
4
|
import { IBind, IContainer, AsyncModule } from './interfaces';
|
|
4
5
|
import { Class, Factory } from './types';
|
|
6
|
+
import { EventEmitter } from "events";
|
|
5
7
|
/**
|
|
6
8
|
* Dependency injection container implementation
|
|
7
9
|
*/
|
|
8
|
-
export declare class Container implements IContainer {
|
|
10
|
+
export declare class Container extends EventEmitter implements IContainer {
|
|
9
11
|
/**
|
|
10
12
|
* Handles information about what is registered as what
|
|
11
13
|
* eg. that class IConfiguration should be resolved as DatabaseConfiguration etc.
|
|
@@ -28,9 +30,17 @@ export declare class Container implements IContainer {
|
|
|
28
30
|
get Registry(): Map<string, Array<Class<any>>>;
|
|
29
31
|
constructor(parent?: IContainer);
|
|
30
32
|
/**
|
|
31
|
-
* Clears container registry and cache.
|
|
33
|
+
* Clears container registry and cache. shorthand for container.clearCache() && container.clearRegistry()
|
|
32
34
|
*/
|
|
33
35
|
clear(): void;
|
|
36
|
+
/**
|
|
37
|
+
* clears container registered types information
|
|
38
|
+
*/
|
|
39
|
+
clearCache(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Clears container resolved types
|
|
42
|
+
*/
|
|
43
|
+
clearRegistry(): void;
|
|
34
44
|
/**
|
|
35
45
|
* Register class/interface to DI.
|
|
36
46
|
* @param type - interface object to register
|
|
@@ -45,6 +55,11 @@ export declare class Container implements IContainer {
|
|
|
45
55
|
/**
|
|
46
56
|
* Gets already resolved services. Works only for singleton classes.
|
|
47
57
|
*
|
|
58
|
+
* Do not try to get service by factory func, it will always return null.
|
|
59
|
+
* If you somehowe want to cache instances created by factory functions,
|
|
60
|
+
* factory itself should do that somehow and end user should always resolve by
|
|
61
|
+
* assigned type
|
|
62
|
+
*
|
|
48
63
|
* @param serviceName - name of service to get
|
|
49
64
|
* @returns { null | T} - null if no service has been resolved at given name
|
|
50
65
|
*/
|
|
@@ -90,6 +105,7 @@ export declare class Container implements IContainer {
|
|
|
90
105
|
*/
|
|
91
106
|
resolve<T>(type: TypedArray<T>, options?: any[], check?: boolean): T extends AsyncModule ? Promise<T[]> : T[];
|
|
92
107
|
resolve<T>(type: TypedArray<T>, check?: boolean): T extends AsyncModule ? Promise<T[]> : T[];
|
|
108
|
+
private resolveArrayType;
|
|
93
109
|
private resolveType;
|
|
94
110
|
private _hasRegisteredType;
|
|
95
111
|
private registerSelf;
|
package/lib/container.js
CHANGED
|
@@ -9,11 +9,14 @@ const decorators_1 = require("./decorators");
|
|
|
9
9
|
const enums_1 = require("./enums");
|
|
10
10
|
const helpers_1 = require("./helpers");
|
|
11
11
|
const interfaces_1 = require("./interfaces");
|
|
12
|
+
const events_1 = require("events");
|
|
13
|
+
const exceptions_2 = require("./exceptions");
|
|
12
14
|
/**
|
|
13
15
|
* Dependency injection container implementation
|
|
14
16
|
*/
|
|
15
|
-
class Container {
|
|
17
|
+
class Container extends events_1.EventEmitter {
|
|
16
18
|
constructor(parent) {
|
|
19
|
+
super();
|
|
17
20
|
this.registry = new Map();
|
|
18
21
|
this.cache = new Map();
|
|
19
22
|
this.parent = parent || undefined;
|
|
@@ -29,11 +32,22 @@ class Container {
|
|
|
29
32
|
return this.registry;
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
|
-
* Clears container registry and cache.
|
|
35
|
+
* Clears container registry and cache. shorthand for container.clearCache() && container.clearRegistry()
|
|
33
36
|
*/
|
|
34
37
|
clear() {
|
|
38
|
+
this.clearCache();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* clears container registered types information
|
|
42
|
+
*/
|
|
43
|
+
clearCache() {
|
|
35
44
|
this.cache.clear();
|
|
36
45
|
this.cache = new Map();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Clears container resolved types
|
|
49
|
+
*/
|
|
50
|
+
clearRegistry() {
|
|
37
51
|
this.registry.clear();
|
|
38
52
|
this.registerSelf();
|
|
39
53
|
}
|
|
@@ -97,11 +111,21 @@ class Container {
|
|
|
97
111
|
if (typeof identifier === 'string') {
|
|
98
112
|
return _get(identifier);
|
|
99
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* When we try to get type by factory func, always return null
|
|
116
|
+
* It's technically an arror becouse factory func in in charge now
|
|
117
|
+
* of managing intances of created objects (eg. creating cache)
|
|
118
|
+
*
|
|
119
|
+
* We do not track of any instances created by factory funcions.
|
|
120
|
+
*/
|
|
121
|
+
const isFactory = !helpers_1.isConstructor(identifier[identifier.length - 1]) && _.isFunction(identifier[identifier.length - 1]);
|
|
122
|
+
if (isFactory) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
100
125
|
if (service instanceof array_1.TypedArray) {
|
|
101
126
|
return identifier.map(t => _get(t.name));
|
|
102
127
|
}
|
|
103
|
-
|
|
104
|
-
return _get(isFactory ? (typeof service === 'string' ? service : service.name) : identifier[0].name);
|
|
128
|
+
return _get(identifier[identifier.length - 1].name);
|
|
105
129
|
function _get(i) {
|
|
106
130
|
if (self.cache.has(i)) {
|
|
107
131
|
return self.cache.get(i);
|
|
@@ -185,7 +209,7 @@ class Container {
|
|
|
185
209
|
return this.resolveType(sourceType, targetType[targetType.length - 1], opt);
|
|
186
210
|
}
|
|
187
211
|
if (isArray) {
|
|
188
|
-
const resolved = targetType.map(r => this.
|
|
212
|
+
const resolved = targetType.map(r => this.resolveArrayType(sourceType, r, opt));
|
|
189
213
|
if (resolved.some(r => r instanceof Promise)) {
|
|
190
214
|
return Promise.all(resolved);
|
|
191
215
|
}
|
|
@@ -193,14 +217,27 @@ class Container {
|
|
|
193
217
|
}
|
|
194
218
|
return this.resolveType(sourceType, targetType[targetType.length - 1], opt);
|
|
195
219
|
}
|
|
220
|
+
resolveArrayType(sourceType, targetType, options) {
|
|
221
|
+
const tname = typeof sourceType === 'string' ? sourceType : sourceType.name;
|
|
222
|
+
if (!this.Registry.has(tname)) {
|
|
223
|
+
throw new exceptions_2.ResolveException(`Cannot resolve array of type ${tname}, no types are registered in container.`);
|
|
224
|
+
}
|
|
225
|
+
return this.resolveType(sourceType, targetType, options);
|
|
226
|
+
}
|
|
196
227
|
resolveType(sourceType, targetType, options) {
|
|
197
228
|
const self = this;
|
|
198
229
|
const descriptor = _extractDescriptor(targetType);
|
|
199
230
|
const isFactory = !helpers_1.isConstructor(targetType) && _.isFunction(targetType);
|
|
231
|
+
/**
|
|
232
|
+
* If its a factory func, always resolve as new instance
|
|
233
|
+
*/
|
|
234
|
+
if (isFactory) {
|
|
235
|
+
return _getNewInstance(targetType);
|
|
236
|
+
}
|
|
200
237
|
// check cache if needed
|
|
201
238
|
if (descriptor.resolver === enums_1.ResolveType.Singleton || descriptor.resolver === enums_1.ResolveType.PerChildContainer) {
|
|
202
|
-
if (this.has(
|
|
203
|
-
return this.get(
|
|
239
|
+
if (this.has(targetType, descriptor.resolver === enums_1.ResolveType.Singleton)) {
|
|
240
|
+
return this.get(targetType);
|
|
204
241
|
}
|
|
205
242
|
}
|
|
206
243
|
const deps = _resolveDeps(descriptor.inject);
|
|
@@ -208,8 +245,7 @@ class Container {
|
|
|
208
245
|
return deps
|
|
209
246
|
.then(resolvedDependencies => {
|
|
210
247
|
return _resolve(descriptor, targetType, resolvedDependencies);
|
|
211
|
-
})
|
|
212
|
-
.then(_setCache);
|
|
248
|
+
}).then(_setCache);
|
|
213
249
|
}
|
|
214
250
|
else {
|
|
215
251
|
const resInstance = _resolve(descriptor, targetType, deps);
|
|
@@ -219,14 +255,12 @@ class Container {
|
|
|
219
255
|
_setCache(resInstance);
|
|
220
256
|
return resInstance;
|
|
221
257
|
}
|
|
258
|
+
function _getNameOfResolvedType() {
|
|
259
|
+
return targetType.name;
|
|
260
|
+
}
|
|
222
261
|
function _setCache(r) {
|
|
223
|
-
const isFactory = !helpers_1.isConstructor(targetType) && _.isFunction(targetType);
|
|
224
262
|
const checkParent = descriptor.resolver === enums_1.ResolveType.Singleton;
|
|
225
|
-
const toCheck =
|
|
226
|
-
? typeof sourceType === 'string'
|
|
227
|
-
? sourceType
|
|
228
|
-
: sourceType.name
|
|
229
|
-
: targetType.name;
|
|
263
|
+
const toCheck = _getNameOfResolvedType();
|
|
230
264
|
if (!self.has(toCheck, checkParent)) {
|
|
231
265
|
self.Cache.set(toCheck, r);
|
|
232
266
|
}
|
|
@@ -261,12 +295,12 @@ class Container {
|
|
|
261
295
|
if (!t) {
|
|
262
296
|
return;
|
|
263
297
|
}
|
|
298
|
+
reduce(t.prototype);
|
|
299
|
+
reduce(t.__proto__);
|
|
264
300
|
if (t[decorators_1.DI_DESCRIPTION_SYMBOL]) {
|
|
265
301
|
descriptor.inject = descriptor.inject.concat(t[decorators_1.DI_DESCRIPTION_SYMBOL].inject);
|
|
266
302
|
descriptor.resolver = t[decorators_1.DI_DESCRIPTION_SYMBOL].resolver;
|
|
267
303
|
}
|
|
268
|
-
reduce(t.prototype);
|
|
269
|
-
reduce(t.__proto__);
|
|
270
304
|
}
|
|
271
305
|
}
|
|
272
306
|
function _resolveDeps(toInject) {
|
|
@@ -324,12 +358,17 @@ class Container {
|
|
|
324
358
|
if (newInstance instanceof interfaces_1.AsyncModule) {
|
|
325
359
|
return new Promise(res => {
|
|
326
360
|
newInstance.resolveAsync(self).then(() => {
|
|
361
|
+
self.emit(`di.resolved.${_getNameOfResolvedType()}`);
|
|
362
|
+
}).then(() => {
|
|
327
363
|
res(newInstance);
|
|
328
364
|
});
|
|
329
365
|
});
|
|
330
366
|
}
|
|
331
|
-
|
|
332
|
-
newInstance.
|
|
367
|
+
else {
|
|
368
|
+
if (newInstance instanceof interfaces_1.SyncModule) {
|
|
369
|
+
newInstance.resolve(self);
|
|
370
|
+
}
|
|
371
|
+
self.emit(`di.resolved.${_getNameOfResolvedType()}`);
|
|
333
372
|
}
|
|
334
373
|
}
|
|
335
374
|
return newInstance;
|
package/lib/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
package/lib/decorators.d.ts
CHANGED
|
@@ -52,28 +52,7 @@ export declare function Injectable(as?: Class | string): (target: any) => void;
|
|
|
52
52
|
*
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
export declare function Inject(...args: Class
|
|
56
|
-
/**
|
|
57
|
-
* Sets dependency injection guidelines - what to inject for specified class. If multiple instances are registered at specified type,
|
|
58
|
-
* all of them are resolved and injected
|
|
59
|
-
* @param args - what to inject - class definitions
|
|
60
|
-
* @example
|
|
61
|
-
* ```javascript
|
|
62
|
-
*
|
|
63
|
-
* @InjectAll(Bar)
|
|
64
|
-
* class Foo{
|
|
65
|
-
*
|
|
66
|
-
* barInstances : Bar[];
|
|
67
|
-
*
|
|
68
|
-
* constructor(bars : Bar[]){
|
|
69
|
-
* // all Bar implementations are injected when Foo is created via DI container
|
|
70
|
-
* this.barInstances = bar;
|
|
71
|
-
* }
|
|
72
|
-
* }
|
|
73
|
-
*
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
export declare function InjectAll(...args: Class[]): any;
|
|
55
|
+
export declare function Inject(...args: Array<(Class | TypedArray<any>)>): any;
|
|
77
56
|
/**
|
|
78
57
|
* Automatically injects dependency based on reflected property type. Uses experimental typescript reflection api
|
|
79
58
|
* If decorator is applied to array property all registered type instances are injected, otherwise only first / only that exists
|
package/lib/decorators.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Singleton = exports.NewInstance = exports.PerChildInstance = exports.LazyInject = exports.Autoinject = exports.
|
|
3
|
+
exports.Singleton = exports.NewInstance = exports.PerChildInstance = exports.LazyInject = exports.Autoinject = exports.Inject = exports.Injectable = exports.DI_DESCRIPTION_SYMBOL = void 0;
|
|
4
4
|
const enums_1 = require("./enums");
|
|
5
5
|
const root_1 = require("./root");
|
|
6
6
|
exports.DI_DESCRIPTION_SYMBOL = Symbol.for('DI_INJECTION_DESCRIPTOR');
|
|
@@ -86,7 +86,6 @@ function Inject(...args) {
|
|
|
86
86
|
return AddDependency((descriptor) => {
|
|
87
87
|
for (const a of args) {
|
|
88
88
|
descriptor.inject.push({
|
|
89
|
-
all: false,
|
|
90
89
|
autoinject: false,
|
|
91
90
|
autoinjectKey: '',
|
|
92
91
|
inject: a,
|
|
@@ -95,39 +94,6 @@ function Inject(...args) {
|
|
|
95
94
|
});
|
|
96
95
|
}
|
|
97
96
|
exports.Inject = Inject;
|
|
98
|
-
/**
|
|
99
|
-
* Sets dependency injection guidelines - what to inject for specified class. If multiple instances are registered at specified type,
|
|
100
|
-
* all of them are resolved and injected
|
|
101
|
-
* @param args - what to inject - class definitions
|
|
102
|
-
* @example
|
|
103
|
-
* ```javascript
|
|
104
|
-
*
|
|
105
|
-
* @InjectAll(Bar)
|
|
106
|
-
* class Foo{
|
|
107
|
-
*
|
|
108
|
-
* barInstances : Bar[];
|
|
109
|
-
*
|
|
110
|
-
* constructor(bars : Bar[]){
|
|
111
|
-
* // all Bar implementations are injected when Foo is created via DI container
|
|
112
|
-
* this.barInstances = bar;
|
|
113
|
-
* }
|
|
114
|
-
* }
|
|
115
|
-
*
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
function InjectAll(...args) {
|
|
119
|
-
return AddDependency((descriptor) => {
|
|
120
|
-
for (const a of args) {
|
|
121
|
-
descriptor.inject.push({
|
|
122
|
-
all: true,
|
|
123
|
-
autoinject: false,
|
|
124
|
-
autoinjectKey: '',
|
|
125
|
-
inject: a,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
exports.InjectAll = InjectAll;
|
|
131
97
|
/**
|
|
132
98
|
* Automatically injects dependency based on reflected property type. Uses experimental typescript reflection api
|
|
133
99
|
* If decorator is applied to array property all registered type instances are injected, otherwise only first / only that exists
|
|
@@ -162,10 +128,9 @@ function Autoinject(injectType) {
|
|
|
162
128
|
throw new Error('you must provide inject type when injecting array');
|
|
163
129
|
}
|
|
164
130
|
descriptor.inject.push({
|
|
165
|
-
all: isArray ? true : false,
|
|
166
131
|
autoinject: true,
|
|
167
132
|
autoinjectKey: propertyKey,
|
|
168
|
-
inject: isArray ? injectType : type,
|
|
133
|
+
inject: isArray ? Array.ofType(injectType) : type,
|
|
169
134
|
});
|
|
170
135
|
});
|
|
171
136
|
}
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,iCAA4B;AAEf,QAAA,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE3E,SAAS,aAAa,CACpB,QAKS;IAET,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,iBAA8C,EAAE,EAAE;QACnG,IAAI,UAAU,GAA2B,MAAM,CAAC,6BAAqB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG;gBACX,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,mBAAW,CAAC,SAAS;aAChC,CAAC;YAEF,MAAM,CAAC,6BAAqB,CAAC,GAAG,UAAU,CAAC;SAC5C;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,UAAU,CAAC,EAAmB;IAC5C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAI,EAAE,EAAE;YACN,SAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B;aAAM;YACL,SAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AARD,gCAQC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,iCAA4B;AAEf,QAAA,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE3E,SAAS,aAAa,CACpB,QAKS;IAET,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,iBAA8C,EAAE,EAAE;QACnG,IAAI,UAAU,GAA2B,MAAM,CAAC,6BAAqB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG;gBACX,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,mBAAW,CAAC,SAAS;aAChC,CAAC;YAEF,MAAM,CAAC,6BAAqB,CAAC,GAAG,UAAU,CAAC;SAC5C;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,UAAU,CAAC,EAAmB;IAC5C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAI,EAAE,EAAE;YACN,SAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B;aAAM;YACL,SAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AARD,gCAQC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,MAAM,CAAC,GAAG,IAAsC;IAC9D,OAAO,aAAa,CAAC,CAAC,UAA6B,EAAE,EAAE;QACrD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YACpB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrB,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAQ;aACjB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,wBAUC;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,UAAU,CAAC,UAAkB;IAC3C,OAAO,aAAa,CAAC,CAAC,UAA6B,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QACvF,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QAEtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,UAAU,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACrB,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,gCAeC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,UAAU,CAAC,OAAuB;IAChD,OAAO,CAAC,MAAY,EAAE,GAAY,EAAE,EAAE;QACpC,kBAAkB;QAClB,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,OAAO,SAAE,CAAC,GAAG,CAAM,OAAO,CAAC,CAAC;aAC7B;iBAAM;gBACL,OAAO,SAAE,CAAC,OAAO,CAAM,OAAO,CAAC,CAAC;aACjC;QACH,CAAC,CAAC;QAEF,6CAA6C;QAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAlBD,gCAkBC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,aAAa,CAAC,CAAC,UAA6B,EAAE,EAAE;QACrD,UAAU,CAAC,QAAQ,GAAG,mBAAW,CAAC,iBAAiB,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,4CAIC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,aAAa,CAAC,CAAC,UAA6B,EAAE,EAAE;QACrD,UAAU,CAAC,QAAQ,GAAG,mBAAW,CAAC,WAAW,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,kCAIC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAFD,8BAEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResolveException = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Exception thrown when cannot resolve type
|
|
6
|
+
*/
|
|
7
|
+
class ResolveException extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Constructs new exception with message
|
|
10
|
+
* @param message - error message
|
|
11
|
+
*/
|
|
12
|
+
constructor(message) {
|
|
13
|
+
super(message);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ResolveException = ResolveException;
|
|
17
|
+
//# sourceMappingURL=exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IACvC;;;OAGG;IACH,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AARD,4CAQC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./types"), exports);
|
|
|
18
18
|
__exportStar(require("./helpers"), exports);
|
|
19
19
|
__exportStar(require("./container"), exports);
|
|
20
20
|
__exportStar(require("./root"), exports);
|
|
21
|
+
__exportStar(require("./exceptions"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { ResolveType } from './enums';
|
|
2
3
|
import { Class, Factory } from './types';
|
|
4
|
+
import { EventEmitter } from "events";
|
|
3
5
|
/**
|
|
4
6
|
* Interface to describe DI binding behaviour
|
|
5
7
|
*/
|
|
@@ -23,10 +25,12 @@ export interface IBind {
|
|
|
23
25
|
*/
|
|
24
26
|
singleInstance(): this;
|
|
25
27
|
}
|
|
26
|
-
export interface IContainer {
|
|
28
|
+
export interface IContainer extends EventEmitter {
|
|
27
29
|
Cache: Map<string, any[] | any>;
|
|
28
30
|
Registry: Map<string, any[] | any>;
|
|
29
31
|
clear(): void;
|
|
32
|
+
clearRegistry(): void;
|
|
33
|
+
clearCache(): void;
|
|
30
34
|
register<T>(implementation: Class<T> | Factory<T>): IBind;
|
|
31
35
|
child(): IContainer;
|
|
32
36
|
get<T>(service: TypedArray<T>, parent?: boolean): T[];
|
|
@@ -52,7 +56,6 @@ export interface IInjectDescriptor<T = any> {
|
|
|
52
56
|
export interface IToInject<T = any> {
|
|
53
57
|
inject: Class<T>;
|
|
54
58
|
autoinject: boolean;
|
|
55
|
-
all: boolean;
|
|
56
59
|
autoinjectKey: string;
|
|
57
60
|
}
|
|
58
61
|
export interface IResolvedInjection {
|
|
@@ -68,9 +71,13 @@ export interface IResolvedInjection {
|
|
|
68
71
|
*
|
|
69
72
|
* @see FrameworkModuleSyncModule implementation
|
|
70
73
|
*/
|
|
71
|
-
export declare
|
|
72
|
-
|
|
74
|
+
export declare class Module {
|
|
75
|
+
protected resolved: boolean;
|
|
76
|
+
get Resolved(): boolean;
|
|
73
77
|
}
|
|
74
|
-
export declare abstract class
|
|
75
|
-
|
|
78
|
+
export declare abstract class SyncModule extends Module {
|
|
79
|
+
resolve(_: IContainer): void;
|
|
80
|
+
}
|
|
81
|
+
export declare class AsyncModule extends Module {
|
|
82
|
+
resolveAsync(_: IContainer): Promise<void>;
|
|
76
83
|
}
|
package/lib/interfaces.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncModule = exports.SyncModule = void 0;
|
|
3
|
+
exports.AsyncModule = exports.SyncModule = exports.Module = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Interface to describe DI resolve strategies. Strategies are used do
|
|
6
6
|
* do some work at object creation eg. initialize objects that inherits from same class
|
|
@@ -15,10 +15,25 @@ exports.AsyncModule = exports.SyncModule = void 0;
|
|
|
15
15
|
// export interface IAsyncStrategy {
|
|
16
16
|
// resolveA: (target: any, container: IContainer) => Promise<void>;
|
|
17
17
|
// }
|
|
18
|
-
class
|
|
18
|
+
class Module {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.resolved = false;
|
|
21
|
+
}
|
|
22
|
+
get Resolved() {
|
|
23
|
+
return this.resolved;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.Module = Module;
|
|
27
|
+
class SyncModule extends Module {
|
|
28
|
+
resolve(_) {
|
|
29
|
+
this.resolved = true;
|
|
30
|
+
}
|
|
19
31
|
}
|
|
20
32
|
exports.SyncModule = SyncModule;
|
|
21
|
-
class AsyncModule {
|
|
33
|
+
class AsyncModule extends Module {
|
|
34
|
+
async resolveAsync(_) {
|
|
35
|
+
this.resolved = true;
|
|
36
|
+
}
|
|
22
37
|
}
|
|
23
38
|
exports.AsyncModule = AsyncModule;
|
|
24
39
|
//# sourceMappingURL=interfaces.js.map
|
package/lib/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAsFA;;;;;;;GAOG;AACH,+BAA+B;AAC/B,6DAA6D;AAC7D,IAAI;AAEJ,oCAAoC;AACpC,uEAAuE;AACvE,IAAI;AAEJ,MAAa,MAAM;IAAnB;QACY,aAAQ,GAAY,KAAK,CAAC;IAItC,CAAC;IAHC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AALD,wBAKC;AAED,MAAsB,UAAW,SAAQ,MAAM;IAEtC,OAAO,CAAC,CAAa;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CAEF;AAND,gCAMC;AAED,MAAa,WAAY,SAAQ,MAAM;IAC9B,KAAK,CAAC,YAAY,CAAC,CAAa;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAJD,kCAIC"}
|
package/lib/root.d.ts
CHANGED
|
@@ -5,12 +5,43 @@ export declare namespace DI {
|
|
|
5
5
|
* App main DI container
|
|
6
6
|
*/
|
|
7
7
|
const RootContainer: IContainer;
|
|
8
|
+
/***
|
|
9
|
+
* EVENT LISTENER STUFF
|
|
10
|
+
*
|
|
11
|
+
* Allows to use event listener stuff on root container
|
|
12
|
+
*/
|
|
13
|
+
function on(event: string, listener: (...args: any) => void): IContainer;
|
|
14
|
+
function addListener(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
15
|
+
function once(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
16
|
+
function removeListener(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
17
|
+
function off(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
18
|
+
function removeAllListeners(event?: string | symbol): IContainer;
|
|
19
|
+
function setMaxListeners(n: number): IContainer;
|
|
20
|
+
function getMaxListeners(): number;
|
|
21
|
+
function listeners(event: string | symbol): Function[];
|
|
22
|
+
function rawListeners(event: string | symbol): Function[];
|
|
23
|
+
function emit(event: string | symbol, ...args: any[]): boolean;
|
|
24
|
+
function listenerCount(type: string | symbol): number;
|
|
25
|
+
function prependListener(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
26
|
+
function prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): IContainer;
|
|
27
|
+
function eventNames(): Array<string | symbol>;
|
|
28
|
+
/**
|
|
29
|
+
* ===========================================================================
|
|
30
|
+
*/
|
|
8
31
|
/**
|
|
9
32
|
* Clears root container registry and cache.
|
|
10
33
|
*/
|
|
11
34
|
function clear(): void;
|
|
12
35
|
/**
|
|
13
|
-
*
|
|
36
|
+
* Clears out root registry ( registered types in root container )
|
|
37
|
+
*/
|
|
38
|
+
function clearRegistry(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Cleart ous root cache ( all resolved types )
|
|
41
|
+
*/
|
|
42
|
+
function clearCache(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Register class/interface to DI root container. If
|
|
14
45
|
* @param type - interface object to register
|
|
15
46
|
* @throws { InvalidArgument } if type is null or undefined
|
|
16
47
|
*/
|
package/lib/root.js
CHANGED
|
@@ -9,15 +9,98 @@ var DI;
|
|
|
9
9
|
* App main DI container
|
|
10
10
|
*/
|
|
11
11
|
DI.RootContainer = new container_1.Container();
|
|
12
|
+
/***
|
|
13
|
+
* EVENT LISTENER STUFF
|
|
14
|
+
*
|
|
15
|
+
* Allows to use event listener stuff on root container
|
|
16
|
+
*/
|
|
17
|
+
function on(event, listener) {
|
|
18
|
+
return DI.RootContainer.on(event, listener);
|
|
19
|
+
}
|
|
20
|
+
DI.on = on;
|
|
21
|
+
function addListener(event, listener) {
|
|
22
|
+
return DI.RootContainer.addListener(event, listener);
|
|
23
|
+
}
|
|
24
|
+
DI.addListener = addListener;
|
|
25
|
+
function once(event, listener) {
|
|
26
|
+
return DI.RootContainer.once(event, listener);
|
|
27
|
+
}
|
|
28
|
+
DI.once = once;
|
|
29
|
+
function removeListener(event, listener) {
|
|
30
|
+
return DI.RootContainer.removeListener(event, listener);
|
|
31
|
+
}
|
|
32
|
+
DI.removeListener = removeListener;
|
|
33
|
+
function off(event, listener) {
|
|
34
|
+
return DI.RootContainer.off(event, listener);
|
|
35
|
+
}
|
|
36
|
+
DI.off = off;
|
|
37
|
+
function removeAllListeners(event) {
|
|
38
|
+
return DI.RootContainer.removeAllListeners(event);
|
|
39
|
+
}
|
|
40
|
+
DI.removeAllListeners = removeAllListeners;
|
|
41
|
+
function setMaxListeners(n) {
|
|
42
|
+
return DI.RootContainer.setMaxListeners(n);
|
|
43
|
+
}
|
|
44
|
+
DI.setMaxListeners = setMaxListeners;
|
|
45
|
+
function getMaxListeners() {
|
|
46
|
+
return DI.RootContainer.getMaxListeners();
|
|
47
|
+
}
|
|
48
|
+
DI.getMaxListeners = getMaxListeners;
|
|
49
|
+
function listeners(event) {
|
|
50
|
+
return DI.RootContainer.listeners(event);
|
|
51
|
+
}
|
|
52
|
+
DI.listeners = listeners;
|
|
53
|
+
function rawListeners(event) {
|
|
54
|
+
return DI.RootContainer.rawListeners(event);
|
|
55
|
+
}
|
|
56
|
+
DI.rawListeners = rawListeners;
|
|
57
|
+
function emit(event, ...args) {
|
|
58
|
+
return DI.RootContainer.emit(event, ...args);
|
|
59
|
+
}
|
|
60
|
+
DI.emit = emit;
|
|
61
|
+
function listenerCount(type) {
|
|
62
|
+
return DI.RootContainer.listenerCount(type);
|
|
63
|
+
}
|
|
64
|
+
DI.listenerCount = listenerCount;
|
|
65
|
+
function prependListener(event, listener) {
|
|
66
|
+
return DI.RootContainer.prependListener(event, listener);
|
|
67
|
+
}
|
|
68
|
+
DI.prependListener = prependListener;
|
|
69
|
+
function prependOnceListener(event, listener) {
|
|
70
|
+
return DI.RootContainer.prependOnceListener(event, listener);
|
|
71
|
+
}
|
|
72
|
+
DI.prependOnceListener = prependOnceListener;
|
|
73
|
+
function eventNames() {
|
|
74
|
+
return DI.RootContainer.eventNames();
|
|
75
|
+
}
|
|
76
|
+
DI.eventNames = eventNames;
|
|
77
|
+
/**
|
|
78
|
+
* ===========================================================================
|
|
79
|
+
*/
|
|
12
80
|
/**
|
|
13
81
|
* Clears root container registry and cache.
|
|
14
82
|
*/
|
|
15
83
|
function clear() {
|
|
16
|
-
DI.RootContainer.
|
|
84
|
+
DI.RootContainer.clearCache();
|
|
85
|
+
DI.RootContainer.clearRegistry();
|
|
17
86
|
}
|
|
18
87
|
DI.clear = clear;
|
|
19
88
|
/**
|
|
20
|
-
*
|
|
89
|
+
* Clears out root registry ( registered types in root container )
|
|
90
|
+
*/
|
|
91
|
+
function clearRegistry() {
|
|
92
|
+
DI.RootContainer.clearRegistry();
|
|
93
|
+
}
|
|
94
|
+
DI.clearRegistry = clearRegistry;
|
|
95
|
+
/**
|
|
96
|
+
* Cleart ous root cache ( all resolved types )
|
|
97
|
+
*/
|
|
98
|
+
function clearCache() {
|
|
99
|
+
DI.RootContainer.clearCache();
|
|
100
|
+
}
|
|
101
|
+
DI.clearCache = clearCache;
|
|
102
|
+
/**
|
|
103
|
+
* Register class/interface to DI root container. If
|
|
21
104
|
* @param type - interface object to register
|
|
22
105
|
* @throws { InvalidArgument } if type is null or undefined
|
|
23
106
|
*/
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAIxC,yCAAyC;AACzC,IAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/di",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "lightweight di container ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"coverage": "nyc npm run test",
|
|
9
9
|
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
10
10
|
"build": "tsc",
|
|
11
|
+
"build-watch": "tsc -w",
|
|
11
12
|
"prepare": "npm run build",
|
|
12
13
|
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
13
14
|
"lint": "tslint -p tsconfig.json",
|