@spinajs/di 2.0.85 → 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.
Files changed (133) hide show
  1. package/lib/{array.d.ts → cjs/array.d.ts} +0 -0
  2. package/lib/cjs/array.d.ts.map +1 -0
  3. package/lib/cjs/array.js +14 -0
  4. package/lib/cjs/array.js.map +1 -0
  5. package/lib/{binder.d.ts → cjs/binder.d.ts} +0 -0
  6. package/lib/cjs/binder.d.ts.map +1 -0
  7. package/lib/cjs/binder.js +97 -0
  8. package/lib/cjs/binder.js.map +1 -0
  9. package/lib/{container-cache.d.ts → cjs/container-cache.d.ts} +0 -0
  10. package/lib/cjs/container-cache.d.ts.map +1 -0
  11. package/lib/cjs/container-cache.js +64 -0
  12. package/lib/cjs/container-cache.js.map +1 -0
  13. package/lib/cjs/container.d.ts +134 -0
  14. package/lib/cjs/container.d.ts.map +1 -0
  15. package/lib/cjs/container.js +466 -0
  16. package/lib/cjs/container.js.map +1 -0
  17. package/lib/{decorators.d.ts → cjs/decorators.d.ts} +0 -0
  18. package/lib/cjs/decorators.d.ts.map +1 -0
  19. package/lib/cjs/decorators.js +304 -0
  20. package/lib/cjs/decorators.js.map +1 -0
  21. package/lib/{enums.d.ts → cjs/enums.d.ts} +0 -0
  22. package/lib/cjs/enums.d.ts.map +1 -0
  23. package/lib/cjs/enums.js +36 -0
  24. package/lib/cjs/enums.js.map +1 -0
  25. package/lib/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
  26. package/lib/cjs/exceptions.d.ts.map +1 -0
  27. package/lib/cjs/exceptions.js +26 -0
  28. package/lib/cjs/exceptions.js.map +1 -0
  29. package/lib/{helpers.d.ts → cjs/helpers.d.ts} +0 -0
  30. package/lib/cjs/helpers.d.ts.map +1 -0
  31. package/lib/cjs/helpers.js +69 -0
  32. package/lib/cjs/helpers.js.map +1 -0
  33. package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
  34. package/lib/cjs/index.d.ts.map +1 -0
  35. package/lib/cjs/index.js +42 -0
  36. package/lib/cjs/index.js.map +1 -0
  37. package/lib/cjs/interfaces.d.ts +152 -0
  38. package/lib/cjs/interfaces.d.ts.map +1 -0
  39. package/lib/cjs/interfaces.js +48 -0
  40. package/lib/cjs/interfaces.js.map +1 -0
  41. package/lib/{registry.d.ts → cjs/registry.d.ts} +0 -0
  42. package/lib/cjs/registry.d.ts.map +1 -0
  43. package/lib/cjs/registry.js +81 -0
  44. package/lib/cjs/registry.js.map +1 -0
  45. package/lib/{root.d.ts → cjs/root.d.ts} +0 -0
  46. package/lib/cjs/root.d.ts.map +1 -0
  47. package/lib/cjs/root.js +177 -0
  48. package/lib/cjs/root.js.map +1 -0
  49. package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
  50. package/lib/cjs/types.d.ts.map +1 -0
  51. package/lib/cjs/types.js +3 -0
  52. package/lib/cjs/types.js.map +1 -0
  53. package/lib/mjs/array.d.ts +11 -0
  54. package/lib/mjs/array.d.ts.map +1 -0
  55. package/lib/{array.js → mjs/array.js} +0 -0
  56. package/lib/mjs/array.js.map +1 -0
  57. package/lib/mjs/binder.d.ts +40 -0
  58. package/lib/mjs/binder.d.ts.map +1 -0
  59. package/lib/{binder.js → mjs/binder.js} +0 -0
  60. package/lib/mjs/binder.js.map +1 -0
  61. package/lib/mjs/container-cache.d.ts +18 -0
  62. package/lib/mjs/container-cache.d.ts.map +1 -0
  63. package/lib/{container-cache.js → mjs/container-cache.js} +0 -0
  64. package/lib/mjs/container-cache.js.map +1 -0
  65. package/lib/{container.d.ts → mjs/container.d.ts} +0 -0
  66. package/lib/mjs/container.d.ts.map +1 -0
  67. package/lib/{container.js → mjs/container.js} +0 -0
  68. package/lib/mjs/container.js.map +1 -0
  69. package/lib/mjs/decorators.d.ts +142 -0
  70. package/lib/mjs/decorators.d.ts.map +1 -0
  71. package/lib/{decorators.js → mjs/decorators.js} +0 -0
  72. package/lib/mjs/decorators.js.map +1 -0
  73. package/lib/mjs/enums.d.ts +32 -0
  74. package/lib/mjs/enums.d.ts.map +1 -0
  75. package/lib/{enums.js → mjs/enums.js} +1 -1
  76. package/lib/mjs/enums.js.map +1 -0
  77. package/lib/mjs/exceptions.d.ts +18 -0
  78. package/lib/mjs/exceptions.d.ts.map +1 -0
  79. package/lib/{exceptions.js → mjs/exceptions.js} +0 -0
  80. package/lib/mjs/exceptions.js.map +1 -0
  81. package/lib/mjs/helpers.d.ts +26 -0
  82. package/lib/mjs/helpers.d.ts.map +1 -0
  83. package/lib/{helpers.js → mjs/helpers.js} +0 -0
  84. package/lib/mjs/helpers.js.map +1 -0
  85. package/lib/mjs/index.d.ts +13 -0
  86. package/lib/mjs/index.d.ts.map +1 -0
  87. package/lib/{index.js → mjs/index.js} +0 -0
  88. package/lib/mjs/index.js.map +1 -0
  89. package/lib/{interfaces.d.ts → mjs/interfaces.d.ts} +0 -0
  90. package/lib/mjs/interfaces.d.ts.map +1 -0
  91. package/lib/{interfaces.js → mjs/interfaces.js} +0 -0
  92. package/lib/mjs/interfaces.js.map +1 -0
  93. package/lib/mjs/registry.d.ts +15 -0
  94. package/lib/mjs/registry.d.ts.map +1 -0
  95. package/lib/{registry.js → mjs/registry.js} +0 -0
  96. package/lib/mjs/registry.js.map +1 -0
  97. package/lib/mjs/root.d.ts +107 -0
  98. package/lib/mjs/root.d.ts.map +1 -0
  99. package/lib/{root.js → mjs/root.js} +0 -0
  100. package/lib/mjs/root.js.map +1 -0
  101. package/lib/mjs/types.d.ts +14 -0
  102. package/lib/mjs/types.d.ts.map +1 -0
  103. package/lib/{types.js → mjs/types.js} +0 -0
  104. package/lib/mjs/types.js.map +1 -0
  105. package/lib/tsconfig.cjs.tsbuildinfo +1 -0
  106. package/lib/tsconfig.tsbuildinfo +1 -0
  107. package/package.json +11 -4
  108. package/lib/array.d.ts.map +0 -1
  109. package/lib/array.js.map +0 -1
  110. package/lib/binder.d.ts.map +0 -1
  111. package/lib/binder.js.map +0 -1
  112. package/lib/container-cache.d.ts.map +0 -1
  113. package/lib/container-cache.js.map +0 -1
  114. package/lib/container.d.ts.map +0 -1
  115. package/lib/container.js.map +0 -1
  116. package/lib/decorators.d.ts.map +0 -1
  117. package/lib/decorators.js.map +0 -1
  118. package/lib/enums.d.ts.map +0 -1
  119. package/lib/enums.js.map +0 -1
  120. package/lib/exceptions.d.ts.map +0 -1
  121. package/lib/exceptions.js.map +0 -1
  122. package/lib/helpers.d.ts.map +0 -1
  123. package/lib/helpers.js.map +0 -1
  124. package/lib/index.d.ts.map +0 -1
  125. package/lib/index.js.map +0 -1
  126. package/lib/interfaces.d.ts.map +0 -1
  127. package/lib/interfaces.js.map +0 -1
  128. package/lib/registry.d.ts.map +0 -1
  129. package/lib/registry.js.map +0 -1
  130. package/lib/root.d.ts.map +0 -1
  131. package/lib/root.js.map +0 -1
  132. package/lib/types.d.ts.map +0 -1
  133. package/lib/types.js.map +0 -1
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { IAutoinjectOptions, IInjectDescriptor } from './interfaces.js';
2
+ import { Class } from './types.js';
3
+ import { TypedArray } from './array.js';
4
+ export declare const DI_DESCRIPTION_SYMBOL = "__DI_INJECTION_DESCRIPTOR__";
5
+ export declare function AddDependencyForProperty(callback?: (descriptor: IInjectDescriptor<unknown>, target: Class<unknown>, propertyKey: string | symbol, indexOrDescriptor: number | PropertyDescriptor) => void): any;
6
+ export declare function AddDependency(callback?: (descriptor: IInjectDescriptor<unknown>, target: Class<unknown>, propertyKey: string | symbol, indexOrDescriptor: number | PropertyDescriptor) => void): any;
7
+ /**
8
+ *
9
+ * Class with this decorator is automatically registered in DI container an can be resolved.
10
+ * NOTE: we dont need to register class before resolving. Injectable decorator is mainly used in extensions & plugins
11
+ * to register implementation that can be resolved by framework or other parts without knowing about specific implementations eg.
12
+ * avaible database drivers.
13
+ *
14
+ * @param as - register class in DI container as something else.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ *
19
+ * @Injectable(OrmDriver)
20
+ * class MysqlOrmDriver{
21
+ *
22
+ * // implementation ...
23
+ * }
24
+ *
25
+ *
26
+ * // somewhere else in code
27
+ * const avaibleDrivers = DI.resolve(Array.of(OrmDriver));
28
+ *
29
+ *
30
+ * ```
31
+ *
32
+ */
33
+ export declare function Injectable(as?: Class<unknown> | string): (target: Class<unknown>) => void;
34
+ /**
35
+ * Sets dependency injection guidelines - what to inject for specified class. If multiple instances are registered at specified type,
36
+ * only first one is resolved and injected
37
+ * @param args - what to inject - class definitions
38
+ * @example
39
+ * ```javascript
40
+ *
41
+ * @Inject(Bar)
42
+ * class Foo{
43
+ *
44
+ * @Inject(Bar)
45
+ * barInstance : Bar;
46
+ *
47
+ * constructor(bar : Bar){
48
+ * // bar is injected when Foo is created via DI container
49
+ * this.barInstance = bar;
50
+ * }
51
+ *
52
+ * someFunc(){
53
+ *
54
+ * this._barInstance.doSmth();
55
+ * }
56
+ * }
57
+ *
58
+ * ```
59
+ */
60
+ export declare function Inject(...args: (Class<any> | TypedArray<any>)[]): any;
61
+ /**
62
+ * Automatically injects dependency based on reflected property type. Uses experimental typescript reflection api
63
+ * If decorator is applied to array property all registered type instances are injected, otherwise only first / only that exists
64
+ *
65
+ * @param injectType - when injecting array of some type, type must be explicitly provided. Typescript reflection cant reflect declared array types
66
+ * @param mapFunc - when injecting array we sometimes need services mapped by some kind of key, so later we dont need to search o(n) elements for specific service, but reference by key/name
67
+ * @example
68
+ * ```javascript
69
+ * class Foo{
70
+ *
71
+ * @Autoinject
72
+ * barInstance : Bar;
73
+ *
74
+ * constructor(){
75
+ * // ....
76
+ * }
77
+ *
78
+ * someFunc(){
79
+ *
80
+ * // automatically injected dependency is avaible now
81
+ * this.barInstance.doSmth();
82
+ * }
83
+ * }
84
+ *
85
+ * ```
86
+ */
87
+ export declare function Autoinject<T>(typeOrOptions?: Class<T> | IAutoinjectOptions, options?: IAutoinjectOptions): any;
88
+ /**
89
+ * Lazy injects service to object. Use only with class properties
90
+ *
91
+ * @param service - class or name of service to inject
92
+ *
93
+ * @example
94
+ * ```javascript
95
+ *
96
+ * class Foo{
97
+ * ...
98
+ *
99
+ * @LazyInject(Bar)
100
+ * _barInstance : Bar; // _barInstance is not yet resolved
101
+ *
102
+ * someFunc(){
103
+ * // barInstance is resolved only when first accessed
104
+ * this._barInstance.doSmth();
105
+ * }
106
+ * }
107
+ *
108
+ * ```
109
+ */
110
+ export declare function LazyInject(service?: Class<any> | string): (target?: any, key?: string) => void;
111
+ /**
112
+ * Per child instance injection decorator - object is resolved once per container - child containers have own instances.
113
+ */
114
+ export declare function PerChildInstance(): any;
115
+ /**
116
+ * NewInstance injection decorator - every time class is injected - its created from scratch
117
+ */
118
+ export declare function NewInstance(): any;
119
+ /**
120
+ * If we have multiple registered types at one base type
121
+ * we can resolve only one by default. Per instance means, that
122
+ * we can resolve all types registered at base type once. Limitaiton is
123
+ * that, you should call resolve not on base type, but on target type.
124
+ *
125
+ * In comparison, Singleton flag means that only one instance can be resolved
126
+ * for base class
127
+ */
128
+ export declare function PerInstance(): any;
129
+ /**
130
+ *
131
+ * Before resolve, check function on all resolved instances of given type is called with creation options
132
+ * It is used for ensuring that for eg. only one instance of service with provided
133
+ * options is resolved, but allow to create with other option set
134
+ *
135
+ * @returns
136
+ */
137
+ export declare function PerInstanceCheck(): any;
138
+ /**
139
+ * Singleton injection decorator - every time class is resolved - its created only once globally ( even in child DI containers )
140
+ */
141
+ export declare function Singleton(): any;
142
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,kBAAkB,KAAK,IAAI,GAAG,GAAG,CAgB/M;AAED,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,kBAAkB,KAAK,IAAI,GAAG,GAAG,CAgBpM;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,YACrC,MAAM,OAAO,CAAC,UAO/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OA0B/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,kBAAkB,OAuBxG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,aACrC,GAAG,QAAQ,MAAM,UAqBnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,QAI/B;AAED;;GAEG;AACH,wBAAgB,WAAW,QAI1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,QAI1B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,QAI/B;AAED;;GAEG;AACH,wBAAgB,SAAS,QAExB"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * How to resolve class
3
+ */
4
+ export declare enum ResolveType {
5
+ /**
6
+ * Application wise single instance. Default behaviour
7
+ */
8
+ Singleton = 0,
9
+ /**
10
+ * New instance every time is requested
11
+ */
12
+ NewInstance = 1,
13
+ /**
14
+ * New instance per child DI container.
15
+ */
16
+ PerChildContainer = 2,
17
+ /**
18
+ * Singleton per target type
19
+ *
20
+ * eg. if we have multiple registered types at one base type
21
+ * we can resolve any of it once
22
+ *
23
+ * In comparison, Singleton flag means that only one instance can be resolved
24
+ * for base class
25
+ */
26
+ PerInstance = 3,
27
+ /**
28
+ * Only one instance with given name can exists of the same service
29
+ */
30
+ PerInstanceCheck = 4
31
+ }
32
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,SAAS,IAAA;IAET;;OAEG;IACH,WAAW,IAAA;IAEX;;OAEG;IACH,iBAAiB,IAAA;IAEjB;;;;;;;;OAQG;IACH,WAAW,IAAA;IAEX;;OAEG;IACH,gBAAgB,IAAA;CACjB"}
@@ -29,5 +29,5 @@ export var ResolveType;
29
29
  * Only one instance with given name can exists of the same service
