@spinajs/di 1.0.16 → 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/array.js +1 -0
- package/lib/array.js.map +1 -1
- package/lib/container.d.ts +18 -2
- package/lib/container.js +60 -16
- package/lib/container.js.map +1 -1
- package/lib/decorators.d.ts +1 -22
- package/lib/decorators.js +2 -36
- package/lib/decorators.js.map +1 -1
- package/lib/enums.js +1 -0
- package/lib/enums.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/helpers.js +1 -0
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +19 -10
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +13 -6
- package/lib/interfaces.js +18 -2
- package/lib/interfaces.js.map +1 -1
- package/lib/root.d.ts +32 -1
- package/lib/root.js +86 -2
- package/lib/root.js.map +1 -1
- package/package.json +3 -2
package/lib/array.js
CHANGED
package/lib/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,gDAAgD
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,gDAAgD;;;AAIhD,MAAa,UAAc,SAAQ,KAAQ;IACzC,YAAmB,IAAc;QAC/B,KAAK,EAAE,CAAC;QADS,SAAI,GAAJ,IAAI,CAAU;IAEjC,CAAC;CACF;AAJD,gCAIC;AAED,iDAAiD;AACjD,KAAK,CAAC,MAAM,GAAG,UAAY,IAAc;IACvC,OAAO,IAAI,UAAU,CAAI,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC"}
|
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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Container = void 0;
|
|
3
4
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
4
5
|
const _ = require("lodash");
|
|
5
6
|
require("reflect-metadata");
|
|
@@ -8,11 +9,14 @@ const decorators_1 = require("./decorators");
|
|
|
8
9
|
const enums_1 = require("./enums");
|
|
9
10
|
const helpers_1 = require("./helpers");
|
|
10
11
|
const interfaces_1 = require("./interfaces");
|
|
12
|
+
const events_1 = require("events");
|
|
13
|
+
const exceptions_2 = require("./exceptions");
|
|
11
14
|
/**
|
|
12
15
|
* Dependency injection container implementation
|
|
13
16
|
*/
|
|
14
|
-
class Container {
|
|
17
|
+
class Container extends events_1.EventEmitter {
|
|
15
18
|
constructor(parent) {
|
|
19
|
+
super();
|
|
16
20
|
this.registry = new Map();
|
|
17
21
|
this.cache = new Map();
|
|
18
22
|
this.parent = parent || undefined;
|
|
@@ -28,11 +32,22 @@ class Container {
|
|
|
28
32
|
return this.registry;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
|
-
* Clears container registry and cache.
|
|
35
|
+
* Clears container registry and cache. shorthand for container.clearCache() && container.clearRegistry()
|
|
32
36
|
*/
|
|
33
37
|
clear() {
|
|
38
|
+
this.clearCache();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* clears container registered types information
|
|
42
|
+
*/
|
|
43
|
+
clearCache() {
|
|
34
44
|
this.cache.clear();
|
|
35
45
|
this.cache = new Map();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Clears container resolved types
|
|
49
|
+
*/
|
|
50
|
+
clearRegistry() {
|
|
36
51
|
this.registry.clear();
|
|
37
52
|
this.registerSelf();
|
|
38
53
|
}
|
|
@@ -73,7 +88,7 @@ class Container {
|
|
|
73
88
|
};
|
|
74
89
|
this._impl[decorators_1.DI_DESCRIPTION_SYMBOL] = descriptor;
|
|
75
90
|
return this;
|
|
76
|
-
}
|
|
91
|
+
},
|
|
77
92
|
};
|
|
78
93
|
}
|
|
79
94
|
/**
|
|
@@ -96,11 +111,21 @@ class Container {
|
|
|
96
111
|
if (typeof identifier === 'string') {
|
|
97
112
|
return _get(identifier);
|
|
98
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
|
+
}
|
|
99
125
|
if (service instanceof array_1.TypedArray) {
|
|
100
126
|
return identifier.map(t => _get(t.name));
|
|
101
127
|
}
|
|
102
|
-
|
|
103
|
-
return _get(isFactory ? (typeof service === "string" ? service : service.name) : identifier[0].name);
|
|
128
|
+
return _get(identifier[identifier.length - 1].name);
|
|
104
129
|
function _get(i) {
|
|
105
130
|
if (self.cache.has(i)) {
|
|
106
131
|
return self.cache.get(i);
|
|
@@ -184,7 +209,7 @@ class Container {
|
|
|
184
209
|
return this.resolveType(sourceType, targetType[targetType.length - 1], opt);
|
|
185
210
|
}
|
|
186
211
|
if (isArray) {
|
|
187
|
-
const resolved = targetType.map(r => this.
|
|
212
|
+
const resolved = targetType.map(r => this.resolveArrayType(sourceType, r, opt));
|
|
188
213
|
if (resolved.some(r => r instanceof Promise)) {
|
|
189
214
|
return Promise.all(resolved);
|
|
190
215
|
}
|
|
@@ -192,14 +217,27 @@ class Container {
|
|
|
192
217
|
}
|
|
193
218
|
return this.resolveType(sourceType, targetType[targetType.length - 1], opt);
|
|
194
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
|
+
}
|
|
195
227
|
resolveType(sourceType, targetType, options) {
|
|
196
228
|
const self = this;
|
|
197
229
|
const descriptor = _extractDescriptor(targetType);
|
|
198
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
|
+
}
|
|
199
237
|
// check cache if needed
|
|
200
238
|
if (descriptor.resolver === enums_1.ResolveType.Singleton || descriptor.resolver === enums_1.ResolveType.PerChildContainer) {
|
|
201
|
-
if (this.has(
|
|
202
|
-
return this.get(
|
|
239
|
+
if (this.has(targetType, descriptor.resolver === enums_1.ResolveType.Singleton)) {
|
|
240
|
+
return this.get(targetType);
|
|
203
241
|
}
|
|
204
242
|
}
|
|
205
243
|
const deps = _resolveDeps(descriptor.inject);
|
|
@@ -207,8 +245,7 @@ class Container {
|
|
|
207
245
|
return deps
|
|
208
246
|
.then(resolvedDependencies => {
|
|
209
247
|
return _resolve(descriptor, targetType, resolvedDependencies);
|
|
210
|
-
})
|
|
211
|
-
.then(_setCache);
|
|
248
|
+
}).then(_setCache);
|
|
212
249
|
}
|
|
213
250
|
else {
|
|
214
251
|
const resInstance = _resolve(descriptor, targetType, deps);
|
|
@@ -218,10 +255,12 @@ class Container {
|
|
|
218
255
|
_setCache(resInstance);
|
|
219
256
|
return resInstance;
|
|
220
257
|
}
|
|
258
|
+
function _getNameOfResolvedType() {
|
|
259
|
+
return targetType.name;
|
|
260
|
+
}
|
|
221
261
|
function _setCache(r) {
|
|
222
|
-
const isFactory = !helpers_1.isConstructor(targetType) && _.isFunction(targetType);
|
|
223
262
|
const checkParent = descriptor.resolver === enums_1.ResolveType.Singleton;
|
|
224
|
-
const toCheck =
|
|
263
|
+
const toCheck = _getNameOfResolvedType();
|
|
225
264
|
if (!self.has(toCheck, checkParent)) {
|
|
226
265
|
self.Cache.set(toCheck, r);
|
|
227
266
|
}
|
|
@@ -256,12 +295,12 @@ class Container {
|
|
|
256
295
|
if (!t) {
|
|
257
296
|
return;
|
|
258
297
|
}
|
|
298
|
+
reduce(t.prototype);
|
|
299
|
+
reduce(t.__proto__);
|
|
259
300
|
if (t[decorators_1.DI_DESCRIPTION_SYMBOL]) {
|
|
260
301
|
descriptor.inject = descriptor.inject.concat(t[decorators_1.DI_DESCRIPTION_SYMBOL].inject);
|
|
261
302
|
descriptor.resolver = t[decorators_1.DI_DESCRIPTION_SYMBOL].resolver;
|
|
262
303
|
}
|
|
263
|
-
reduce(t.prototype);
|
|
264
|
-
reduce(t.__proto__);
|
|
265
304
|
}
|
|
266
305
|
}
|
|
267
306
|
function _resolveDeps(toInject) {
|
|
@@ -319,12 +358,17 @@ class Container {
|
|
|
319
358
|
if (newInstance instanceof interfaces_1.AsyncModule) {
|
|
320
359
|
return new Promise(res => {
|
|
321
360
|
newInstance.resolveAsync(self).then(() => {
|
|
361
|
+
self.emit(`di.resolved.${_getNameOfResolvedType()}`);
|
|
362
|
+
}).then(() => {
|
|
322
363
|
res(newInstance);
|
|
323
364
|
});
|
|
324
365
|
});
|
|
325
366
|
}
|
|
326
|
-
|
|
327
|
-
newInstance.
|
|
367
|
+
else {
|
|
368
|
+
if (newInstance instanceof interfaces_1.SyncModule) {
|
|
369
|
+
newInstance.resolve(self);
|
|
370
|
+
}
|
|
371
|
+
self.emit(`di.resolved.${_getNameOfResolvedType()}`);
|
|
328
372
|
}
|
|
329
373
|
}
|
|
330
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,5 +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.Inject = exports.Injectable = exports.DI_DESCRIPTION_SYMBOL = void 0;
|
|
3
4
|
const enums_1 = require("./enums");
|
|
4
5
|
const root_1 = require("./root");
|
|
5
6
|
exports.DI_DESCRIPTION_SYMBOL = Symbol.for('DI_INJECTION_DESCRIPTOR');
|
|
@@ -85,7 +86,6 @@ function Inject(...args) {
|
|
|
85
86
|
return AddDependency((descriptor) => {
|
|
86
87
|
for (const a of args) {
|
|
87
88
|
descriptor.inject.push({
|
|
88
|
-
all: false,
|
|
89
89
|
autoinject: false,
|
|
90
90
|
autoinjectKey: '',
|
|
91
91
|
inject: a,
|
|
@@ -94,39 +94,6 @@ function Inject(...args) {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
exports.Inject = Inject;
|
|
97
|
-
/**
|
|
98
|
-
* Sets dependency injection guidelines - what to inject for specified class. If multiple instances are registered at specified type,
|
|
99
|
-
* all of them are resolved and injected
|
|
100
|
-
* @param args - what to inject - class definitions
|
|
101
|
-
* @example
|
|
102
|
-
* ```javascript
|
|
103
|
-
*
|
|
104
|
-
* @InjectAll(Bar)
|
|
105
|
-
* class Foo{
|
|
106
|
-
*
|
|
107
|
-
* barInstances : Bar[];
|
|
108
|
-
*
|
|
109
|
-
* constructor(bars : Bar[]){
|
|
110
|
-
* // all Bar implementations are injected when Foo is created via DI container
|
|
111
|
-
* this.barInstances = bar;
|
|
112
|
-
* }
|
|
113
|
-
* }
|
|
114
|
-
*
|
|
115
|
-
* ```
|
|
116
|
-
*/
|
|
117
|
-
function InjectAll(...args) {
|
|
118
|
-
return AddDependency((descriptor) => {
|
|
119
|
-
for (const a of args) {
|
|
120
|
-
descriptor.inject.push({
|
|
121
|
-
all: true,
|
|
122
|
-
autoinject: false,
|
|
123
|
-
autoinjectKey: '',
|
|
124
|
-
inject: a,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
exports.InjectAll = InjectAll;
|
|
130
97
|
/**
|
|
131
98
|
* Automatically injects dependency based on reflected property type. Uses experimental typescript reflection api
|
|
132
99
|
* If decorator is applied to array property all registered type instances are injected, otherwise only first / only that exists
|
|
@@ -161,10 +128,9 @@ function Autoinject(injectType) {
|
|
|
161
128
|
throw new Error('you must provide inject type when injecting array');
|
|
162
129
|
}
|
|
163
130
|
descriptor.inject.push({
|
|
164
|
-
all: isArray ? true : false,
|
|
165
131
|
autoinject: true,
|
|
166
132
|
autoinjectKey: propertyKey,
|
|
167
|
-
inject: isArray ? injectType : type,
|
|
133
|
+
inject: isArray ? Array.ofType(injectType) : type,
|
|
168
134
|
});
|
|
169
135
|
});
|
|
170
136
|
}
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/enums.js
CHANGED
package/lib/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,WAeX;AAfD,WAAY,WAAW;IACrB;;OAEG;IACH,uDAAS,CAAA;IAET;;OAEG;IACH,2DAAW,CAAA;IAEX;;OAEG;IACH,uEAAiB,CAAA;AACnB,CAAC,EAfW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAetB"}
|
|
@@ -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/helpers.js
CHANGED
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAU;IACtC,IAAI;QACF,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;KACtC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AARD,sCAQC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
}
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
5
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
__exportStar(require("./interfaces"), exports);
|
|
14
|
+
__exportStar(require("./array"), exports);
|
|
15
|
+
__exportStar(require("./decorators"), exports);
|
|
16
|
+
__exportStar(require("./enums"), exports);
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./helpers"), exports);
|
|
19
|
+
__exportStar(require("./container"), exports);
|
|
20
|
+
__exportStar(require("./root"), exports);
|
|
21
|
+
__exportStar(require("./exceptions"), exports);
|
|
13
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":"
|
|
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,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncModule = exports.SyncModule = exports.Module = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* Interface to describe DI resolve strategies. Strategies are used do
|
|
5
6
|
* do some work at object creation eg. initialize objects that inherits from same class
|
|
@@ -14,10 +15,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
15
|
// export interface IAsyncStrategy {
|
|
15
16
|
// resolveA: (target: any, container: IContainer) => Promise<void>;
|
|
16
17
|
// }
|
|
17
|
-
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
|
+
}
|
|
18
31
|
}
|
|
19
32
|
exports.SyncModule = SyncModule;
|
|
20
|
-
class AsyncModule {
|
|
33
|
+
class AsyncModule extends Module {
|
|
34
|
+
async resolveAsync(_) {
|
|
35
|
+
this.resolved = true;
|
|
36
|
+
}
|
|
21
37
|
}
|
|
22
38
|
exports.AsyncModule = AsyncModule;
|
|
23
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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DI = void 0;
|
|
3
4
|
const container_1 = require("./container");
|
|
4
5
|
// tslint:disable-next-line: no-namespace
|
|
5
6
|
var DI;
|
|
@@ -8,15 +9,98 @@ var DI;
|
|
|
8
9
|
* App main DI container
|
|
9
10
|
*/
|
|
10
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
|
+
*/
|
|
11
80
|
/**
|
|
12
81
|
* Clears root container registry and cache.
|
|
13
82
|
*/
|
|
14
83
|
function clear() {
|
|
15
|
-
DI.RootContainer.
|
|
84
|
+
DI.RootContainer.clearCache();
|
|
85
|
+
DI.RootContainer.clearRegistry();
|
|
16
86
|
}
|
|
17
87
|
DI.clear = clear;
|
|
18
88
|
/**
|
|
19
|
-
*
|
|
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
|
|
20
104
|
* @param type - interface object to register
|
|
21
105
|
* @throws { InvalidArgument } if type is null or undefined
|
|
22
106
|
*/
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"
|
|
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",
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
},
|
|
38
39
|
"homepage": "https://github.com/spinajs/di#readme",
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@spinajs/exceptions": "^1.0.
|
|
41
|
+
"@spinajs/exceptions": "^1.0.3",
|
|
41
42
|
"lodash": "^4.17.14",
|
|
42
43
|
"reflect-metadata": "^0.1.13"
|
|
43
44
|
},
|