ts-ioc-container 20.2.1 → 20.2.3

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 (198) hide show
  1. package/README.md +1 -1
  2. package/cjm/{core/IInjector.js.map → IInjector.js.map} +1 -1
  3. package/cjm/{AutoMockedContainer.d.ts → container/AutoMockedContainer.d.ts} +1 -1
  4. package/cjm/{AutoMockedContainer.js → container/AutoMockedContainer.js} +1 -1
  5. package/cjm/container/AutoMockedContainer.js.map +1 -0
  6. package/cjm/{core/container → container}/Container.d.ts +2 -1
  7. package/cjm/container/Container.js.map +1 -0
  8. package/cjm/container/ContainerDisposedError.js.map +1 -0
  9. package/cjm/container/EmptyContainer.js.map +1 -0
  10. package/{esm/core → cjm}/container/IContainer.d.ts +1 -4
  11. package/cjm/container/IContainer.js.map +1 -0
  12. package/cjm/hooks/MethodReflector.d.ts +1 -2
  13. package/cjm/hooks/MethodReflector.js.map +1 -1
  14. package/cjm/index.d.ts +26 -27
  15. package/cjm/index.js +55 -29
  16. package/cjm/index.js.map +1 -1
  17. package/cjm/provider/ArgsProvider.d.ts +11 -0
  18. package/cjm/{providers → provider}/ArgsProvider.js +2 -12
  19. package/cjm/provider/ArgsProvider.js.map +1 -0
  20. package/cjm/provider/IProvider.js.map +1 -0
  21. package/{esm/core → cjm}/provider/Provider.d.ts +2 -5
  22. package/cjm/{core/provider → provider}/Provider.js +1 -17
  23. package/cjm/provider/Provider.js.map +1 -0
  24. package/cjm/provider/ProviderDecorator.js.map +1 -0
  25. package/cjm/provider/ProviderHasNoKeyError.js.map +1 -0
  26. package/cjm/provider/ProviderNotFoundError.js.map +1 -0
  27. package/cjm/provider/ProviderRepo.js.map +1 -0
  28. package/cjm/provider/SingletonProvider.d.ts +11 -0
  29. package/cjm/{providers → provider}/SingletonProvider.js +3 -10
  30. package/cjm/provider/SingletonProvider.js.map +1 -0
  31. package/{esm/providers → cjm/provider}/TaggedProvider.d.ts +2 -3
  32. package/cjm/provider/TaggedProvider.js +38 -0
  33. package/cjm/provider/TaggedProvider.js.map +1 -0
  34. package/cjm/registration/Registration.d.ts +5 -0
  35. package/cjm/{hooks/IMethodReflector.js → registration/Registration.js} +1 -1
  36. package/cjm/registration/Registration.js.map +1 -0
  37. package/cjm/registration/RegistrationBuilder.d.ts +16 -0
  38. package/cjm/{providers → registration}/RegistrationBuilder.js +5 -19
  39. package/cjm/registration/RegistrationBuilder.js.map +1 -0
  40. package/cjm/registration/RegistrationReflector.d.ts +8 -0
  41. package/cjm/registration/RegistrationReflector.js +21 -0
  42. package/cjm/registration/RegistrationReflector.js.map +1 -0
  43. package/cjm/utils/MethodNotImplementedError.js.map +1 -0
  44. package/{esm/core → cjm}/utils/types.d.ts +1 -0
  45. package/cjm/utils/types.js.map +1 -0
  46. package/esm/{core/IInjector.js.map → IInjector.js.map} +1 -1
  47. package/esm/{AutoMockedContainer.d.ts → container/AutoMockedContainer.d.ts} +1 -1
  48. package/esm/{AutoMockedContainer.js → container/AutoMockedContainer.js} +1 -1
  49. package/esm/container/AutoMockedContainer.js.map +1 -0
  50. package/esm/{core/container → container}/Container.d.ts +2 -1
  51. package/esm/container/Container.js.map +1 -0
  52. package/esm/container/ContainerDisposedError.js.map +1 -0
  53. package/esm/container/EmptyContainer.js.map +1 -0
  54. package/{cjm/core → esm}/container/IContainer.d.ts +1 -4
  55. package/esm/container/IContainer.js.map +1 -0
  56. package/esm/hooks/MethodReflector.d.ts +1 -2
  57. package/esm/hooks/MethodReflector.js.map +1 -1
  58. package/esm/index.d.ts +26 -27
  59. package/esm/index.js +36 -16
  60. package/esm/index.js.map +1 -1
  61. package/esm/provider/ArgsProvider.d.ts +11 -0
  62. package/esm/{providers → provider}/ArgsProvider.js +1 -6
  63. package/esm/provider/ArgsProvider.js.map +1 -0
  64. package/esm/provider/IProvider.js.map +1 -0
  65. package/{cjm/core → esm}/provider/Provider.d.ts +2 -5
  66. package/esm/provider/Provider.js +22 -0
  67. package/esm/provider/Provider.js.map +1 -0
  68. package/esm/provider/ProviderDecorator.js.map +1 -0
  69. package/esm/provider/ProviderHasNoKeyError.js.map +1 -0
  70. package/esm/provider/ProviderNotFoundError.js.map +1 -0
  71. package/esm/provider/ProviderRepo.js.map +1 -0
  72. package/esm/provider/SingletonProvider.d.ts +11 -0
  73. package/esm/{providers → provider}/SingletonProvider.js +2 -8
  74. package/esm/provider/SingletonProvider.js.map +1 -0
  75. package/{cjm/providers → esm/provider}/TaggedProvider.d.ts +2 -3
  76. package/esm/provider/TaggedProvider.js +16 -0
  77. package/esm/provider/TaggedProvider.js.map +1 -0
  78. package/esm/registration/Registration.d.ts +5 -0
  79. package/esm/registration/Registration.js +2 -0
  80. package/esm/registration/Registration.js.map +1 -0
  81. package/esm/registration/RegistrationBuilder.d.ts +16 -0
  82. package/esm/{providers → registration}/RegistrationBuilder.js +4 -15
  83. package/esm/registration/RegistrationBuilder.js.map +1 -0
  84. package/esm/registration/RegistrationReflector.d.ts +8 -0
  85. package/esm/registration/RegistrationReflector.js +16 -0
  86. package/esm/registration/RegistrationReflector.js.map +1 -0
  87. package/esm/utils/MethodNotImplementedError.js.map +1 -0
  88. package/{cjm/core → esm}/utils/types.d.ts +1 -0
  89. package/esm/utils/types.js.map +1 -0
  90. package/package.json +2 -2
  91. package/cjm/AutoMockedContainer.js.map +0 -1
  92. package/cjm/core/container/Container.js.map +0 -1
  93. package/cjm/core/container/ContainerDisposedError.js.map +0 -1
  94. package/cjm/core/container/EmptyContainer.js.map +0 -1
  95. package/cjm/core/container/IContainer.js.map +0 -1
  96. package/cjm/core/provider/IProvider.js.map +0 -1
  97. package/cjm/core/provider/IProviderReflector.d.ts +0 -7
  98. package/cjm/core/provider/IProviderReflector.js +0 -3
  99. package/cjm/core/provider/IProviderReflector.js.map +0 -1
  100. package/cjm/core/provider/Provider.js.map +0 -1
  101. package/cjm/core/provider/ProviderDecorator.js.map +0 -1
  102. package/cjm/core/provider/ProviderHasNoKeyError.js.map +0 -1
  103. package/cjm/core/provider/ProviderNotFoundError.js.map +0 -1
  104. package/cjm/core/provider/ProviderReflector.d.ts +0 -11
  105. package/cjm/core/provider/ProviderReflector.js +0 -26
  106. package/cjm/core/provider/ProviderReflector.js.map +0 -1
  107. package/cjm/core/provider/ProviderRepo.js.map +0 -1
  108. package/cjm/core/utils/MethodNotImplementedError.js.map +0 -1
  109. package/cjm/core/utils/others.d.ts +0 -2
  110. package/cjm/core/utils/others.js +0 -8
  111. package/cjm/core/utils/others.js.map +0 -1
  112. package/cjm/core/utils/types.js.map +0 -1
  113. package/cjm/hooks/IMethodReflector.d.ts +0 -3
  114. package/cjm/hooks/IMethodReflector.js.map +0 -1
  115. package/cjm/providers/ArgsProvider.d.ts +0 -13
  116. package/cjm/providers/ArgsProvider.js.map +0 -1
  117. package/cjm/providers/RegistrationBuilder.d.ts +0 -20
  118. package/cjm/providers/RegistrationBuilder.js.map +0 -1
  119. package/cjm/providers/SingletonProvider.d.ts +0 -12
  120. package/cjm/providers/SingletonProvider.js.map +0 -1
  121. package/cjm/providers/TaggedProvider.js +0 -79
  122. package/cjm/providers/TaggedProvider.js.map +0 -1
  123. package/esm/AutoMockedContainer.js.map +0 -1
  124. package/esm/core/container/Container.js.map +0 -1
  125. package/esm/core/container/ContainerDisposedError.js.map +0 -1
  126. package/esm/core/container/EmptyContainer.js.map +0 -1
  127. package/esm/core/container/IContainer.js.map +0 -1
  128. package/esm/core/provider/IProvider.js.map +0 -1
  129. package/esm/core/provider/IProviderReflector.d.ts +0 -7
  130. package/esm/core/provider/IProviderReflector.js +0 -2
  131. package/esm/core/provider/IProviderReflector.js.map +0 -1
  132. package/esm/core/provider/Provider.js +0 -35
  133. package/esm/core/provider/Provider.js.map +0 -1
  134. package/esm/core/provider/ProviderDecorator.js.map +0 -1
  135. package/esm/core/provider/ProviderHasNoKeyError.js.map +0 -1
  136. package/esm/core/provider/ProviderNotFoundError.js.map +0 -1
  137. package/esm/core/provider/ProviderReflector.d.ts +0 -11
  138. package/esm/core/provider/ProviderReflector.js +0 -21
  139. package/esm/core/provider/ProviderReflector.js.map +0 -1
  140. package/esm/core/provider/ProviderRepo.js.map +0 -1
  141. package/esm/core/utils/MethodNotImplementedError.js.map +0 -1
  142. package/esm/core/utils/others.d.ts +0 -2
  143. package/esm/core/utils/others.js +0 -3
  144. package/esm/core/utils/others.js.map +0 -1
  145. package/esm/core/utils/types.js.map +0 -1
  146. package/esm/hooks/IMethodReflector.d.ts +0 -3
  147. package/esm/hooks/IMethodReflector.js +0 -2
  148. package/esm/hooks/IMethodReflector.js.map +0 -1
  149. package/esm/providers/ArgsProvider.d.ts +0 -13
  150. package/esm/providers/ArgsProvider.js.map +0 -1
  151. package/esm/providers/RegistrationBuilder.d.ts +0 -20
  152. package/esm/providers/RegistrationBuilder.js.map +0 -1
  153. package/esm/providers/SingletonProvider.d.ts +0 -12
  154. package/esm/providers/SingletonProvider.js.map +0 -1
  155. package/esm/providers/TaggedProvider.js +0 -22
  156. package/esm/providers/TaggedProvider.js.map +0 -1
  157. /package/cjm/{core/IInjector.d.ts → IInjector.d.ts} +0 -0
  158. /package/cjm/{core/IInjector.js → IInjector.js} +0 -0
  159. /package/cjm/{core/container → container}/Container.js +0 -0
  160. /package/cjm/{core/container → container}/ContainerDisposedError.d.ts +0 -0
  161. /package/cjm/{core/container → container}/ContainerDisposedError.js +0 -0
  162. /package/cjm/{core/container → container}/EmptyContainer.d.ts +0 -0
  163. /package/cjm/{core/container → container}/EmptyContainer.js +0 -0
  164. /package/cjm/{core/container → container}/IContainer.js +0 -0
  165. /package/cjm/{core/provider → provider}/IProvider.d.ts +0 -0
  166. /package/cjm/{core/provider → provider}/IProvider.js +0 -0
  167. /package/cjm/{core/provider → provider}/ProviderDecorator.d.ts +0 -0
  168. /package/cjm/{core/provider → provider}/ProviderDecorator.js +0 -0
  169. /package/cjm/{core/provider → provider}/ProviderHasNoKeyError.d.ts +0 -0
  170. /package/cjm/{core/provider → provider}/ProviderHasNoKeyError.js +0 -0
  171. /package/cjm/{core/provider → provider}/ProviderNotFoundError.d.ts +0 -0
  172. /package/cjm/{core/provider → provider}/ProviderNotFoundError.js +0 -0
  173. /package/cjm/{core/provider → provider}/ProviderRepo.d.ts +0 -0
  174. /package/cjm/{core/provider → provider}/ProviderRepo.js +0 -0
  175. /package/cjm/{core/utils → utils}/MethodNotImplementedError.d.ts +0 -0
  176. /package/cjm/{core/utils → utils}/MethodNotImplementedError.js +0 -0
  177. /package/cjm/{core/utils → utils}/types.js +0 -0
  178. /package/esm/{core/IInjector.d.ts → IInjector.d.ts} +0 -0
  179. /package/esm/{core/IInjector.js → IInjector.js} +0 -0
  180. /package/esm/{core/container → container}/Container.js +0 -0
  181. /package/esm/{core/container → container}/ContainerDisposedError.d.ts +0 -0
  182. /package/esm/{core/container → container}/ContainerDisposedError.js +0 -0
  183. /package/esm/{core/container → container}/EmptyContainer.d.ts +0 -0
  184. /package/esm/{core/container → container}/EmptyContainer.js +0 -0
  185. /package/esm/{core/container → container}/IContainer.js +0 -0
  186. /package/esm/{core/provider → provider}/IProvider.d.ts +0 -0
  187. /package/esm/{core/provider → provider}/IProvider.js +0 -0
  188. /package/esm/{core/provider → provider}/ProviderDecorator.d.ts +0 -0
  189. /package/esm/{core/provider → provider}/ProviderDecorator.js +0 -0
  190. /package/esm/{core/provider → provider}/ProviderHasNoKeyError.d.ts +0 -0
  191. /package/esm/{core/provider → provider}/ProviderHasNoKeyError.js +0 -0
  192. /package/esm/{core/provider → provider}/ProviderNotFoundError.d.ts +0 -0
  193. /package/esm/{core/provider → provider}/ProviderNotFoundError.js +0 -0
  194. /package/esm/{core/provider → provider}/ProviderRepo.d.ts +0 -0
  195. /package/esm/{core/provider → provider}/ProviderRepo.js +0 -0
  196. /package/esm/{core/utils → utils}/MethodNotImplementedError.d.ts +0 -0
  197. /package/esm/{core/utils → utils}/MethodNotImplementedError.js +0 -0
  198. /package/esm/{core/utils → utils}/types.js +0 -0