30
30
  */
31
31
  ResolveType[ResolveType["PerInstanceCheck"] = 4] = "PerInstanceCheck";
32
- })(ResolveType || (ResolveType = {}));
32
+ })(ResolveType = ResolveType || (ResolveType = {}));
33
33
  //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,WA+BX;AA/BD,WAAY,WAAW;IACrB;;OAEG;IACH,uDAAS,CAAA;IAET;;OAEG;IACH,2DAAW,CAAA;IAEX;;OAEG;IACH,uEAAiB,CAAA;IAEjB;;;;;;;;OAQG;IACH,2DAAW,CAAA;IAEX;;OAEG;IACH,qEAAgB,CAAA;AAClB,CAAC,EA/BW,WAAW,GAAX,WAAW,KAAX,WAAW,QA+BtB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Exception thrown when cannot resolve type
3
+ */
4
+ export declare class ResolveException extends Error {
5
+ /**
6
+ * Constructs new exception with message
7
+ * @param message - error message
8
+ */
9
+ constructor(message?: string);
10
+ }
11
+ export declare class BindException extends Error {
12
+ }
13
+ /**
14
+ * Service is not registered in DI container
15
+ */
16
+ export declare class ServiceNotFound extends Error {
17
+ }
18
+ //# sourceMappingURL=exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;CAAG"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;;;OAGG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,26 @@
1
+ import { TypedArray } from './array.js';
2
+ import { AsyncService, SyncService } from './interfaces.js';
3
+ import { Factory, Class } from './types.js';
4
+ /**
5
+ * Checks if value is constructable type.
6
+ * Checks for [[Construct]] internal function in object.
7
+ *
8
+ * @param value - value to test
9
+ */
10
+ export declare function isConstructor(value: any): value is Class<unknown>;
11
+ export declare function isFactory(value: any): value is Factory<any>;
12
+ export declare function isObject(value: any): value is object;
13
+ export declare function isAsyncService(value: any): value is AsyncService;
14
+ export declare function isPromise(value: any): value is Promise<any>;
15
+ export declare function isSyncService(value: any): value is SyncService;
16
+ /**
17
+ * For DI purpose we treat Map as array to inject. Difference is, that we fill map by some key
18
+ * provided by mapFunc in \@Autoinject
19
+ * @param value - value to check type
20
+ * @returns
21
+ */
22
+ export declare function isTypedArray(value: any): value is TypedArray<any>;
23
+ export declare function isMap(value: any): value is Map<string, any>;
24
+ export declare function uniqBy<T>(arr: T[], comparator: (a: T, b: T) => boolean): T[];
25
+ export declare function getTypeName(type: TypedArray<any> | Class<any> | string | object): string;
26
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAQjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAE3D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM,CAEpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAEhE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAEjE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAE3D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,OAQtE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAExF"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,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;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAU;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,OAAO,KAAK,YAAY,YAAY,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,KAAK,YAAY,OAAO,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAU;IACtC,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAU;IACrC,OAAO,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAU;IAC9B,OAAO,KAAK,YAAY,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,GAAQ,EAAE,UAAmC;IACrE,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAoD;IAC9E,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACjJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ export * from './interfaces.js';
2
+ export * from './array.js';
3
+ export * from './decorators.js';
4
+ export * from './enums.js';
5
+ export * from './types.js';
6
+ export * from './helpers.js';
7
+ export * from './container-cache.js';
8
+ export * from './binder.js';
9
+ export * from './registry.js';
10
+ export * from './container.js';
11
+ export * as DI from './root.js';
12
+ export * from './exceptions.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IAEnB,KAAK,IAAI,IAAI,CAAC;IACd,aAAa,IAAI,IAAI,CAAC;IACtB,UAAU,IAAI,IAAI,CAAC;IAEnB,QAAQ,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,KAAK,CAAC;IAC7E,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACvF,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9E,KAAK,IAAI,UAAU,CAAC;IACpB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAC7D,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC;IAC/D,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACrF,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9H,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACrE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACxF,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAEjJ,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7H,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9F,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IAEhI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,KAAK,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;IACzG,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AASH,qBAAa,OAAO;IAClB,SAAS,CAAC,QAAQ,UAAS;IAC3B,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;;OAGG;IACU,OAAO;CACrB;AAED,8BAAsB,WAAY,SAAQ,OAAO;IACxC,OAAO;CAGf;AAED,qBAAa,YAAa,SAAQ,OAAO;IAE1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED,8BAAsB,YAAY;aAChB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC1C,OAAO,CAAC,EAAE,GAAG,CAAC;CACf"}
File without changes
@@ -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,MAAM,OAAO,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;AAED,MAAM,OAAgB,WAAY,SAAQ,OAAO;IACxC,OAAO;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,oBAAoB;IACb,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAgB,YAAY;CAEjC"}
@@ -0,0 +1,15 @@
1
+ import { TypedArray } from './array.js';
2
+ import { IContainer } from './interfaces.js';
3
+ import { Class, Factory } from './types.js';
4
+ export declare class Registry {
5
+ protected container: IContainer;
6
+ protected registry: Map<string, any[]>;
7
+ constructor(container: IContainer);
8
+ clear(): void;
9
+ unregister(type: any): void;
10
+ register(name: string | Class<any> | TypedArray<any>, type: any): void;
11
+ hasRegisteredType(source: Class<any> | string | TypedArray<any>, type: Class<any> | string | TypedArray<any> | object, parent?: boolean): boolean;
12
+ getTypes<T>(service: string | Class<T> | TypedArray<T>, parent?: boolean): Array<Class<unknown> | Factory<unknown>>;
13
+ hasRegistered<T>(service: TypedArray<T> | Class<T> | string, parent?: boolean): boolean;
14
+ }
15
+ //# sourceMappingURL=registry.d.ts.map
@@ -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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { IBind, IContainer, AsyncService, ResolvableObject } from './interfaces.js';
2
+ import { Class, Factory } from './types.js';
3
+ import { TypedArray } from './array.js';
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
+ export declare function dispose(): Promise<void>;
44
+ /**
45
+ * Register class/interface to DI root container. If
46
+ * @param type - interface object to register
47
+ * @throws {@link InvalidArgument} if type is null or undefined
48
+ */
49
+ export declare function register<T>(type: Class<T> | Factory<T> | ResolvableObject): IBind;
50
+ export declare function unregister<T>(type: string | Class<T> | Factory<T> | ResolvableObject): void;
51
+ export declare function uncache<T>(type: string | Class<T> | TypedArray<T>, parent?: boolean): void;
52
+ /**
53
+ * Resolves specified type from root container.
54
+ *
55
+ * @param type - class to resolve
56
+ * @param options - optional parameters passed to class constructor
57
+ * @param check - use parent container to check when resolving
58
+ * @throws {@link InvalidArgument} if type is null or undefined
59
+ */
60
+ export declare function resolve<T>(type: string, options?: unknown[], check?: boolean): T;
61
+ export declare function resolve<T>(type: string, check?: boolean): T;
62
+ export declare function resolve<T>(type: Class<T>, check?: boolean): T extends AsyncService ? Promise<T> : T;
63
+ export declare function resolve<T>(type: TypedArray<T>, check?: boolean): T extends AsyncService ? Promise<T[]> : T[];
64
+ export declare function resolve<T>(type: Class<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncService ? Promise<T> : T;
65
+ export declare function resolve<T>(type: TypedArray<T>, options?: unknown[] | boolean, check?: boolean): T extends AsyncService ? Promise<T[]> : T[];
66
+ /**
67
+ * Gets already resolved service from root container.
68
+ *
69
+ * @param serviceName - name of service to get
70
+ */
71
+ export declare function get<T>(serviceName: TypedArray<T>): T[] | null;
72
+ export declare function get<T>(serviceName: string | Class<T>): T | null;
73
+ /**
74
+ *
75
+ * Returns list of types registered at given type, eg. all types/services registered under BaseService
76
+ *
77
+ * @param type - base type to check
78
+ */
79
+ export declare function getRegisteredTypes<T>(type: string | Class<T>): Class<T>[];
80
+ /**
81
+ * Checks if service is already resolved and exists in container cache.
82
+ * NOTE: check is only valid for classes that are singletons.
83
+ *
84
+ * @param service - service name or class to check
85
+ */
86
+ export declare function has<T>(service: string | Class<T>): boolean;
87
+ /**
88
+ * Checks if service is registered in container.
89
+ *
90
+ * @param service - service class object to check
91
+ */
92
+ export declare function check<T>(service: Class<T> | string): boolean;
93
+ /**
94
+ * Checks if specific service is registered in container.
95
+ * Eg. we can have multiple drivers registered for queue connections with different protocol implementations
96
+ * and we want to check if specific driver is registered
97
+ *
98
+ * @param source - source class to check ( eg. base class )
99
+ * @param type - specific type to check eg. base class implementation
100
+ */
101
+ export declare function checkType<T>(source: Class<any> | string | TypedArray<any>, type: Class<T> | string | TypedArray<T> | object): boolean;
102
+ /**
103
+ * Creates child DI container.
104
+ *
105
+ */
106
+ export declare function child(): IContainer;
107
+ //# sourceMappingURL=root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/root.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/root.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IContainer } from './interfaces.js';
2
+ export type Abstract<T> = Function & {
3
+ prototype: T;
4
+ };
5
+ export type Constructor<T> = new (...args: any[]) => T;
6
+ export 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
+ */
12
+ export type Factory<T> = (container: IContainer, ...args: any[]) => T;
13
+ export type ClassArray<T> = Class<T>[];
14
+ //# sourceMappingURL=types.d.ts.map
@@ -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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}