@spinajs/di 2.0.86 → 2.0.87
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 → cjs/array.d.ts} +0 -0
- package/lib/cjs/array.d.ts.map +1 -0
- package/lib/cjs/array.js +14 -0
- package/lib/cjs/array.js.map +1 -0
- package/lib/{binder.d.ts → cjs/binder.d.ts} +0 -0
- package/lib/cjs/binder.d.ts.map +1 -0
- package/lib/cjs/binder.js +97 -0
- package/lib/cjs/binder.js.map +1 -0
- package/lib/{container-cache.d.ts → cjs/container-cache.d.ts} +0 -0
- package/lib/cjs/container-cache.d.ts.map +1 -0
- package/lib/cjs/container-cache.js +64 -0
- package/lib/cjs/container-cache.js.map +1 -0
- package/lib/cjs/container.d.ts +134 -0
- package/lib/cjs/container.d.ts.map +1 -0
- package/lib/cjs/container.js +466 -0
- package/lib/cjs/container.js.map +1 -0
- package/lib/{decorators.d.ts → cjs/decorators.d.ts} +0 -0
- package/lib/cjs/decorators.d.ts.map +1 -0
- package/lib/cjs/decorators.js +304 -0
- package/lib/cjs/decorators.js.map +1 -0
- package/lib/{enums.d.ts → cjs/enums.d.ts} +0 -0
- package/lib/cjs/enums.d.ts.map +1 -0
- package/lib/cjs/enums.js +36 -0
- package/lib/cjs/enums.js.map +1 -0
- package/lib/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
- package/lib/cjs/exceptions.d.ts.map +1 -0
- package/lib/cjs/exceptions.js +26 -0
- package/lib/cjs/exceptions.js.map +1 -0
- package/lib/{helpers.d.ts → cjs/helpers.d.ts} +0 -0
- package/lib/cjs/helpers.d.ts.map +1 -0
- package/lib/cjs/helpers.js +69 -0
- package/lib/cjs/helpers.js.map +1 -0
- package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +42 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/interfaces.d.ts +152 -0
- package/lib/cjs/interfaces.d.ts.map +1 -0
- package/lib/cjs/interfaces.js +48 -0
- package/lib/cjs/interfaces.js.map +1 -0
- package/lib/{registry.d.ts → cjs/registry.d.ts} +0 -0
- package/lib/cjs/registry.d.ts.map +1 -0
- package/lib/cjs/registry.js +81 -0
- package/lib/cjs/registry.js.map +1 -0
- package/lib/{root.d.ts → cjs/root.d.ts} +0 -0
- package/lib/cjs/root.d.ts.map +1 -0
- package/lib/cjs/root.js +177 -0
- package/lib/cjs/root.js.map +1 -0
- package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
- package/lib/cjs/types.d.ts.map +1 -0
- package/lib/cjs/types.js +3 -0
- package/lib/cjs/types.js.map +1 -0
- package/lib/mjs/array.d.ts +11 -0
- package/lib/mjs/array.d.ts.map +1 -0
- package/lib/{array.js → mjs/array.js} +0 -0
- package/lib/mjs/array.js.map +1 -0
- package/lib/mjs/binder.d.ts +40 -0
- package/lib/mjs/binder.d.ts.map +1 -0
- package/lib/{binder.js → mjs/binder.js} +0 -0
- package/lib/mjs/binder.js.map +1 -0
- package/lib/mjs/container-cache.d.ts +18 -0
- package/lib/mjs/container-cache.d.ts.map +1 -0
- package/lib/{container-cache.js → mjs/container-cache.js} +0 -0
- package/lib/mjs/container-cache.js.map +1 -0
- package/lib/{container.d.ts → mjs/container.d.ts} +0 -0
- package/lib/mjs/container.d.ts.map +1 -0
- package/lib/{container.js → mjs/container.js} +0 -0
- package/lib/mjs/container.js.map +1 -0
- package/lib/mjs/decorators.d.ts +142 -0
- package/lib/mjs/decorators.d.ts.map +1 -0
- package/lib/{decorators.js → mjs/decorators.js} +0 -0
- package/lib/mjs/decorators.js.map +1 -0
- package/lib/mjs/enums.d.ts +32 -0
- package/lib/mjs/enums.d.ts.map +1 -0
- package/lib/{enums.js → mjs/enums.js} +1 -1
- package/lib/mjs/enums.js.map +1 -0
- package/lib/mjs/exceptions.d.ts +18 -0
- package/lib/mjs/exceptions.d.ts.map +1 -0
- package/lib/{exceptions.js → mjs/exceptions.js} +0 -0
- package/lib/mjs/exceptions.js.map +1 -0
- package/lib/mjs/helpers.d.ts +26 -0
- package/lib/mjs/helpers.d.ts.map +1 -0
- package/lib/{helpers.js → mjs/helpers.js} +0 -0
- package/lib/mjs/helpers.js.map +1 -0
- package/lib/mjs/index.d.ts +13 -0
- package/lib/mjs/index.d.ts.map +1 -0
- package/lib/{index.js → mjs/index.js} +0 -0
- package/lib/mjs/index.js.map +1 -0
- package/lib/{interfaces.d.ts → mjs/interfaces.d.ts} +0 -0
- package/lib/mjs/interfaces.d.ts.map +1 -0
- package/lib/{interfaces.js → mjs/interfaces.js} +0 -0
- package/lib/mjs/interfaces.js.map +1 -0
- package/lib/mjs/registry.d.ts +15 -0
- package/lib/mjs/registry.d.ts.map +1 -0
- package/lib/{registry.js → mjs/registry.js} +0 -0
- package/lib/mjs/registry.js.map +1 -0
- package/lib/mjs/root.d.ts +107 -0
- package/lib/mjs/root.d.ts.map +1 -0
- package/lib/{root.js → mjs/root.js} +0 -0
- package/lib/mjs/root.js.map +1 -0
- package/lib/mjs/types.d.ts +14 -0
- package/lib/mjs/types.d.ts.map +1 -0
- package/lib/{types.js → mjs/types.js} +0 -0
- package/lib/mjs/types.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +11 -4
- package/lib/array.d.ts.map +0 -1
- package/lib/array.js.map +0 -1
- package/lib/binder.d.ts.map +0 -1
- package/lib/binder.js.map +0 -1
- package/lib/container-cache.d.ts.map +0 -1
- package/lib/container-cache.js.map +0 -1
- package/lib/container.d.ts.map +0 -1
- package/lib/container.js.map +0 -1
- package/lib/decorators.d.ts.map +0 -1
- package/lib/decorators.js.map +0 -1
- package/lib/enums.d.ts.map +0 -1
- package/lib/enums.js.map +0 -1
- package/lib/exceptions.d.ts.map +0 -1
- package/lib/exceptions.js.map +0 -1
- package/lib/helpers.d.ts.map +0 -1
- package/lib/helpers.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interfaces.d.ts.map +0 -1
- package/lib/interfaces.js.map +0 -1
- package/lib/registry.d.ts.map +0 -1
- package/lib/registry.js.map +0 -1
- package/lib/root.d.ts.map +0 -1
- package/lib/root.js.map +0 -1
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ResolveType } from './enums.js';
|
|
3
|
+
import { Class, Factory } from './types.js';
|
|
4
|
+
import { EventEmitter } from 'events';
|
|
5
|
+
import { TypedArray } from './array.js';
|
|
6
|
+
import { Registry } from './registry.js';
|
|
7
|
+
import { ContainerCache } from './container-cache.js';
|
|
8
|
+
export interface IInstanceCheck {
|
|
9
|
+
__checkInstance__(creationOptions: any): boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Interface to describe DI binding behaviour
|
|
13
|
+
*/
|
|
14
|
+
export interface IBind {
|
|
15
|
+
/**
|
|
16
|
+
* `as` binding (alias)
|
|
17
|
+
*
|
|
18
|
+
* @param type - base class that is being registered
|
|
19
|
+
*/
|
|
20
|
+
as(type: Class<any> | string): this;
|
|
21
|
+
/**
|
|
22
|
+
* self bind, class should be resolved by its name. Its default behaviour.
|
|
23
|
+
*/
|
|
24
|
+
asSelf(): this;
|
|
25
|
+
/**
|
|
26
|
+
* Registers as value, it wont be resolved or called, just stored as is in container
|
|
27
|
+
* @param type - name of type / key after whitch implementation will be resolved
|
|
28
|
+
* @param override - if true, any value registered before is overriden by new one
|
|
29
|
+
*/
|
|
30
|
+
asValue(type: string, override: boolean): this;
|
|
31
|
+
asValue(type: string): this;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* Add plain value to container, value is stored in hashmap for quick access
|
|
35
|
+
* eg. we have multiple value converters and we wanc o(1) access, instead searching for
|
|
36
|
+
* converter for specific type
|
|
37
|
+
*
|
|
38
|
+
* @param type - name of added value
|
|
39
|
+
* @param key - hashmap key
|
|
40
|
+
*/
|
|
41
|
+
asMapValue(type: string, hashKey: string): this;
|
|
42
|
+
/**
|
|
43
|
+
* Registers object as single instance ( singleton )
|
|
44
|
+
*/
|
|
45
|
+
singleInstance(): this;
|
|
46
|
+
}
|
|
47
|
+
export interface ResolvableObject {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}
|
|
50
|
+
export interface IContainer extends EventEmitter {
|
|
51
|
+
Cache: ContainerCache;
|
|
52
|
+
Registry: Registry;
|
|
53
|
+
Parent: IContainer;
|
|
54
|
+
clear(): void;
|
|
55
|
+
clearRegistry(): void;
|
|
56
|
+
clearCache(): void;
|
|
57
|
+
register<T>(implementation: Class<T> | Factory<T> | ResolvableObject): IBind;
|
|
58
|
+
unregister<T>(implementation: string | Class<T> | Factory<T> | ResolvableObject): void;
|
|
59
|
+
uncache<T>(source: string | Class<T> | TypedArray<T>, parent?: boolean): void;
|
|
60
|
+
child(): IContainer;
|
|
61
|
+
get<T>(service: TypedArray<T>, parent?: boolean): T[] | null;
|
|
62
|
+
get<T>(service: string | Class<T>, parent?: boolean): T | null;
|
|
63
|
+
get<T>(service: string | Class<T> | TypedArray<T>, parent?: boolean): T | T[] | null;
|
|
64
|
+
getRegisteredTypes<T>(service: string | Class<T> | TypedArray<T>, parent?: boolean): Array<Class<unknown> | Factory<unknown>>;
|
|
65
|
+
isResolved<T>(service: string | Class<T>, parent?: boolean): boolean;
|
|
66
|
+
hasRegistered<T>(service: Class<T> | string | TypedArray<T>, parent?: boolean): boolean;
|
|
67
|
+
hasRegisteredType<T>(source: Class<any> | string | TypedArray<any>, type: Class<T> | string | TypedArray<T> | object, parent?: boolean): boolean;
|
|
68
|
+
resolve<T>(type: string, options?: unknown[], check?: boolean): T;
|
|
69
|
+
resolve<T>(type: string, check?: boolean): T;
|
|
70
|
+
resolve<T>(type: Class<T> | Factory<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncService ? Promise<T> : T;
|
|
71
|
+
resolve<T>(type: TypedArray<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncService ? Promise<T[]> : T[];
|
|
72
|
+
resolve<T>(type: Class<T> | Factory<T>, check?: boolean): T extends AsyncService ? Promise<T> : T;
|
|
73
|
+
resolve<T>(type: TypedArray<T>, check?: boolean): T extends AsyncService ? Promise<T[]> : T[];
|
|
74
|
+
resolve<T>(type: Class<T> | TypedArray<T> | string, options?: unknown[] | boolean, check?: boolean): Promise<T | T[]> | T | T[];
|
|
75
|
+
dispose(): Promise<void>;
|
|
76
|
+
extractDescriptor(type: Class<unknown>): IInjectDescriptor<unknown>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Injection description definition structure
|
|
80
|
+
*/
|
|
81
|
+
export interface IInjectDescriptor<T> {
|
|
82
|
+
inject: IToInject<T>[];
|
|
83
|
+
resolver: ResolveType;
|
|
84
|
+
}
|
|
85
|
+
export interface IToInject<T> {
|
|
86
|
+
inject: Class<T> | TypedArray<T>;
|
|
87
|
+
autoinject: boolean;
|
|
88
|
+
autoinjectKey: string;
|
|
89
|
+
/**
|
|
90
|
+
* additional data passed to DI when resolving
|
|
91
|
+
*/
|
|
92
|
+
data?: any;
|
|
93
|
+
/**
|
|
94
|
+
* Additional options passed to resolved options
|
|
95
|
+
*/
|
|
96
|
+
options?: any;
|
|
97
|
+
/**
|
|
98
|
+
* Callback used to resolve service
|
|
99
|
+
* name of service we want to resolve
|
|
100
|
+
* eg. we have multiple \@injectable registered
|
|
101
|
+
* and we want specific one
|
|
102
|
+
*
|
|
103
|
+
* It is specifically for use with configuration module
|
|
104
|
+
* where services can be changed in configuration files
|
|
105
|
+
* and allows to use @AutoinjectService() decorator
|
|
106
|
+
*/
|
|
107
|
+
serviceFunc?: (data: string | any[], container: IContainer) => IServiceFuncResult | IServiceFuncResult[];
|
|
108
|
+
mapFunc?: (x: IMappableService) => string;
|
|
109
|
+
}
|
|
110
|
+
export interface IMappableService {
|
|
111
|
+
ServiceName: string;
|
|
112
|
+
}
|
|
113
|
+
export interface IServiceFuncResult {
|
|
114
|
+
service: string;
|
|
115
|
+
options?: any;
|
|
116
|
+
}
|
|
117
|
+
export interface IResolvedInjection {
|
|
118
|
+
instance: unknown;
|
|
119
|
+
autoinject: boolean;
|
|
120
|
+
autoinjectKey: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Interface to describe DI resolve strategies. Strategies are used do
|
|
124
|
+
* do some work at object creation eg. initialize objects that inherits from same class
|
|
125
|
+
* specific way but without need for factory function.
|
|
126
|
+
*
|
|
127
|
+
*
|
|
128
|
+
* @see FrameworkModuleSyncService implementation
|
|
129
|
+
*/
|
|
130
|
+
export declare class Service {
|
|
131
|
+
protected resolved: boolean;
|
|
132
|
+
get Resolved(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Use to dispose service, relase all resources, stop timers etc.
|
|
135
|
+
*
|
|
136
|
+
*/
|
|
137
|
+
dispose(): Promise<void>;
|
|
138
|
+
}
|
|
139
|
+
export declare abstract class SyncService extends Service {
|
|
140
|
+
resolve(): void;
|
|
141
|
+
}
|
|
142
|
+
export declare class AsyncService extends Service {
|
|
143
|
+
resolve(): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
export declare abstract class Bootstrapper {
|
|
146
|
+
abstract bootstrap(): Promise<void> | void;
|
|
147
|
+
}
|
|
148
|
+
export interface IAutoinjectOptions {
|
|
149
|
+
mapFunc?: (x: IMappableService) => string;
|
|
150
|
+
options?: any;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bootstrapper = exports.AsyncService = exports.SyncService = exports.Service = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Interface to describe DI resolve strategies. Strategies are used do
|
|
6
|
+
* do some work at object creation eg. initialize objects that inherits from same class
|
|
7
|
+
* specific way but without need for factory function.
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* @see FrameworkModuleSyncService implementation
|
|
11
|
+
*/
|
|
12
|
+
// export interface IStrategy {
|
|
13
|
+
// resolve: (target: any, container: IContainer) => void;
|
|
14
|
+
// }
|
|
15
|
+
// export interface IAsyncStrategy {
|
|
16
|
+
// resolveA: (target: any, container: IContainer) => Promise<void>;
|
|
17
|
+
// }
|
|
18
|
+
class Service {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.resolved = false;
|
|
21
|
+
}
|
|
22
|
+
get Resolved() {
|
|
23
|
+
return this.resolved;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Use to dispose service, relase all resources, stop timers etc.
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
async dispose() { }
|
|
30
|
+
}
|
|
31
|
+
exports.Service = Service;
|
|
32
|
+
class SyncService extends Service {
|
|
33
|
+
resolve() {
|
|
34
|
+
this.resolved = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.SyncService = SyncService;
|
|
38
|
+
class AsyncService extends Service {
|
|
39
|
+
/* eslint-disable */
|
|
40
|
+
async resolve() {
|
|
41
|
+
this.resolved = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.AsyncService = AsyncService;
|
|
45
|
+
class Bootstrapper {
|
|
46
|
+
}
|
|
47
|
+
exports.Bootstrapper = Bootstrapper;
|
|
48
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAiJA;;;;;;;GAOG;AACH,+BAA+B;AAC/B,6DAA6D;AAC7D,IAAI;AAEJ,oCAAoC;AACpC,uEAAuE;AACvE,IAAI;AAEJ,MAAa,OAAO;IAApB;QACY,aAAQ,GAAG,KAAK,CAAC;IAU7B,CAAC;IATC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,KAAI,CAAC;CAC1B;AAXD,0BAWC;AAED,MAAsB,WAAY,SAAQ,OAAO;IACxC,OAAO;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAJD,kCAIC;AAED,MAAa,YAAa,SAAQ,OAAO;IACvC,oBAAoB;IACb,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AALD,oCAKC;AAED,MAAsB,YAAY;CAEjC;AAFD,oCAEC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,QAAQ;IAGP,SAAS,CAAC,SAAS,EAAE,UAAU;IAF3C,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAA4B;gBAE5C,SAAS,EAAE,UAAU;IAEpC,KAAK;IAIL,UAAU,CAAC,IAAI,EAAE,GAAG;IAWpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG;IAqB/D,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAWvI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,UAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAkBhH,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO;CAS5F"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Registry = void 0;
|
|
4
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
5
|
+
const helpers_js_1 = require("./helpers.js");
|
|
6
|
+
class Registry {
|
|
7
|
+
constructor(container) {
|
|
8
|
+
this.container = container;
|
|
9
|
+
this.registry = new Map();
|
|
10
|
+
}
|
|
11
|
+
clear() {
|
|
12
|
+
this.registry.clear();
|
|
13
|
+
}
|
|
14
|
+
unregister(type) {
|
|
15
|
+
const tname = (0, helpers_js_1.getTypeName)(type);
|
|
16
|
+
this.registry.forEach((value) => {
|
|
17
|
+
const index = value.findIndex((x) => (0, helpers_js_1.getTypeName)(x) === tname);
|
|
18
|
+
if (index !== -1) {
|
|
19
|
+
value.splice(index, 1);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
register(name, type) {
|
|
24
|
+
if (!(0, helpers_js_1.isConstructor)(type) && !(0, helpers_js_1.isFactory)(type) && !(0, helpers_js_1.isObject)(type)) {
|
|
25
|
+
throw new exceptions_1.InvalidOperation('cannot register type if its not an class or factory function');
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const tname = (0, helpers_js_1.getTypeName)(name);
|
|
29
|
+
const value = this.registry.get(tname);
|
|
30
|
+
if (value) {
|
|
31
|
+
// factory functions, we always add to registry
|
|
32
|
+
// its impossible to check for duplicates
|
|
33
|
+
// all would return 'Function' type
|
|
34
|
+
if ((0, helpers_js_1.isFactory)(type)) {
|
|
35
|
+
value.push(type);
|
|
36
|
+
}
|
|
37
|
+
else if (!value.find((v) => (0, helpers_js_1.getTypeName)(v) === (0, helpers_js_1.getTypeName)(type))) {
|
|
38
|
+
value.push(type);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.registry.set(tname, [type]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
hasRegisteredType(source, type, parent) {
|
|
47
|
+
const sourceName = (0, helpers_js_1.getTypeName)(source);
|
|
48
|
+
const targetName = (0, helpers_js_1.getTypeName)(type);
|
|
49
|
+
if (this.registry.has(sourceName)) {
|
|
50
|
+
return this.registry.get(sourceName).find((s) => s.name === targetName) !== undefined;
|
|
51
|
+
}
|
|
52
|
+
else if (parent && this.container.Parent) {
|
|
53
|
+
return this.container.Parent.hasRegisteredType(source, type, parent);
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
getTypes(service, parent = true) {
|
|
58
|
+
if (!service) {
|
|
59
|
+
throw new exceptions_1.InvalidArgument('argument "service" cannot be null or empty');
|
|
60
|
+
}
|
|
61
|
+
const name = (0, helpers_js_1.getTypeName)(service);
|
|
62
|
+
if (this.registry.has(name)) {
|
|
63
|
+
return this.registry.get(name);
|
|
64
|
+
}
|
|
65
|
+
if (this.container.Parent && parent) {
|
|
66
|
+
return this.container.Parent.getRegisteredTypes(service, parent);
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
hasRegistered(service, parent = true) {
|
|
71
|
+
if (this.registry.has((0, helpers_js_1.getTypeName)(service))) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
else if (parent && this.container.Parent) {
|
|
75
|
+
return this.container.Parent.hasRegistered(service, parent);
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Registry = Registry;
|
|
81
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":";;;AAAA,oDAAwE;AAExE,6CAA+E;AAI/E,MAAa,QAAQ;IAGnB,YAAsB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;QAFjC,aAAQ,GAAuB,IAAI,GAAG,EAAiB,CAAC;IAEpB,CAAC;IAExC,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEM,UAAU,CAAC,IAAS;QACzB,MAAM,KAAK,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAW,EAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,IAA2C,EAAE,IAAS;QACpE,IAAI,CAAC,IAAA,0BAAa,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,qBAAQ,EAAC,IAAI,CAAC,EAAE;YAC/D,MAAM,IAAI,6BAAgB,CAAC,8DAA8D,CAAC,CAAC;SAC5F;aAAM;YACL,MAAM,KAAK,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE;gBACT,+CAA+C;gBAC/C,yCAAyC;gBACzC,mCAAmC;gBACnC,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClB;qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAW,EAAC,CAAC,CAAC,KAAK,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAC,EAAE;oBACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClB;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aAClC;SACF;IACH,CAAC;IAEM,iBAAiB,CAAC,MAA6C,EAAE,IAAoD,EAAE,MAAgB;QAC5I,MAAM,UAAU,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC;SACvF;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACtE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,QAAQ,CAAI,OAA0C,EAAE,MAAM,GAAG,IAAI;QAC1E,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,4BAAe,CAAC,4CAA4C,CAAC,CAAC;SACzE;QAED,MAAM,IAAI,GAAG,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAClE;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAI,OAA0C,EAAE,MAAM,GAAG,IAAI;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC7D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/ED,4BA+EC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/root.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/root.js
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.child = exports.checkType = exports.check = exports.has = exports.getRegisteredTypes = exports.get = exports.resolve = exports.uncache = exports.unregister = exports.register = exports.dispose = 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
|
+
const container_js_1 = require("./container.js");
|
|
5
|
+
/**
|
|
6
|
+
* App main DI container
|
|
7
|
+
*/
|
|
8
|
+
exports.RootContainer = new container_js_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
|
+
async function dispose() {
|
|
100
|
+
await exports.RootContainer.dispose();
|
|
101
|
+
}
|
|
102
|
+
exports.dispose = dispose;
|
|
103
|
+
/**
|
|
104
|
+
* Register class/interface to DI root container. If
|
|
105
|
+
* @param type - interface object to register
|
|
106
|
+
* @throws {@link InvalidArgument} if type is null or undefined
|
|
107
|
+
*/
|
|
108
|
+
function register(type) {
|
|
109
|
+
return exports.RootContainer.register(type);
|
|
110
|
+
}
|
|
111
|
+
exports.register = register;
|
|
112
|
+
function unregister(type) {
|
|
113
|
+
exports.RootContainer.unregister(type);
|
|
114
|
+
}
|
|
115
|
+
exports.unregister = unregister;
|
|
116
|
+
function uncache(type, parent) {
|
|
117
|
+
exports.RootContainer.uncache(type, parent);
|
|
118
|
+
}
|
|
119
|
+
exports.uncache = uncache;
|
|
120
|
+
function resolve(type, options, check) {
|
|
121
|
+
return exports.RootContainer.resolve(type, options, check);
|
|
122
|
+
}
|
|
123
|
+
exports.resolve = resolve;
|
|
124
|
+
function get(serviceName) {
|
|
125
|
+
return exports.RootContainer.get(serviceName);
|
|
126
|
+
}
|
|
127
|
+
exports.get = get;
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* Returns list of types registered at given type, eg. all types/services registered under BaseService
|
|
131
|
+
*
|
|
132
|
+
* @param type - base type to check
|
|
133
|
+
*/
|
|
134
|
+
function getRegisteredTypes(type) {
|
|
135
|
+
return exports.RootContainer.getRegisteredTypes(type);
|
|
136
|
+
}
|
|
137
|
+
exports.getRegisteredTypes = getRegisteredTypes;
|
|
138
|
+
/**
|
|
139
|
+
* Checks if service is already resolved and exists in container cache.
|
|
140
|
+
* NOTE: check is only valid for classes that are singletons.
|
|
141
|
+
*
|
|
142
|
+
* @param service - service name or class to check
|
|
143
|
+
*/
|
|
144
|
+
function has(service) {
|
|
145
|
+
return exports.RootContainer.isResolved(service);
|
|
146
|
+
}
|
|
147
|
+
exports.has = has;
|
|
148
|
+
/**
|
|
149
|
+
* Checks if service is registered in container.
|
|
150
|
+
*
|
|
151
|
+
* @param service - service class object to check
|
|
152
|
+
*/
|
|
153
|
+
function check(service) {
|
|
154
|
+
return exports.RootContainer.hasRegistered(service);
|
|
155
|
+
}
|
|
156
|
+
exports.check = check;
|
|
157
|
+
/**
|
|
158
|
+
* Checks if specific service is registered in container.
|
|
159
|
+
* Eg. we can have multiple drivers registered for queue connections with different protocol implementations
|
|
160
|
+
* and we want to check if specific driver is registered
|
|
161
|
+
*
|
|
162
|
+
* @param source - source class to check ( eg. base class )
|
|
163
|
+
* @param type - specific type to check eg. base class implementation
|
|
164
|
+
*/
|
|
165
|
+
function checkType(source, type) {
|
|
166
|
+
return exports.RootContainer.hasRegisteredType(source, type);
|
|
167
|
+
}
|
|
168
|
+
exports.checkType = checkType;
|
|
169
|
+
/**
|
|
170
|
+
* Creates child DI container.
|
|
171
|
+
*
|
|
172
|
+
*/
|
|
173
|
+
function child() {
|
|
174
|
+
return exports.RootContainer.child();
|
|
175
|
+
}
|
|
176
|
+
exports.child = child;
|
|
177
|
+
//# sourceMappingURL=root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/root.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,QAAQ,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACvD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACtE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC"}
|
package/lib/cjs/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Class } from './types.js';
|
|
2
|
+
declare global {
|
|
3
|
+
interface ArrayConstructor {
|
|
4
|
+
ofType<T>(type: Class<T> | string): TypedArray<T>;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare class TypedArray<R> extends Array<R> {
|
|
8
|
+
Type: Class<R> | string;
|
|
9
|
+
constructor(Type: Class<R> | string);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAgB;QACxB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;KACnD;CACF;AACD,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM;gBAAvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM;CAG3C"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/array.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,UAAc,SAAQ,KAAQ;IACzC,YAAmB,IAAuB;QACxC,KAAK,EAAE,CAAC;QADS,SAAI,GAAJ,IAAI,CAAmB;IAE1C,CAAC;CACF;AAED,KAAK,CAAC,MAAM,GAAG,UAAa,IAAuB;IACjD,OAAO,IAAI,UAAU,CAAI,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IBind, IContainer, ResolvableObject } from './interfaces.js';
|
|
2
|
+
import { Class, Factory } from './types.js';
|
|
3
|
+
export declare class Binder<T> implements IBind {
|
|
4
|
+
private implementation;
|
|
5
|
+
private container;
|
|
6
|
+
private isFactory;
|
|
7
|
+
private isConstructor;
|
|
8
|
+
constructor(implementation: Class<T> | Factory<T> | ResolvableObject, container: IContainer);
|
|
9
|
+
as<T>(type: string | Class<T>): this;
|
|
10
|
+
/**
|
|
11
|
+
* Add plain value to container. If value exists, it overrides content in container cache
|
|
12
|
+
*
|
|
13
|
+
* @param type - name of added value
|
|
14
|
+
* @param override - if true, any value registered before is overriden by new one
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
asValue(type: string, override?: boolean): this;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* Add plain value to container, value is stored in hashmap for quick access
|
|
21
|
+
* eg. we have multiple value converters and we wanc o(1) access, instead searching for
|
|
22
|
+
* converter for specific type
|
|
23
|
+
*
|
|
24
|
+
* @param type - name of added value
|
|
25
|
+
* @param key - hashmap key
|
|
26
|
+
*/
|
|
27
|
+
asMapValue(type: string, key: string): this;
|
|
28
|
+
/**
|
|
29
|
+
* Register type as itself. Usefull when we also want to register type as self instead of base class
|
|
30
|
+
* so we can retrieve just this specific instance.
|
|
31
|
+
* @returns this
|
|
32
|
+
*/
|
|
33
|
+
asSelf(): this;
|
|
34
|
+
/**
|
|
35
|
+
* Mark type as SingleInstance resolve strategy.
|
|
36
|
+
* @returns this
|
|
37
|
+
*/
|
|
38
|
+
singleInstance(): this;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=binder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../src/binder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAqB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5C,qBAAa,MAAM,CAAC,CAAC,CAAE,YAAW,KAAK;IAIzB,OAAO,CAAC,cAAc;IAA4C,OAAO,CAAC,SAAS;IAH/F,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAU;gBAEX,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAU,SAAS,EAAE,UAAU;IAK3G,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAYpC;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,IAAI;IAc7C;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAoBpC;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAad;;;OAGG;IACH,cAAc,IAAI,IAAI;CASvB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binder.js","sourceRoot":"","sources":["../../src/binder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TypedArray } from './array.js';
|
|
2
|
+
import { IContainer } from './interfaces.js';
|
|
3
|
+
import { Class } from './types.js';
|
|
4
|
+
export declare class ContainerCache {
|
|
5
|
+
private container;
|
|
6
|
+
private cache;
|
|
7
|
+
constructor(container: IContainer);
|
|
8
|
+
[Symbol.iterator](): Generator<{
|
|
9
|
+
key: string;
|
|
10
|
+
value: any;
|
|
11
|
+
}, void, unknown>;
|
|
12
|
+
remove(key: string | Class<any> | TypedArray<any>, parent?: boolean): void;
|
|
13
|
+
add(key: string | Class<any> | object, instance: any): void;
|
|
14
|
+
has(key: string | Class<any> | object | TypedArray<any>, parent?: boolean): boolean;
|
|
15
|
+
get(key: string | Class<any> | TypedArray<any>, parent?: boolean): any;
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=container-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-cache.d.ts","sourceRoot":"","sources":["../../src/container-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,cAAc;IAGb,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,KAAK,CAAqB;gBAEd,SAAS,EAAE,UAAU;IAQxC,CAAC,MAAM,CAAC,QAAQ,CAAC;;;;IAQX,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ1E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG;IAYpD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAYnF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,GAAG;IActE,KAAK;CAIb"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-cache.js","sourceRoot":"","sources":["../../src/container-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,OAAO,cAAc;IAGzB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEtC,yBAAyB;QACzB,uCAAuC;QACvC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aACzB;SACF;IACH,CAAC;IAEM,MAAM,CAAC,GAA0C,EAAE,MAAgB;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SACrC;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACpC;IACH,CAAC;IAEM,GAAG,CAAC,GAAiC,EAAE,QAAa;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtC;SACF;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnC;IACH,CAAC;IAEM,GAAG,CAAC,GAAmD,EAAE,MAAgB;QAC9E,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CAAC,GAA0C,EAAE,MAAgB;QACrE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/container.ts"],"names":[],"mappings":"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"}
|