package/README.md CHANGED
@@ -61,7 +61,7 @@ container.register('ILogger', fromFn((container, ...args) => new Logger(...args)
61
61
  container.register('ILogger1', fromClass(Logger).forKey('ILogger').asSingleton().forTags(['root']).build()); // global singleton
62
62
  container.register('ILogger3', fromClass(Logger).asSingleton().forTags(['tag1', 'tag2']).build()); // singleton for scope with tag1 or tag2
63
63
  container.register('ILogger4', fromClass(Logger).withArgs('dev').asSingleton().build()); // singleton in every scope
64
- container.register('ILogger5', fromValue(new Logger()).build()); // singleton in every scope
64
+ container.register('ILogger5', fromValue(new Logger()).build());
65
65
  ```
66
66
 
67
67
  ## Decorators
@@ -1 +1 @@
1
- {"version":3,"file":"IInjector.js","sourceRoot":"","sources":["../../lib/core/IInjector.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IInjector.js","sourceRoot":"","sources":["../lib/IInjector.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { IContainer, InjectionToken, IProvider, ProviderKey } from './index';
1
+ import { IContainer, InjectionToken, IProvider, ProviderKey } from '../index';
2
2
  export declare abstract class AutoMockedContainer implements IContainer {
3
3
  createScope(): IContainer;
4
4
  abstract resolve<T>(key: InjectionToken<T>): T;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutoMockedContainer = void 0;
4
- var index_1 = require("./index");
4
+ var index_1 = require("../index");
5
5
  var AutoMockedContainer = /** @class */ (function () {
6
6
  function AutoMockedContainer() {
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":";;;AAAA,kCAAyG;AAEzG;IAAA;IAsBA,CAAC;IArBG,yCAAW,GAAX;QACI,MAAM,IAAI,iCAAyB,EAAE,CAAC;IAC1C,CAAC;IAMD,0CAAY,GAAZ;QACI,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,sCAAQ,GAAR;QACI,MAAM,IAAI,iCAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,0CAAY,GAAZ;QACI,OAAO,EAAE,CAAC;IACd,CAAC;IAED,yCAAW,GAAX,cAAqB,CAAC;IAC1B,0BAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBqB,kDAAmB"}
@@ -1,6 +1,7 @@
1
- import { IContainer, InjectionToken, Registration } from './IContainer';
1
+ import { IContainer, InjectionToken } from './IContainer';
2
2
  import { IInjector } from '../IInjector';
3
3
  import { IProvider, Tagged, Tag, ProviderKey } from '../provider/IProvider';
4
+ import { Registration } from '../registration/Registration';
4
5
  export declare class Container implements IContainer, Tagged {
5
6
  private readonly injector;
6
7
  private readonly providers;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA4C,0CAAK;IAQ7C,gCAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;;IAClE,CAAC;IAXM,6BAAM,GAAb,UAAc,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAQL,6BAAC;AAAD,CAAC,AAbD,CAA4C,KAAK,GAahD;AAbY,wDAAsB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":";;;AACA,gFAA+E;AAC/E,2EAA0E;AAG1E;IAAA;IA0BA,CAAC;IAzBG,oCAAW,GAAX;QACI,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,gCAAO,GAAP;QACI,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,iCAAQ,GAAR;QACI,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,gCAAO,GAAP,UAAW,GAAsB;QAC7B,MAAM,IAAI,6CAAqB,CAAC,iBAAe,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;IACrE,CAAC;IAED,qCAAY,GAAZ;QACI,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,qCAAY,GAAZ;QACI,OAAO,EAAE,CAAC;IACd,CAAC;IAED,oCAAW,GAAX,cAAqB,CAAC;IAC1B,qBAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,wCAAc"}
@@ -1,13 +1,10 @@
1
1
  import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
2
2
  import { constructor, Disposable } from '../utils/types';
3
+ import { Registration } from '../registration/Registration';
3
4
  export declare type InjectionToken<T = any> = constructor<T> | ProviderKey;
4
5
  export interface Resolveable {
5
6
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
6
7
  }
7
- export interface Registration<T> {
8
- key: ProviderKey;
9
- provider: IProvider<T>;
10
- }
11
8
  export interface IContainer extends Disposable, Resolveable {
12
9
  createScope(tags?: Tag[]): IContainer;
13
10
  register(value: Registration<unknown>): this;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IContainer.js","sourceRoot":"","sources":["../../lib/container/IContainer.ts"],"names":[],"mappings":""}
@@ -1,5 +1,4 @@
1
- import { IMethodReflector } from './IMethodReflector';
2
- export declare class MethodReflector implements IMethodReflector {
1
+ export declare class MethodReflector {
3
2
  readonly hookKey: string | symbol;
4
3
  constructor(hookKey: string | symbol);
5
4
  private addHook;
@@ -1 +1 @@
1
- {"version":3,"file":"MethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/MethodReflector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;IACI,yBAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,iCAAO,GAAf,UAA0C,MAAiB,EAAE,WAA4B;QACrF,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,yCAAM,KAAK,YAAE,WAAW,WAAG,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IACxD,uCAAa,GAAb,UAAwC,MAAiB;;QACrD,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;;YAET,KAAyB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;gBAA3B,IAAM,UAAU,kBAAA;gBAChB,MAAc,CAAC,UAAU,CAAC,EAAE,CAAC;aACjC;;;;;;;;;IACL,CAAC;IAED,wDAAwD;IACzC,2BAAW,GAA1B,UAA2D,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,mDAAyB,GAAzB;QAAA,iBAKC;QAJG,OAAO,UAAC,MAAM,EAAE,WAAW;YACvB,wDAAwD;YACxD,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IACL,sBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,0CAAe"}
1
+ {"version":3,"file":"MethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/MethodReflector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IACI,yBAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,iCAAO,GAAf,UAA0C,MAAiB,EAAE,WAA4B;QACrF,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,yCAAM,KAAK,YAAE,WAAW,WAAG,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IACxD,uCAAa,GAAb,UAAwC,MAAiB;;QACrD,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;;YAET,KAAyB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;gBAA3B,IAAM,UAAU,kBAAA;gBAChB,MAAc,CAAC,UAAU,CAAC,EAAE,CAAC;aACjC;;;;;;;;;IACL,CAAC;IAED,wDAAwD;IACzC,2BAAW,GAA1B,UAA2D,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,mDAAyB,GAAzB;QAAA,iBAKC;QAJG,OAAO,UAAC,MAAM,EAAE,WAAW;YACvB,wDAAwD;YACxD,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IACL,sBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,0CAAe"}
package/cjm/index.d.ts CHANGED
@@ -1,30 +1,29 @@
1
- import { IContainer, InjectionToken } from './core/container/IContainer';
2
- export { ProviderReducer } from './core/provider/IProviderReflector';
3
- export { IContainer, Resolveable } from './core/container/IContainer';
4
- export { EmptyContainer } from './core/container/EmptyContainer';
5
- export { constructor } from './core/utils/types';
6
- export { Container } from './core/container/Container';
7
- export { Tagged, ResolveDependency, Tag, IProvider } from './core/provider/IProvider';
8
- export { IInjector } from './core/IInjector';
9
- export { IMethodReflector } from './hooks/IMethodReflector';
1
+ import { IContainer, InjectionToken } from './container/IContainer';
2
+ import { ProviderKey, ResolveDependency, Tag } from './provider/IProvider';
3
+ import { constructor } from './utils/types';
4
+ import { RegistrationBuilder } from './registration/RegistrationBuilder';
5
+ export { IContainer, Resolveable } from './container/IContainer';
6
+ export { EmptyContainer } from './container/EmptyContainer';
7
+ export { constructor } from './utils/types';
8
+ export { Container } from './container/Container';
9
+ export { Tagged, ResolveDependency, Tag, IProvider } from './provider/IProvider';
10
+ export { IInjector } from './IInjector';
10
11
  export { MethodReflector } from './hooks/MethodReflector';
11
12
  export { AsyncMethodReflector } from './hooks/AsyncMethodReflector';
12
- export { InjectionToken } from './core/container/IContainer';
13
- export { ProviderNotFoundError } from './core/provider/ProviderNotFoundError';
14
- export { MethodNotImplementedError } from './core/utils/MethodNotImplementedError';
15
- export { ContainerDisposedError } from './core/container/ContainerDisposedError';
16
- export { Provider } from './core/provider/Provider';
17
- export { ArgsProvider, ArgsFn, createArgsFnDecorator } from './providers/ArgsProvider';
18
- export { TaggedProvider } from './providers/TaggedProvider';
19
- export { AutoMockedContainer } from './AutoMockedContainer';
20
- export { SingletonProvider } from './providers/SingletonProvider';
21
- export { fromFn, fromClass, fromValue } from './providers/RegistrationBuilder';
22
- export { IProviderReflector } from './core/provider/IProviderReflector';
23
- export { ProviderReflector } from './core/provider/ProviderReflector';
24
- export { Disposable } from './core/utils/types';
25
- export { ProviderKey } from './core/provider/IProvider';
26
- export { isProviderKey } from './core/provider/IProvider';
27
- export { perTags } from './providers/TaggedProvider';
28
- export { asSingleton } from './providers/SingletonProvider';
29
- export { forKey } from './core/provider/Provider';
13
+ export { InjectionToken } from './container/IContainer';
14
+ export { ProviderNotFoundError } from './provider/ProviderNotFoundError';
15
+ export { MethodNotImplementedError } from './utils/MethodNotImplementedError';
16
+ export { ContainerDisposedError } from './container/ContainerDisposedError';
17
+ export { Provider } from './provider/Provider';
18
+ export { ArgsFn } from './provider/ArgsProvider';
19
+ export { AutoMockedContainer } from './container/AutoMockedContainer';
20
+ export { Disposable } from './utils/types';
21
+ export { ProviderKey } from './provider/IProvider';
22
+ export { isProviderKey } from './provider/IProvider';
30
23
  export declare const by: <T>(key: InjectionToken<T>, ...args: unknown[]) => (l: IContainer) => T;
24
+ export declare function fromClass<T>(value: constructor<T>): RegistrationBuilder<T>;
25
+ export declare function fromValue<T>(value: T): RegistrationBuilder<T>;
26
+ export declare function fromFn<T>(fn: ResolveDependency<T>): RegistrationBuilder<T>;
27
+ export declare const perTags: (...tags: Tag[]) => ClassDecorator;
28
+ export declare const asSingleton: ClassDecorator;
29
+ export declare const forKey: (key: ProviderKey) => ClassDecorator;
package/cjm/index.js CHANGED
@@ -25,46 +25,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
25
  return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.by = exports.forKey = exports.asSingleton = exports.perTags = exports.isProviderKey = exports.ProviderReflector = exports.fromValue = exports.fromClass = exports.fromFn = exports.SingletonProvider = exports.AutoMockedContainer = exports.TaggedProvider = exports.createArgsFnDecorator = exports.ArgsProvider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.AsyncMethodReflector = exports.MethodReflector = exports.Container = exports.EmptyContainer = void 0;
29
- var EmptyContainer_1 = require("./core/container/EmptyContainer");
28
+ exports.forKey = exports.asSingleton = exports.perTags = exports.fromFn = exports.fromValue = exports.fromClass = exports.by = exports.isProviderKey = exports.AutoMockedContainer = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.AsyncMethodReflector = exports.MethodReflector = exports.Container = exports.EmptyContainer = void 0;
29
+ var Provider_1 = require("./provider/Provider");
30
+ var RegistrationReflector_1 = require("./registration/RegistrationReflector");
31
+ var RegistrationBuilder_1 = require("./registration/RegistrationBuilder");
32
+ var EmptyContainer_1 = require("./container/EmptyContainer");
30
33
  Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } });
31
- var Container_1 = require("./core/container/Container");
34
+ var Container_1 = require("./container/Container");
32
35
  Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
33
36
  var MethodReflector_1 = require("./hooks/MethodReflector");
34
37
  Object.defineProperty(exports, "MethodReflector", { enumerable: true, get: function () { return MethodReflector_1.MethodReflector; } });
35
38
  var AsyncMethodReflector_1 = require("./hooks/AsyncMethodReflector");
36
39
  Object.defineProperty(exports, "AsyncMethodReflector", { enumerable: true, get: function () { return AsyncMethodReflector_1.AsyncMethodReflector; } });
37
- var ProviderNotFoundError_1 = require("./core/provider/ProviderNotFoundError");
40
+ var ProviderNotFoundError_1 = require("./provider/ProviderNotFoundError");
38
41
  Object.defineProperty(exports, "ProviderNotFoundError", { enumerable: true, get: function () { return ProviderNotFoundError_1.ProviderNotFoundError; } });
39
- var MethodNotImplementedError_1 = require("./core/utils/MethodNotImplementedError");
42
+ var MethodNotImplementedError_1 = require("./utils/MethodNotImplementedError");
40
43
  Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
41
- var ContainerDisposedError_1 = require("./core/container/ContainerDisposedError");
44
+ var ContainerDisposedError_1 = require("./container/ContainerDisposedError");
42
45
  Object.defineProperty(exports, "ContainerDisposedError", { enumerable: true, get: function () { return ContainerDisposedError_1.ContainerDisposedError; } });
43
- var Provider_1 = require("./core/provider/Provider");
44
- Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
45
- var ArgsProvider_1 = require("./providers/ArgsProvider");
46
- Object.defineProperty(exports, "ArgsProvider", { enumerable: true, get: function () { return ArgsProvider_1.ArgsProvider; } });
47
- Object.defineProperty(exports, "createArgsFnDecorator", { enumerable: true, get: function () { return ArgsProvider_1.createArgsFnDecorator; } });
48
- var TaggedProvider_1 = require("./providers/TaggedProvider");
49
- Object.defineProperty(exports, "TaggedProvider", { enumerable: true, get: function () { return TaggedProvider_1.TaggedProvider; } });
50
- var AutoMockedContainer_1 = require("./AutoMockedContainer");
46
+ var Provider_2 = require("./provider/Provider");
47
+ Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_2.Provider; } });
48
+ var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
51
49
  Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
52
- var SingletonProvider_1 = require("./providers/SingletonProvider");
53
- Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
54
- var RegistrationBuilder_1 = require("./providers/RegistrationBuilder");
55
- Object.defineProperty(exports, "fromFn", { enumerable: true, get: function () { return RegistrationBuilder_1.fromFn; } });
56
- Object.defineProperty(exports, "fromClass", { enumerable: true, get: function () { return RegistrationBuilder_1.fromClass; } });
57
- Object.defineProperty(exports, "fromValue", { enumerable: true, get: function () { return RegistrationBuilder_1.fromValue; } });
58
- var ProviderReflector_1 = require("./core/provider/ProviderReflector");
59
- Object.defineProperty(exports, "ProviderReflector", { enumerable: true, get: function () { return ProviderReflector_1.ProviderReflector; } });
60
- var IProvider_1 = require("./core/provider/IProvider");
50
+ var IProvider_1 = require("./provider/IProvider");
61
51
  Object.defineProperty(exports, "isProviderKey", { enumerable: true, get: function () { return IProvider_1.isProviderKey; } });
62
- var TaggedProvider_2 = require("./providers/TaggedProvider");
63
- Object.defineProperty(exports, "perTags", { enumerable: true, get: function () { return TaggedProvider_2.perTags; } });
64
- var SingletonProvider_2 = require("./providers/SingletonProvider");
65
- Object.defineProperty(exports, "asSingleton", { enumerable: true, get: function () { return SingletonProvider_2.asSingleton; } });
66
- var Provider_2 = require("./core/provider/Provider");
67
- Object.defineProperty(exports, "forKey", { enumerable: true, get: function () { return Provider_2.forKey; } });
68
52
  var by = function (key) {
69
53
  var args = [];
70
54
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -75,4 +59,46 @@ var by = function (key) {
75
59
  };
76
60
  };
77
61
  exports.by = by;
62
+ function fromClass(value) {
63
+ return new RegistrationBuilder_1.RegistrationBuilder(Provider_1.Provider.fromClass(value)).map(providerReflector.findReducerOrCreate(value));
64
+ }
65
+ exports.fromClass = fromClass;
66
+ function fromValue(value) {
67
+ return new RegistrationBuilder_1.RegistrationBuilder(Provider_1.Provider.fromValue(value));
68
+ }
69
+ exports.fromValue = fromValue;
70
+ function fromFn(fn) {
71
+ return new RegistrationBuilder_1.RegistrationBuilder(new Provider_1.Provider(fn));
72
+ }
73
+ exports.fromFn = fromFn;
74
+ var providerReflector = new RegistrationReflector_1.RegistrationReflector('registrationMapper');
75
+ var perTags = function () {
76
+ var tags = [];
77
+ for (var _i = 0; _i < arguments.length; _i++) {
78
+ tags[_i] = arguments[_i];
79
+ }
80
+ return function (target) {
81
+ var targetClass = target;
82
+ var fn = providerReflector.findReducerOrCreate(targetClass);
83
+ providerReflector.addReducer(targetClass, function (builder) {
84
+ var _a;
85
+ return (_a = fn(builder)).perTags.apply(_a, __spreadArray([], __read(tags), false));
86
+ });
87
+ };
88
+ };
89
+ exports.perTags = perTags;
90
+ var asSingleton = function (target) {
91
+ var targetClass = target;
92
+ var fn = providerReflector.findReducerOrCreate(targetClass);
93
+ providerReflector.addReducer(targetClass, function (builder) { return fn(builder).asSingleton(); });
94
+ };
95
+ exports.asSingleton = asSingleton;
96
+ var forKey = function (key) {
97
+ return function (target) {
98
+ var targetClass = target;
99
+ var fn = providerReflector.findReducerOrCreate(targetClass);
100
+ providerReflector.addReducer(targetClass, function (builder) { return fn(builder).forKey(key); });
101
+ };
102
+ };
103
+ exports.forKey = forKey;
78
104
  //# sourceMappingURL=index.js.map
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AAEvB,wDAAuD;AAA9C,sGAAA,SAAS,OAAA;AAIlB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,+EAA8E;AAArE,8HAAA,qBAAqB,OAAA;AAC9B,oFAAmF;AAA1E,sIAAA,yBAAyB,OAAA;AAClC,kFAAiF;AAAxE,gIAAA,sBAAsB,OAAA;AAC/B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,yDAAuF;AAA9E,4GAAA,YAAY,OAAA;AAAU,qHAAA,qBAAqB,OAAA;AACpD,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,uEAA+E;AAAtE,6GAAA,MAAM,OAAA;AAAE,gHAAA,SAAS,OAAA;AAAE,gHAAA,SAAS,OAAA;AAErC,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAG1B,uDAA0D;AAAjD,0GAAA,aAAa,OAAA;AACtB,6DAAqD;AAA5C,yGAAA,OAAO,OAAA;AAChB,mEAA4D;AAAnD,gHAAA,WAAW,OAAA;AACpB,qDAAkD;AAAzC,kGAAA,MAAM,OAAA;AAER,IAAM,EAAE,GACX,UAAI,GAAsB;IAAE,cAAkB;SAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;QAAlB,6BAAkB;;IAC9C,OAAA,UAAC,CAAa;QACV,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAY,GAAG,UAAK,IAAI;IAAzB,CAA0B;AAD9B,CAC8B,CAAC;AAHtB,QAAA,EAAE,MAGoB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ProviderDecorator } from './ProviderDecorator';
2
+ import { Resolveable } from '../container/IContainer';
3
+ import { IProvider } from './IProvider';
4
+ export declare type ArgsFn = (l: Resolveable) => unknown[];
5
+ export declare class ArgsProvider<T> extends ProviderDecorator<T> {
6
+ private provider;
7
+ private argsFn;
8
+ constructor(provider: IProvider<T>, argsFn: ArgsFn);
9
+ resolve(container: Resolveable, ...args: unknown[]): T;
10
+ clone(): ProviderDecorator<T>;
11
+ }
@@ -40,8 +40,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
40
40
  return to.concat(ar || Array.prototype.slice.call(from));
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.createArgsFnDecorator = exports.ArgsProvider = void 0;
44
- var ProviderDecorator_1 = require("../core/provider/ProviderDecorator");
43
+ exports.ArgsProvider = void 0;
44
+ var ProviderDecorator_1 = require("./ProviderDecorator");
45
45
  var ArgsProvider = /** @class */ (function (_super) {
46
46
  __extends(ArgsProvider, _super);
47
47
  function ArgsProvider(provider, argsFn) {
@@ -64,14 +64,4 @@ var ArgsProvider = /** @class */ (function (_super) {
64
64
  return ArgsProvider;
65
65
  }(ProviderDecorator_1.ProviderDecorator));
66
66
  exports.ArgsProvider = ArgsProvider;
67
- var createArgsFnDecorator = function (metadataCollector) {
68
- return function (argsFn) {
69
- return function (target) {
70
- var targetClass = target;
71
- var fn = metadataCollector.findReducerOrCreate(targetClass);
72
- metadataCollector.addReducer(targetClass, function (builder) { return fn(builder).withArgsFn(argsFn); });
73
- };
74
- };
75
- };
76
- exports.createArgsFnDecorator = createArgsFnDecorator;
77
67
  //# sourceMappingURL=ArgsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAMxD;IAAqC,gCAAoB;IACrD,sBAAoB,QAAsB,EAAU,MAAc;QAAlE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAElE,CAAC;IAED,8BAAO,GAAP,UAAQ,SAAsB;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC9C,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,wCAAC,SAAS,UAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAK,IAAI,WAAE;IAChF,CAAC;IAED,4BAAK,GAAL;QACI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACL,mBAAC;AAAD,CAAC,AAZD,CAAqC,qCAAiB,GAYrD;AAZY,oCAAY"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../lib/provider/IProvider.ts"],"names":[],"mappings":";;;AAqBA,SAAgB,aAAa,CAAI,KAAwB;IACrD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AACvD,CAAC;AAFD,sCAEC"}
@@ -1,16 +1,13 @@
1
1
  import { constructor } from '../utils/types';
2
- import { IProvider, ProviderKey, ResolveDependency } from './IProvider';
2
+ import { IProvider, ResolveDependency } from './IProvider';
3
3
  import { Resolveable } from '../container/IContainer';
4
4
  export declare class Provider<T> implements IProvider<T> {
5
5
  private readonly resolveDependency;
6
6
  static fromClass<T>(value: constructor<T>): Provider<T>;
7
7
  static fromValue<T>(value: T): Provider<T>;
8
- private key?;
9
8
  constructor(resolveDependency: ResolveDependency<T>);
10
9
  clone(): Provider<T>;
11
- resolve(container: Resolveable, ...args: any[]): T;
10
+ resolve(container: Resolveable, ...args: unknown[]): T;
12
11
  dispose(): void;
13
12
  isValid(): boolean;
14
- getKeyOrFail(): ProviderKey;
15
13
  }
16
- export declare const forKey: (key: ProviderKey) => ClassDecorator;
@@ -25,9 +25,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
25
  return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.forKey = exports.Provider = void 0;
29
- var ProviderHasNoKeyError_1 = require("./ProviderHasNoKeyError");
30
- var ProviderReflector_1 = require("./ProviderReflector");
28
+ exports.Provider = void 0;
31
29
  var Provider = /** @class */ (function () {
32
30
  function Provider(resolveDependency) {
33
31
  this.resolveDependency = resolveDependency;
@@ -58,21 +56,7 @@ var Provider = /** @class */ (function () {
58
56
  Provider.prototype.isValid = function () {
59
57
  return true;
60
58
  };
61
- Provider.prototype.getKeyOrFail = function () {
62
- if (!this.key) {
63
- throw new ProviderHasNoKeyError_1.ProviderHasNoKeyError('Pls provide registration keys for current provider');
64
- }
65
- return this.key;
66
- };
67
59
  return Provider;
68
60
  }());
69
61
  exports.Provider = Provider;
70
- var forKey = function (key) {
71
- return function (target) {
72
- var targetClass = target;
73
- var fn = ProviderReflector_1.providerReflector.findReducerOrCreate(targetClass);
74
- ProviderReflector_1.providerReflector.addReducer(targetClass, function (builder) { return fn(builder).forKey(key); });
75
- };
76
- };
77
- exports.forKey = forKey;
78
62
  //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IACnE,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAsB;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC9C,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IACI,2BAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,iCAAK,GAAL;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC1C,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IACL,wBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBqB,8CAAiB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderHasNoKeyError.js","sourceRoot":"","sources":["../../lib/provider/ProviderHasNoKeyError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA2C,yCAAK;IAG5C,+BAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,uBAAuB,CAAC;QAK3B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;;IACjE,CAAC;IACL,4BAAC;AAAD,CAAC,AARD,CAA2C,KAAK,GAQ/C;AARY,sDAAqB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderNotFoundError.js","sourceRoot":"","sources":["../../lib/provider/ProviderNotFoundError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA2C,yCAAK;IAG5C,+BAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,uBAAuB,CAAC;QAK3B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;;IACjE,CAAC;IACL,4BAAC;AAAD,CAAC,AARD,CAA2C,KAAK,GAQ/C;AARY,sDAAqB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;IAAA;QACqB,cAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IA4B5E,CAAC;IA1BG,0BAAG,GAAH,UAAI,GAAgB,EAAE,QAA4B;QAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0BAAG,GAAH,UAAO,GAAgB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,4BAAK,GAAL,UAAM,SAA+C;;QACjD,IAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAC;;YACvD,KAA2B,IAAA,KAAA,SAAA,SAAS,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;gBAArC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACvB;;;;;;;;;;YACD,KAA2B,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;gBAA1C,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACvB;;;;;;;;;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,8BAAO,GAAP;;;YACI,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAApC,IAAM,CAAC,WAAA;gBACR,CAAC,CAAC,OAAO,EAAE,CAAC;aACf;;;;;;;;;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACL,mBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,oCAAY"}
@@ -0,0 +1,11 @@
1
+ import { Resolveable } from '../container/IContainer';
2
+ import { ProviderDecorator } from './ProviderDecorator';
3
+ import { IProvider } from './IProvider';
4
+ export declare class SingletonProvider<T> extends ProviderDecorator<T> {
5
+ private readonly provider;
6
+ private instance;
7
+ constructor(provider: IProvider<T>);
8
+ clone(): SingletonProvider<T>;
9
+ dispose(): void;
10
+ resolve(container: Resolveable, ...args: unknown[]): T;
11
+ }
@@ -40,10 +40,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
40
40
  return to.concat(ar || Array.prototype.slice.call(from));
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.asSingleton = exports.SingletonProvider = void 0;
44
- var types_1 = require("../core/utils/types");
45
- var ProviderDecorator_1 = require("../core/provider/ProviderDecorator");
46
- var ProviderReflector_1 = require("../core/provider/ProviderReflector");
43
+ exports.SingletonProvider = void 0;
44
+ var types_1 = require("../utils/types");
45
+ var ProviderDecorator_1 = require("./ProviderDecorator");
47
46
  var SingletonProvider = /** @class */ (function (_super) {
48
47
  __extends(SingletonProvider, _super);
49
48
  function SingletonProvider(provider) {
@@ -74,10 +73,4 @@ var SingletonProvider = /** @class */ (function (_super) {
74
73
  return SingletonProvider;
75
74
  }(ProviderDecorator_1.ProviderDecorator));
76
75
  exports.SingletonProvider = SingletonProvider;
77
- var asSingleton = function (target) {
78
- var targetClass = target;
79
- var fn = ProviderReflector_1.providerReflector.findReducerOrCreate(targetClass);
80
- ProviderReflector_1.providerReflector.addReducer(targetClass, function (builder) { return fn(builder).asSingleton(); });
81
- };
82
- exports.asSingleton = asSingleton;
83
76
  //# sourceMappingURL=SingletonProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAqC;AACrC,yDAAwD;AAGxD;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAkB,IAAI,CAAC;;IAIvC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAsB;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC9C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,UAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAU,CAAC;IACpC,CAAC;IACL,wBAAC;AAAD,CAAC,AAxBD,CAA0C,qCAAiB,GAwB1D;AAxBY,8CAAiB"}
@@ -1,5 +1,5 @@
1
- import { IProvider, Tagged, Tag } from '../core/provider/IProvider';
2
- import { ProviderDecorator } from '../core/provider/ProviderDecorator';
1
+ import { IProvider, Tag, Tagged } from './IProvider';
2
+ import { ProviderDecorator } from './ProviderDecorator';
3
3
  export declare class TaggedProvider<T> extends ProviderDecorator<T> {
4
4
  private provider;
5
5
  private readonly tags;
@@ -7,4 +7,3 @@ export declare class TaggedProvider<T> extends ProviderDecorator<T> {
7
7
  clone(): TaggedProvider<T>;
8
8
  isValid(filters: Tagged): boolean;
9
9
  }
10
- export declare const perTags: (...tags: Tag[]) => ClassDecorator;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TaggedProvider = void 0;
19
+ var ProviderDecorator_1 = require("./ProviderDecorator");
20
+ var TaggedProvider = /** @class */ (function (_super) {
21
+ __extends(TaggedProvider, _super);
22
+ function TaggedProvider(provider, tags) {
23
+ var _this = _super.call(this, provider) || this;
24
+ _this.provider = provider;
25
+ _this.tags = tags;
26
+ return _this;
27
+ }
28
+ TaggedProvider.prototype.clone = function () {
29
+ return new TaggedProvider(this.provider.clone(), this.tags);
30
+ };
31
+ TaggedProvider.prototype.isValid = function (filters) {
32
+ var tags = filters.tags;
33
+ return this.tags.some(function (t) { return tags.includes(t); }) && this.provider.isValid(filters);
34
+ };
35
+ return TaggedProvider;
36
+ }(ProviderDecorator_1.ProviderDecorator));
37
+ exports.TaggedProvider = TaggedProvider;
38
+ //# sourceMappingURL=TaggedProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAExD;IAAuC,kCAAoB;IACvD,wBAAoB,QAAsB,EAAmB,IAAW;QAAxE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAmB,UAAI,GAAJ,IAAI,CAAO;;IAExE,CAAC;IAED,8BAAK,GAAL;QACI,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,gCAAO,GAAP,UAAQ,OAAe;QACX,IAAA,IAAI,GAAK,OAAO,KAAZ,CAAa;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,CAAC;IACL,qBAAC;AAAD,CAAC,AAbD,CAAuC,qCAAiB,GAavD;AAbY,wCAAc"}
@@ -0,0 +1,5 @@
1
+ import { IProvider, ProviderKey } from '../provider/IProvider';
2
+ export interface Registration<T> {
3
+ key: ProviderKey;
4
+ provider: IProvider<T>;
5
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IMethodReflector.js.map
3
+ //# sourceMappingURL=Registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
2
+ import { ArgsFn } from '../provider/ArgsProvider';
3
+ import { MapFn } from '../utils/types';
4
+ import { Registration } from './Registration';
5
+ export declare class RegistrationBuilder<T = unknown> {
6
+ private provider;
7
+ private key?;
8
+ constructor(provider: IProvider<T>);
9
+ withArgs(...extraArgs: any[]): this;
10
+ withArgsFn(argsFn: ArgsFn): this;
11
+ map(reducer: MapFn<RegistrationBuilder<T>>): RegistrationBuilder<T>;
12
+ perTags(...tags: Tag[]): this;
13
+ asSingleton(): this;
14
+ forKey(key: ProviderKey): this;
15
+ build(): Registration<T>;
16
+ }
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromFn = exports.fromValue = exports.fromClass = exports.RegistrationBuilder = void 0;
4
- var SingletonProvider_1 = require("./SingletonProvider");
5
- var TaggedProvider_1 = require("./TaggedProvider");
6
- var ArgsProvider_1 = require("./ArgsProvider");
7
- var Provider_1 = require("../core/provider/Provider");
8
- var ProviderReflector_1 = require("../core/provider/ProviderReflector");
9
- var ProviderHasNoKeyError_1 = require("../core/provider/ProviderHasNoKeyError");
3
+ exports.RegistrationBuilder = void 0;
4
+ var SingletonProvider_1 = require("../provider/SingletonProvider");
5
+ var TaggedProvider_1 = require("../provider/TaggedProvider");
6
+ var ArgsProvider_1 = require("../provider/ArgsProvider");
7
+ var ProviderHasNoKeyError_1 = require("../provider/ProviderHasNoKeyError");
10
8
  var RegistrationBuilder = /** @class */ (function () {
11
9
  function RegistrationBuilder(provider) {
12
10
  this.provider = provider;
@@ -51,16 +49,4 @@ var RegistrationBuilder = /** @class */ (function () {
51
49
  return RegistrationBuilder;
52
50
  }());
53
51
  exports.RegistrationBuilder = RegistrationBuilder;
54
- function fromClass(value) {
55
- return new RegistrationBuilder(Provider_1.Provider.fromClass(value)).map(ProviderReflector_1.providerReflector.findReducerOrCreate(value));
56
- }
57
- exports.fromClass = fromClass;
58
- function fromValue(value) {
59
- return new RegistrationBuilder(Provider_1.Provider.fromValue(value));
60
- }
61
- exports.fromValue = fromValue;
62
- function fromFn(fn) {
63
- return new RegistrationBuilder(new Provider_1.Provider(fn));
64
- }
65
- exports.fromFn = fromFn;
66
52
  //# sourceMappingURL=RegistrationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,2EAA0E;AAI1E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAG,GAAH,UAAI,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,6CAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,kDAAmB"}
@@ -0,0 +1,8 @@
1
+ import { constructor, MapFn } from '../utils/types';
2
+ import { RegistrationBuilder } from './RegistrationBuilder';
3
+ export declare class RegistrationReflector {
4
+ private metadataKey;
5
+ constructor(metadataKey: string);
6
+ findReducerOrCreate<T>(target: constructor<T>): MapFn<RegistrationBuilder<T>>;
7
+ addReducer(target: constructor<unknown>, reducer: MapFn<RegistrationBuilder>): void;
8
+ }