@spinajs/di 1.0.19 → 1.2.12
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.d.ts +7 -3
- package/lib/array.js +0 -3
- package/lib/array.js.map +1 -1
- package/lib/binder.d.ts +19 -0
- package/lib/binder.js +53 -0
- package/lib/binder.js.map +1 -0
- package/lib/container-cache.d.ts +12 -0
- package/lib/container-cache.js +49 -0
- package/lib/container-cache.js.map +1 -0
- package/lib/container.d.ts +59 -25
- package/lib/container.js +235 -253
- package/lib/container.js.map +1 -1
- package/lib/decorators.d.ts +9 -29
- package/lib/decorators.js +12 -48
- package/lib/decorators.js.map +1 -1
- package/lib/enums.d.ts +0 -1
- package/lib/enums.js +0 -1
- package/lib/enums.js.map +1 -1
- package/lib/exceptions.d.ts +12 -0
- package/lib/exceptions.js +20 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/helpers.d.ts +12 -1
- package/lib/helpers.js +41 -1
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.js +7 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +49 -28
- package/lib/interfaces.js +22 -3
- package/lib/interfaces.js.map +1 -1
- package/lib/registry.d.ts +13 -0
- package/lib/registry.js +66 -0
- package/lib/registry.js.map +1 -0
- package/lib/root.d.ts +85 -58
- package/lib/root.js +139 -61
- package/lib/root.js.map +1 -1
- package/lib/types.d.ts +9 -7
- package/package.json +9 -29
- package/lib/resolvers.d.ts +0 -0
- package/lib/resolvers.js +0 -1
- package/lib/resolvers.js.map +0 -1
- package/typings/array.d.ts +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/lib/root.d.ts
CHANGED
|
@@ -1,59 +1,86 @@
|
|
|
1
|
-
import { IBind, IContainer, AsyncModule } from './interfaces';
|
|
1
|
+
import { IBind, IContainer, AsyncModule, ResolvableObject } from './interfaces';
|
|
2
2
|
import { Class, Factory } from './types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
3
|
+
import { TypedArray } from './array';
|
|
4
|
+
/**
|
|
5
|
+
* App main DI container
|
|
6
|
+
*/
|
|
7
|
+
export declare const RootContainer: IContainer;
|
|
8
|
+
/***
|
|
9
|
+
* EVENT LISTENER STUFF
|
|
10
|
+
*
|
|
11
|
+
* Allows to use event listener stuff on root container
|
|
12
|
+
*/
|
|
13
|
+
export declare function on(event: string, listener: (...args: unknown[]) => void): IContainer;
|
|
14
|
+
export declare function addListener(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
15
|
+
export declare function once(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
16
|
+
export declare function removeListener(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
17
|
+
export declare function off(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
18
|
+
export declare function removeAllListeners(event?: string | symbol): IContainer;
|
|
19
|
+
export declare function setMaxListeners(n: number): IContainer;
|
|
20
|
+
export declare function getMaxListeners(): number;
|
|
21
|
+
export declare function listeners(event: string | symbol): Function[];
|
|
22
|
+
export declare function rawListeners(event: string | symbol): Function[];
|
|
23
|
+
export declare function emit(event: string | symbol, ...args: unknown[]): boolean;
|
|
24
|
+
export declare function listenerCount(type: string | symbol): number;
|
|
25
|
+
export declare function prependListener(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
26
|
+
export declare function prependOnceListener(event: string | symbol, listener: (...args: unknown[]) => void): IContainer;
|
|
27
|
+
export declare function eventNames(): (string | symbol)[];
|
|
28
|
+
/**
|
|
29
|
+
* ===========================================================================
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Clears root container registry and cache.
|
|
33
|
+
*/
|
|
34
|
+
export declare function clear(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Clears out root registry ( registered types in root container )
|
|
37
|
+
*/
|
|
38
|
+
export declare function clearRegistry(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Cleart ous root cache ( all resolved types )
|
|
41
|
+
*/
|
|
42
|
+
export declare function clearCache(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Register class/interface to DI root container. If
|
|
45
|
+
* @param type - interface object to register
|
|
46
|
+
* @throws {@link InvalidArgument} if type is null or undefined
|
|
47
|
+
*/
|
|
48
|
+
export declare function register<T>(type: Class<T> | Factory<T> | ResolvableObject): IBind;
|
|
49
|
+
/**
|
|
50
|
+
* Resolves specified type from root container.
|
|
51
|
+
*
|
|
52
|
+
* @param type - class to resolve
|
|
53
|
+
* @param options - optional parameters passed to class constructor
|
|
54
|
+
* @throws {@link InvalidArgument} if type is null or undefined
|
|
55
|
+
*/
|
|
56
|
+
export declare function resolve<T>(type: string, options?: unknown[], check?: boolean): T;
|
|
57
|
+
export declare function resolve<T>(type: string, check?: boolean): T;
|
|
58
|
+
export declare function resolve<T>(type: Class<T>, check?: boolean): T extends AsyncModule ? Promise<T> : T;
|
|
59
|
+
export declare function resolve<T>(type: TypedArray<T>, check?: boolean): T extends AsyncModule ? Promise<T[]> : T[];
|
|
60
|
+
export declare function resolve<T>(type: Class<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncModule ? Promise<T> : T;
|
|
61
|
+
export declare function resolve<T>(type: TypedArray<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncModule ? Promise<T[]> : T[];
|
|
62
|
+
/**
|
|
63
|
+
* Gets already resolved service from root container.
|
|
64
|
+
*
|
|
65
|
+
* @param serviceName - name of service to get
|
|
66
|
+
*/
|
|
67
|
+
export declare function get<T>(serviceName: TypedArray<T>): T[] | null;
|
|
68
|
+
export declare function get<T>(serviceName: string | Class<T>): T | null;
|
|
69
|
+
/**
|
|
70
|
+
* Checks if service is already resolved and exists in container cache.
|
|
71
|
+
* NOTE: check is only valid for classes that are singletons.
|
|
72
|
+
*
|
|
73
|
+
* @param service - service name or class to check
|
|
74
|
+
*/
|
|
75
|
+
export declare function has<T>(service: string | Class<T>): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Checks if service is registered in container.
|
|
78
|
+
*
|
|
79
|
+
* @param service - service class object to check
|
|
80
|
+
*/
|
|
81
|
+
export declare function check<T>(service: Class<T> | string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Creates child DI container.
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
86
|
+
export declare function child(): IContainer;
|
package/lib/root.js
CHANGED
|
@@ -1,65 +1,143 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.child = exports.check = exports.has = exports.get = exports.resolve = exports.register = exports.clearCache = exports.clearRegistry = exports.clear = exports.eventNames = exports.prependOnceListener = exports.prependListener = exports.listenerCount = exports.emit = exports.rawListeners = exports.listeners = exports.getMaxListeners = exports.setMaxListeners = exports.removeAllListeners = exports.off = exports.removeListener = exports.once = exports.addListener = exports.on = exports.RootContainer = void 0;
|
|
4
4
|
const container_1 = require("./container");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
5
|
+
/**
|
|
6
|
+
* App main DI container
|
|
7
|
+
*/
|
|
8
|
+
exports.RootContainer = new container_1.Container();
|
|
9
|
+
/***
|
|
10
|
+
* EVENT LISTENER STUFF
|
|
11
|
+
*
|
|
12
|
+
* Allows to use event listener stuff on root container
|
|
13
|
+
*/
|
|
14
|
+
function on(event, listener) {
|
|
15
|
+
return exports.RootContainer.on(event, listener);
|
|
16
|
+
}
|
|
17
|
+
exports.on = on;
|
|
18
|
+
function addListener(event, listener) {
|
|
19
|
+
return exports.RootContainer.addListener(event, listener);
|
|
20
|
+
}
|
|
21
|
+
exports.addListener = addListener;
|
|
22
|
+
function once(event, listener) {
|
|
23
|
+
return exports.RootContainer.once(event, listener);
|
|
24
|
+
}
|
|
25
|
+
exports.once = once;
|
|
26
|
+
function removeListener(event, listener) {
|
|
27
|
+
return exports.RootContainer.removeListener(event, listener);
|
|
28
|
+
}
|
|
29
|
+
exports.removeListener = removeListener;
|
|
30
|
+
function off(event, listener) {
|
|
31
|
+
return exports.RootContainer.off(event, listener);
|
|
32
|
+
}
|
|
33
|
+
exports.off = off;
|
|
34
|
+
function removeAllListeners(event) {
|
|
35
|
+
return exports.RootContainer.removeAllListeners(event);
|
|
36
|
+
}
|
|
37
|
+
exports.removeAllListeners = removeAllListeners;
|
|
38
|
+
function setMaxListeners(n) {
|
|
39
|
+
return exports.RootContainer.setMaxListeners(n);
|
|
40
|
+
}
|
|
41
|
+
exports.setMaxListeners = setMaxListeners;
|
|
42
|
+
function getMaxListeners() {
|
|
43
|
+
return exports.RootContainer.getMaxListeners();
|
|
44
|
+
}
|
|
45
|
+
exports.getMaxListeners = getMaxListeners;
|
|
46
|
+
function listeners(event) {
|
|
47
|
+
return exports.RootContainer.listeners(event);
|
|
48
|
+
}
|
|
49
|
+
exports.listeners = listeners;
|
|
50
|
+
function rawListeners(event) {
|
|
51
|
+
return exports.RootContainer.rawListeners(event);
|
|
52
|
+
}
|
|
53
|
+
exports.rawListeners = rawListeners;
|
|
54
|
+
function emit(event, ...args) {
|
|
55
|
+
return exports.RootContainer.emit(event, ...args);
|
|
56
|
+
}
|
|
57
|
+
exports.emit = emit;
|
|
58
|
+
function listenerCount(type) {
|
|
59
|
+
return exports.RootContainer.listenerCount(type);
|
|
60
|
+
}
|
|
61
|
+
exports.listenerCount = listenerCount;
|
|
62
|
+
function prependListener(event, listener) {
|
|
63
|
+
return exports.RootContainer.prependListener(event, listener);
|
|
64
|
+
}
|
|
65
|
+
exports.prependListener = prependListener;
|
|
66
|
+
function prependOnceListener(event, listener) {
|
|
67
|
+
return exports.RootContainer.prependOnceListener(event, listener);
|
|
68
|
+
}
|
|
69
|
+
exports.prependOnceListener = prependOnceListener;
|
|
70
|
+
function eventNames() {
|
|
71
|
+
return exports.RootContainer.eventNames();
|
|
72
|
+
}
|
|
73
|
+
exports.eventNames = eventNames;
|
|
74
|
+
/**
|
|
75
|
+
* ===========================================================================
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* Clears root container registry and cache.
|
|
79
|
+
*/
|
|
80
|
+
function clear() {
|
|
81
|
+
exports.RootContainer.clearCache();
|
|
82
|
+
exports.RootContainer.clearRegistry();
|
|
83
|
+
}
|
|
84
|
+
exports.clear = clear;
|
|
85
|
+
/**
|
|
86
|
+
* Clears out root registry ( registered types in root container )
|
|
87
|
+
*/
|
|
88
|
+
function clearRegistry() {
|
|
89
|
+
exports.RootContainer.clearRegistry();
|
|
90
|
+
}
|
|
91
|
+
exports.clearRegistry = clearRegistry;
|
|
92
|
+
/**
|
|
93
|
+
* Cleart ous root cache ( all resolved types )
|
|
94
|
+
*/
|
|
95
|
+
function clearCache() {
|
|
96
|
+
exports.RootContainer.clearCache();
|
|
97
|
+
}
|
|
98
|
+
exports.clearCache = clearCache;
|
|
99
|
+
/**
|
|
100
|
+
* Register class/interface to DI root container. If
|
|
101
|
+
* @param type - interface object to register
|
|
102
|
+
* @throws {@link InvalidArgument} if type is null or undefined
|
|
103
|
+
*/
|
|
104
|
+
function register(type) {
|
|
105
|
+
return exports.RootContainer.register(type);
|
|
106
|
+
}
|
|
107
|
+
exports.register = register;
|
|
108
|
+
function resolve(type, options, check) {
|
|
109
|
+
return exports.RootContainer.resolve(type, options, check);
|
|
110
|
+
}
|
|
111
|
+
exports.resolve = resolve;
|
|
112
|
+
function get(serviceName) {
|
|
113
|
+
return exports.RootContainer.get(serviceName);
|
|
114
|
+
}
|
|
115
|
+
exports.get = get;
|
|
116
|
+
/**
|
|
117
|
+
* Checks if service is already resolved and exists in container cache.
|
|
118
|
+
* NOTE: check is only valid for classes that are singletons.
|
|
119
|
+
*
|
|
120
|
+
* @param service - service name or class to check
|
|
121
|
+
*/
|
|
122
|
+
function has(service) {
|
|
123
|
+
return exports.RootContainer.isResolved(service);
|
|
124
|
+
}
|
|
125
|
+
exports.has = has;
|
|
126
|
+
/**
|
|
127
|
+
* Checks if service is registered in container.
|
|
128
|
+
*
|
|
129
|
+
* @param service - service class object to check
|
|
130
|
+
*/
|
|
131
|
+
function check(service) {
|
|
132
|
+
return exports.RootContainer.hasRegistered(service);
|
|
133
|
+
}
|
|
134
|
+
exports.check = check;
|
|
135
|
+
/**
|
|
136
|
+
* Creates child DI container.
|
|
137
|
+
*
|
|
138
|
+
*/
|
|
139
|
+
function child() {
|
|
140
|
+
return exports.RootContainer.child();
|
|
141
|
+
}
|
|
142
|
+
exports.child = child;
|
|
65
143
|
//# sourceMappingURL=root.js.map
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAKxC;;GAEG;AACU,QAAA,aAAa,GAAe,IAAI,qBAAS,EAAE,CAAC;AAEzD;;;;GAIG;AAEH,SAAgB,EAAE,CAAC,KAAa,EAAE,QAAsC;IACtE,OAAO,qBAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAFD,gBAEC;AACD,SAAgB,WAAW,CAAC,KAAsB,EAAE,QAAsC;IACxF,OAAO,qBAAa,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAFD,kCAEC;AACD,SAAgB,IAAI,CAAC,KAAsB,EAAE,QAAsC;IACjF,OAAO,qBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,oBAEC;AACD,SAAgB,cAAc,CAAC,KAAsB,EAAE,QAAsC;IAC3F,OAAO,qBAAa,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAFD,wCAEC;AACD,SAAgB,GAAG,CAAC,KAAsB,EAAE,QAAsC;IAChF,OAAO,qBAAa,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAFD,kBAEC;AACD,SAAgB,kBAAkB,CAAC,KAAuB;IACxD,OAAO,qBAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAFD,gDAEC;AACD,SAAgB,eAAe,CAAC,CAAS;IACvC,OAAO,qBAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAFD,0CAEC;AACD,SAAgB,eAAe;IAC7B,OAAO,qBAAa,CAAC,eAAe,EAAE,CAAC;AACzC,CAAC;AAFD,0CAEC;AACD,SAAgB,SAAS,CAAC,KAAsB;IAC9C,OAAO,qBAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;AACD,SAAgB,YAAY,CAAC,KAAsB;IACjD,OAAO,qBAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAFD,oCAEC;AACD,SAAgB,IAAI,CAAC,KAAsB,EAAE,GAAG,IAAe;IAC7D,OAAO,qBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC5C,CAAC;AAFD,oBAEC;AACD,SAAgB,aAAa,CAAC,IAAqB;IACjD,OAAO,qBAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,sCAEC;AACD,SAAgB,eAAe,CAAC,KAAsB,EAAE,QAAsC;IAC5F,OAAO,qBAAa,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAFD,0CAEC;AACD,SAAgB,mBAAmB,CAAC,KAAsB,EAAE,QAAsC;IAChG,OAAO,qBAAa,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAFD,kDAEC;AACD,SAAgB,UAAU;IACxB,OAAO,qBAAa,CAAC,UAAU,EAAE,CAAC;AACpC,CAAC;AAFD,gCAEC;AAED;;GAEG;AAEH;;GAEG;AACH,SAAgB,KAAK;IACnB,qBAAa,CAAC,UAAU,EAAE,CAAC;IAC3B,qBAAa,CAAC,aAAa,EAAE,CAAC;AAChC,CAAC;AAHD,sBAGC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,qBAAa,CAAC,aAAa,EAAE,CAAC;AAChC,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,qBAAa,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAI,IAA8C;IACxE,OAAO,qBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,4BAEC;AAeD,SAAgB,OAAO,CAAI,IAAuC,EAAE,OAA6B,EAAE,KAAe;IAChH,OAAO,qBAAa,CAAC,OAAO,CAAI,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,0BAEC;AASD,SAAgB,GAAG,CAAI,WAA8C;IACnE,OAAO,qBAAa,CAAC,GAAG,CAAC,WAAW,CAAM,CAAC;AAC7C,CAAC;AAFD,kBAEC;AAED;;;;;GAKG;AACH,SAAgB,GAAG,CAAI,OAA0B;IAC/C,OAAO,qBAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAFD,kBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAI,OAA0B;IACjD,OAAO,qBAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAFD,sBAEC;AACD;;;GAGG;AACH,SAAgB,KAAK;IACnB,OAAO,qBAAa,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAFD,sBAEC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { IContainer } from './interfaces';
|
|
2
|
-
|
|
3
|
-
* Abstract class type
|
|
4
|
-
*/
|
|
5
|
-
export declare type Abstract<T = any> = Function & {
|
|
2
|
+
export declare type Abstract<T> = Function & {
|
|
6
3
|
prototype: T;
|
|
7
4
|
};
|
|
8
|
-
export declare type Constructor<T
|
|
9
|
-
export declare type Class<T
|
|
5
|
+
export declare type Constructor<T> = new (...args: any[]) => T;
|
|
6
|
+
export declare type Class<T> = Abstract<T> | Constructor<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Factory functions should not be normal functions,
|
|
9
|
+
* but arrow functions. Its is by js limitation
|
|
10
|
+
* to detect if object is constructable
|
|
11
|
+
*/
|
|
10
12
|
export declare type Factory<T> = (container: IContainer, ...args: any[]) => T;
|
|
11
|
-
export declare type ClassArray<T> =
|
|
13
|
+
export declare type ClassArray<T> = Class<T>[];
|
package/package.json
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/di",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.12",
|
|
4
4
|
"description": "lightweight di container ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
+
"build": "npm run clean && npm run compile",
|
|
8
|
+
"compile": "tsc -p tsconfig.build.json",
|
|
9
|
+
"clean": "",
|
|
7
10
|
"test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
|
|
8
11
|
"coverage": "nyc npm run test",
|
|
9
12
|
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
10
|
-
"build": "tsc",
|
|
11
13
|
"prepare": "npm run build",
|
|
12
|
-
"format": "prettier --write \"src/**/*.ts\"
|
|
13
|
-
"lint": "
|
|
14
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
15
|
+
"lint": "eslint -c .eslintrc.js --ext .ts src --fix",
|
|
14
16
|
"prepublishOnly": "npm test && npm run lint",
|
|
15
17
|
"preversion": "npm run lint",
|
|
16
18
|
"version": "npm run format && git add -A src",
|
|
@@ -37,31 +39,9 @@
|
|
|
37
39
|
},
|
|
38
40
|
"homepage": "https://github.com/spinajs/di#readme",
|
|
39
41
|
"dependencies": {
|
|
40
|
-
"@spinajs/exceptions": "^1.
|
|
41
|
-
"lodash": "^4.17.
|
|
42
|
+
"@spinajs/exceptions": "^1.2.7",
|
|
43
|
+
"lodash": "^4.17.21",
|
|
42
44
|
"reflect-metadata": "^0.1.13"
|
|
43
45
|
},
|
|
44
|
-
"
|
|
45
|
-
"@types/bunyan": "^1.8.6",
|
|
46
|
-
"@types/chai": "^4.1.7",
|
|
47
|
-
"@types/chai-as-promised": "^7.1.0",
|
|
48
|
-
"@types/lodash": "^4.14.136",
|
|
49
|
-
"@types/mocha": "^5.2.7",
|
|
50
|
-
"@types/sinon": "^7.0.13",
|
|
51
|
-
"chai": "^4.2.0",
|
|
52
|
-
"chai-as-promised": "^7.1.1",
|
|
53
|
-
"mocha": "^6.1.4",
|
|
54
|
-
"nyc": "^14.1.1",
|
|
55
|
-
"prettier": "^1.18.2",
|
|
56
|
-
"sinon": "^7.3.2",
|
|
57
|
-
"ts-mocha": "^6.0.0",
|
|
58
|
-
"ts-node": "^8.3.0",
|
|
59
|
-
"tslint": "^5.20.1",
|
|
60
|
-
"tslint-circular-dependencies": "^0.1.0",
|
|
61
|
-
"tslint-config-prettier": "^1.18.0",
|
|
62
|
-
"tslint-config-standard": "^8.0.1",
|
|
63
|
-
"tslint-no-unused-expression-chai": "^0.1.4",
|
|
64
|
-
"typedoc": "^0.14.2",
|
|
65
|
-
"typescript": "^3.7.3"
|
|
66
|
-
}
|
|
46
|
+
"gitHead": "9102c6297adaadad8cb323738b5336d1014936b2"
|
|
67
47
|
}
|
package/lib/resolvers.d.ts
DELETED
|
File without changes
|
package/lib/resolvers.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=resolvers.js.map
|
package/lib/resolvers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":""}
|
package/typings/array.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
type Abstract<T = any> = Function & { prototype: T };
|
|
2
|
-
type Constructor<T = any> = new (...args: any[]) => T;
|
|
3
|
-
type Class<T = any> = Abstract<T> | Constructor<T>;
|
|
4
|
-
|
|
5
|
-
declare class TypedArray<T> extends Array<T>{
|
|
6
|
-
Type : Class<T>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface ArrayConstructor {
|
|
10
|
-
ofType<T>(type: Class<T>): TypedArray<T>;
|
|
11
|
-
}
|
|
12
|
-
|