@solid-nestjs/common 0.2.6 → 0.2.9

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 (253) hide show
  1. package/dist/adapters/index.d.ts +7 -0
  2. package/dist/adapters/index.d.ts.map +1 -0
  3. package/dist/adapters/index.js +23 -0
  4. package/dist/adapters/index.js.map +1 -0
  5. package/dist/adapters/validation.adapter.d.ts +20 -0
  6. package/dist/adapters/validation.adapter.d.ts.map +1 -0
  7. package/dist/adapters/validation.adapter.js +309 -0
  8. package/dist/adapters/validation.adapter.js.map +1 -0
  9. package/dist/decorator-registry/decorator-registry.d.ts +54 -0
  10. package/dist/decorator-registry/decorator-registry.d.ts.map +1 -0
  11. package/dist/decorator-registry/decorator-registry.js +161 -0
  12. package/dist/decorator-registry/decorator-registry.js.map +1 -0
  13. package/dist/decorator-registry/index.d.ts +2 -0
  14. package/dist/decorator-registry/index.d.ts.map +1 -0
  15. package/dist/decorator-registry/index.js +18 -0
  16. package/dist/decorator-registry/index.js.map +1 -0
  17. package/dist/decorators/index.d.ts +6 -0
  18. package/dist/decorators/index.d.ts.map +1 -1
  19. package/dist/decorators/index.js +6 -0
  20. package/dist/decorators/index.js.map +1 -1
  21. package/dist/decorators/solid-entity.decorator.d.ts +6 -0
  22. package/dist/decorators/solid-entity.decorator.d.ts.map +1 -0
  23. package/dist/decorators/solid-entity.decorator.js +23 -0
  24. package/dist/decorators/solid-entity.decorator.js.map +1 -0
  25. package/dist/decorators/solid-field.decorator.d.ts +7 -0
  26. package/dist/decorators/solid-field.decorator.d.ts.map +1 -0
  27. package/dist/decorators/solid-field.decorator.js +51 -0
  28. package/dist/decorators/solid-field.decorator.js.map +1 -0
  29. package/dist/decorators/solid-id.decorator.d.ts +9 -0
  30. package/dist/decorators/solid-id.decorator.d.ts.map +1 -0
  31. package/dist/decorators/solid-id.decorator.js +27 -0
  32. package/dist/decorators/solid-id.decorator.js.map +1 -0
  33. package/dist/decorators/solid-input.decorator.d.ts +6 -0
  34. package/dist/decorators/solid-input.decorator.d.ts.map +1 -0
  35. package/dist/decorators/solid-input.decorator.js +35 -0
  36. package/dist/decorators/solid-input.decorator.js.map +1 -0
  37. package/dist/decorators/solid-relation.decorator.d.ts +19 -0
  38. package/dist/decorators/solid-relation.decorator.d.ts.map +1 -0
  39. package/dist/decorators/solid-relation.decorator.js +66 -0
  40. package/dist/decorators/solid-relation.decorator.js.map +1 -0
  41. package/dist/decorators/solid-timestamp.decorator.d.ts +13 -0
  42. package/dist/decorators/solid-timestamp.decorator.d.ts.map +1 -0
  43. package/dist/decorators/solid-timestamp.decorator.js +49 -0
  44. package/dist/decorators/solid-timestamp.decorator.js.map +1 -0
  45. package/dist/enums/aggregate-function.enum.d.ts +42 -0
  46. package/dist/enums/aggregate-function.enum.d.ts.map +1 -0
  47. package/dist/enums/aggregate-function.enum.js +46 -0
  48. package/dist/enums/aggregate-function.enum.js.map +1 -0
  49. package/dist/enums/index.d.ts +1 -0
  50. package/dist/enums/index.d.ts.map +1 -1
  51. package/dist/enums/index.js +1 -0
  52. package/dist/enums/index.js.map +1 -1
  53. package/dist/helpers/args-helpers/class-generator.helper.d.ts +143 -0
  54. package/dist/helpers/args-helpers/class-generator.helper.d.ts.map +1 -0
  55. package/dist/helpers/args-helpers/class-generator.helper.js +221 -0
  56. package/dist/helpers/args-helpers/class-generator.helper.js.map +1 -0
  57. package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts +83 -0
  58. package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts.map +1 -0
  59. package/dist/helpers/args-helpers/create-groupby-request.helper.js +119 -0
  60. package/dist/helpers/args-helpers/create-groupby-request.helper.js.map +1 -0
  61. package/dist/helpers/args-helpers/decorator-builder.helper.d.ts +160 -0
  62. package/dist/helpers/args-helpers/decorator-builder.helper.d.ts.map +1 -0
  63. package/dist/helpers/args-helpers/decorator-builder.helper.js +161 -0
  64. package/dist/helpers/args-helpers/decorator-builder.helper.js.map +1 -0
  65. package/dist/helpers/args-helpers/field-config.helper.d.ts +98 -0
  66. package/dist/helpers/args-helpers/field-config.helper.d.ts.map +1 -0
  67. package/dist/helpers/args-helpers/field-config.helper.js +143 -0
  68. package/dist/helpers/args-helpers/field-config.helper.js.map +1 -0
  69. package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts +87 -0
  70. package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts.map +1 -0
  71. package/dist/helpers/args-helpers/groupby-args-from.helper.js +185 -0
  72. package/dist/helpers/args-helpers/groupby-args-from.helper.js.map +1 -0
  73. package/dist/helpers/args-helpers/index.d.ts +15 -0
  74. package/dist/helpers/args-helpers/index.d.ts.map +1 -0
  75. package/dist/helpers/args-helpers/index.js +58 -0
  76. package/dist/helpers/args-helpers/index.js.map +1 -0
  77. package/dist/helpers/args-helpers/type-inference.helper.d.ts +191 -0
  78. package/dist/helpers/args-helpers/type-inference.helper.d.ts.map +1 -0
  79. package/dist/helpers/args-helpers/type-inference.helper.js +330 -0
  80. package/dist/helpers/args-helpers/type-inference.helper.js.map +1 -0
  81. package/dist/helpers/class-generation/dynamic-class.helper.d.ts +101 -0
  82. package/dist/helpers/class-generation/dynamic-class.helper.d.ts.map +1 -0
  83. package/dist/helpers/class-generation/dynamic-class.helper.js +180 -0
  84. package/dist/helpers/class-generation/dynamic-class.helper.js.map +1 -0
  85. package/dist/helpers/class-generation/index.d.ts +9 -0
  86. package/dist/helpers/class-generation/index.d.ts.map +1 -0
  87. package/dist/helpers/class-generation/index.js +18 -0
  88. package/dist/helpers/class-generation/index.js.map +1 -0
  89. package/dist/helpers/decorators/decorator-utils.helper.d.ts +75 -0
  90. package/dist/helpers/decorators/decorator-utils.helper.d.ts.map +1 -0
  91. package/dist/helpers/decorators/decorator-utils.helper.js +92 -0
  92. package/dist/helpers/decorators/decorator-utils.helper.js.map +1 -0
  93. package/dist/helpers/decorators/index.d.ts +9 -0
  94. package/dist/helpers/decorators/index.d.ts.map +1 -0
  95. package/dist/helpers/decorators/index.js +16 -0
  96. package/dist/helpers/decorators/index.js.map +1 -0
  97. package/dist/helpers/dto-generator-base.helper.d.ts +19 -0
  98. package/dist/helpers/dto-generator-base.helper.d.ts.map +1 -0
  99. package/dist/helpers/dto-generator-base.helper.js +72 -0
  100. package/dist/helpers/dto-generator-base.helper.js.map +1 -0
  101. package/dist/helpers/index.d.ts +9 -0
  102. package/dist/helpers/index.d.ts.map +1 -1
  103. package/dist/helpers/index.js +9 -0
  104. package/dist/helpers/index.js.map +1 -1
  105. package/dist/helpers/metadata-extractor.helper.d.ts +26 -0
  106. package/dist/helpers/metadata-extractor.helper.d.ts.map +1 -0
  107. package/dist/helpers/metadata-extractor.helper.js +67 -0
  108. package/dist/helpers/metadata-extractor.helper.js.map +1 -0
  109. package/dist/helpers/package-detector.helper.d.ts +33 -0
  110. package/dist/helpers/package-detector.helper.d.ts.map +1 -0
  111. package/dist/helpers/package-detector.helper.js +82 -0
  112. package/dist/helpers/package-detector.helper.js.map +1 -0
  113. package/dist/helpers/property-filter.helper.d.ts +15 -0
  114. package/dist/helpers/property-filter.helper.d.ts.map +1 -0
  115. package/dist/helpers/property-filter.helper.js +44 -0
  116. package/dist/helpers/property-filter.helper.js.map +1 -0
  117. package/dist/helpers/type-inference.helper.d.ts +76 -0
  118. package/dist/helpers/type-inference.helper.d.ts.map +1 -0
  119. package/dist/helpers/type-inference.helper.js +205 -0
  120. package/dist/helpers/type-inference.helper.js.map +1 -0
  121. package/dist/helpers/validation-inference.helper.d.ts +18 -0
  122. package/dist/helpers/validation-inference.helper.d.ts.map +1 -0
  123. package/dist/helpers/validation-inference.helper.js +100 -0
  124. package/dist/helpers/validation-inference.helper.js.map +1 -0
  125. package/dist/index.d.ts +4 -0
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +4 -0
  128. package/dist/index.js.map +1 -1
  129. package/dist/interfaces/adapters/decorator-adapter.interface.d.ts +8 -0
  130. package/dist/interfaces/adapters/decorator-adapter.interface.d.ts.map +1 -0
  131. package/dist/interfaces/adapters/decorator-adapter.interface.js +3 -0
  132. package/dist/interfaces/adapters/decorator-adapter.interface.js.map +1 -0
  133. package/dist/interfaces/decorators/solid-field-options.interface.d.ts +55 -0
  134. package/dist/interfaces/decorators/solid-field-options.interface.d.ts.map +1 -0
  135. package/dist/interfaces/decorators/solid-field-options.interface.js +3 -0
  136. package/dist/interfaces/decorators/solid-field-options.interface.js.map +1 -0
  137. package/dist/interfaces/index.d.ts +5 -0
  138. package/dist/interfaces/index.d.ts.map +1 -1
  139. package/dist/interfaces/index.js +5 -0
  140. package/dist/interfaces/index.js.map +1 -1
  141. package/dist/interfaces/inputs/filters.interfaces.d.ts +36 -0
  142. package/dist/interfaces/inputs/filters.interfaces.d.ts.map +1 -0
  143. package/dist/interfaces/inputs/filters.interfaces.js +3 -0
  144. package/dist/interfaces/inputs/filters.interfaces.js.map +1 -0
  145. package/dist/interfaces/inputs/find-args.interface.d.ts +8 -0
  146. package/dist/interfaces/inputs/find-args.interface.d.ts.map +1 -0
  147. package/dist/interfaces/inputs/find-args.interface.js +3 -0
  148. package/dist/interfaces/inputs/find-args.interface.js.map +1 -0
  149. package/dist/interfaces/inputs/group-by-args.interface.d.ts +33 -0
  150. package/dist/interfaces/inputs/group-by-args.interface.d.ts.map +1 -0
  151. package/dist/interfaces/inputs/group-by-args.interface.js +3 -0
  152. package/dist/interfaces/inputs/group-by-args.interface.js.map +1 -0
  153. package/dist/interfaces/inputs/group-by-request.interface.d.ts +63 -0
  154. package/dist/interfaces/inputs/group-by-request.interface.d.ts.map +1 -0
  155. package/dist/interfaces/inputs/group-by-request.interface.js +3 -0
  156. package/dist/interfaces/inputs/group-by-request.interface.js.map +1 -0
  157. package/dist/interfaces/inputs/index.d.ts +6 -0
  158. package/dist/interfaces/inputs/index.d.ts.map +1 -0
  159. package/dist/interfaces/inputs/index.js +22 -0
  160. package/dist/interfaces/inputs/index.js.map +1 -0
  161. package/dist/interfaces/inputs/pagination-request.interface.d.ts +7 -0
  162. package/dist/interfaces/inputs/pagination-request.interface.d.ts.map +1 -0
  163. package/dist/interfaces/inputs/pagination-request.interface.js +3 -0
  164. package/dist/interfaces/inputs/pagination-request.interface.js.map +1 -0
  165. package/dist/interfaces/metadata/field-metadata.interface.d.ts +29 -0
  166. package/dist/interfaces/metadata/field-metadata.interface.d.ts.map +1 -0
  167. package/dist/interfaces/metadata/field-metadata.interface.js +3 -0
  168. package/dist/interfaces/metadata/field-metadata.interface.js.map +1 -0
  169. package/dist/interfaces/misc/group-by-args.interface.d.ts +33 -0
  170. package/dist/interfaces/misc/group-by-args.interface.d.ts.map +1 -0
  171. package/dist/interfaces/misc/group-by-args.interface.js +3 -0
  172. package/dist/interfaces/misc/group-by-args.interface.js.map +1 -0
  173. package/dist/interfaces/misc/group-by-request.interface.d.ts +63 -0
  174. package/dist/interfaces/misc/group-by-request.interface.d.ts.map +1 -0
  175. package/dist/interfaces/misc/group-by-request.interface.js +3 -0
  176. package/dist/interfaces/misc/group-by-request.interface.js.map +1 -0
  177. package/dist/interfaces/misc/group-by-response.interface.d.ts +59 -0
  178. package/dist/interfaces/misc/group-by-response.interface.d.ts.map +1 -0
  179. package/dist/interfaces/misc/group-by-response.interface.js +3 -0
  180. package/dist/interfaces/misc/group-by-response.interface.js.map +1 -0
  181. package/dist/interfaces/misc/group-by.interface.d.ts +145 -0
  182. package/dist/interfaces/misc/group-by.interface.d.ts.map +1 -0
  183. package/dist/interfaces/misc/group-by.interface.js +3 -0
  184. package/dist/interfaces/misc/group-by.interface.js.map +1 -0
  185. package/dist/interfaces/misc/index.d.ts +0 -4
  186. package/dist/interfaces/misc/index.d.ts.map +1 -1
  187. package/dist/interfaces/misc/index.js +0 -4
  188. package/dist/interfaces/misc/index.js.map +1 -1
  189. package/dist/interfaces/outputs/group-by-response.interface.d.ts +59 -0
  190. package/dist/interfaces/outputs/group-by-response.interface.d.ts.map +1 -0
  191. package/dist/interfaces/outputs/group-by-response.interface.js +3 -0
  192. package/dist/interfaces/outputs/group-by-response.interface.js.map +1 -0
  193. package/dist/interfaces/outputs/index.d.ts +3 -0
  194. package/dist/interfaces/outputs/index.d.ts.map +1 -0
  195. package/dist/interfaces/outputs/index.js +19 -0
  196. package/dist/interfaces/outputs/index.js.map +1 -0
  197. package/dist/interfaces/outputs/pagination-result.interface.d.ts +10 -0
  198. package/dist/interfaces/outputs/pagination-result.interface.d.ts.map +1 -0
  199. package/dist/interfaces/outputs/pagination-result.interface.js +3 -0
  200. package/dist/interfaces/outputs/pagination-result.interface.js.map +1 -0
  201. package/dist/interfaces/services/crud-service.interface.d.ts +2 -1
  202. package/dist/interfaces/services/crud-service.interface.d.ts.map +1 -1
  203. package/dist/interfaces/services/crud-service.interface.js.map +1 -1
  204. package/dist/interfaces/services/data-service.interface.d.ts +3 -1
  205. package/dist/interfaces/services/data-service.interface.d.ts.map +1 -1
  206. package/dist/interfaces/structures/common-services.index.d.ts +1 -0
  207. package/dist/interfaces/structures/common-services.index.d.ts.map +1 -0
  208. package/dist/interfaces/structures/common-services.index.js +2 -0
  209. package/dist/interfaces/structures/common-services.index.js.map +1 -0
  210. package/dist/interfaces/structures/crud-service-structure.interface.d.ts +2 -1
  211. package/dist/interfaces/structures/crud-service-structure.interface.d.ts.map +1 -1
  212. package/dist/interfaces/structures/data-service-structure.interface.d.ts +2 -1
  213. package/dist/interfaces/structures/data-service-structure.interface.d.ts.map +1 -1
  214. package/dist/interfaces/structures/entity-provider-structure.interface.d.ts +2 -1
  215. package/dist/interfaces/structures/entity-provider-structure.interface.d.ts.map +1 -1
  216. package/dist/interfaces/structures/entity-provider-structure.interface.js.map +1 -1
  217. package/dist/interfaces/structures/service-plugins.interface.d.ts +2 -1
  218. package/dist/interfaces/structures/service-plugins.interface.d.ts.map +1 -1
  219. package/dist/metadata/index.d.ts +2 -0
  220. package/dist/metadata/index.d.ts.map +1 -0
  221. package/dist/metadata/index.js +18 -0
  222. package/dist/metadata/index.js.map +1 -0
  223. package/dist/metadata/metadata-storage.d.ts +54 -0
  224. package/dist/metadata/metadata-storage.d.ts.map +1 -0
  225. package/dist/metadata/metadata-storage.js +106 -0
  226. package/dist/metadata/metadata-storage.js.map +1 -0
  227. package/dist/registry/index.d.ts +2 -0
  228. package/dist/registry/index.d.ts.map +1 -0
  229. package/dist/registry/index.js +18 -0
  230. package/dist/registry/index.js.map +1 -0
  231. package/dist/registry/relation-adapter-registry.d.ts +11 -0
  232. package/dist/registry/relation-adapter-registry.d.ts.map +1 -0
  233. package/dist/registry/relation-adapter-registry.js +30 -0
  234. package/dist/registry/relation-adapter-registry.js.map +1 -0
  235. package/dist/types/dto-generation.types.d.ts +46 -0
  236. package/dist/types/dto-generation.types.d.ts.map +1 -0
  237. package/dist/types/dto-generation.types.js +6 -0
  238. package/dist/types/dto-generation.types.js.map +1 -0
  239. package/dist/types/find-args.type.d.ts +9 -7
  240. package/dist/types/find-args.type.d.ts.map +1 -1
  241. package/dist/types/group-by.type.d.ts +41 -0
  242. package/dist/types/group-by.type.d.ts.map +1 -0
  243. package/dist/types/group-by.type.js +3 -0
  244. package/dist/types/group-by.type.js.map +1 -0
  245. package/dist/types/index.d.ts +2 -0
  246. package/dist/types/index.d.ts.map +1 -1
  247. package/dist/types/index.js +2 -0
  248. package/dist/types/index.js.map +1 -1
  249. package/package.json +2 -2
  250. package/dist/utils/object.utils.d.ts +0 -8
  251. package/dist/utils/object.utils.d.ts.map +0 -1
  252. package/dist/utils/object.utils.js +0 -11
  253. package/dist/utils/object.utils.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import { ValidationDecoratorAdapter } from './validation.adapter';
2
+ /**
3
+ * Registers the validation adapter (singleton pattern)
4
+ */
5
+ export declare function registerValidationAdapter(): void;
6
+ export { ValidationDecoratorAdapter };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAKlE;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAOhD;AAKD,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationDecoratorAdapter = void 0;
4
+ exports.registerValidationAdapter = registerValidationAdapter;
5
+ const decorator_registry_1 = require("../decorator-registry");
6
+ const validation_adapter_1 = require("./validation.adapter");
7
+ Object.defineProperty(exports, "ValidationDecoratorAdapter", { enumerable: true, get: function () { return validation_adapter_1.ValidationDecoratorAdapter; } });
8
+ // Singleton instance to prevent multiple registrations
9
+ let validationAdapterInstance = null;
10
+ /**
11
+ * Registers the validation adapter (singleton pattern)
12
+ */
13
+ function registerValidationAdapter() {
14
+ if (!validationAdapterInstance) {
15
+ validationAdapterInstance = new validation_adapter_1.ValidationDecoratorAdapter();
16
+ if (validationAdapterInstance.isAvailable()) {
17
+ decorator_registry_1.DecoratorRegistry.registerAdapter('validation', validationAdapterInstance);
18
+ }
19
+ }
20
+ }
21
+ // Auto-register on import
22
+ registerValidationAdapter();
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;AASA,8DAOC;AAhBD,8DAA0D;AAC1D,6DAAkE;AAoBzD,2GApBA,+CAA0B,OAoBA;AAlBnC,uDAAuD;AACvD,IAAI,yBAAyB,GAAsC,IAAI,CAAC;AAExE;;GAEG;AACH,SAAgB,yBAAyB;IACvC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,yBAAyB,GAAG,IAAI,+CAA0B,EAAE,CAAC;QAC7D,IAAI,yBAAyB,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,sCAAiB,CAAC,eAAe,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { DecoratorAdapter, FieldMetadata } from '../interfaces';
2
+ export declare class ValidationDecoratorAdapter implements DecoratorAdapter {
3
+ name: string;
4
+ private static applied;
5
+ private validatorsLoaded;
6
+ isAvailable(): boolean;
7
+ private loadValidatorsSync;
8
+ apply(target: any, propertyKey: string | symbol, metadata: FieldMetadata): void;
9
+ private applyTransformation;
10
+ private applyOptionalValidators;
11
+ private applyTypeValidators;
12
+ private applyConstraintValidators;
13
+ private applyCustomValidators;
14
+ private applyArrayValidators;
15
+ private isPrimitiveType;
16
+ private isAlreadyApplied;
17
+ private markAsApplied;
18
+ applyClassDecorator?(target: Function, type: 'entity' | 'input', options: any): void;
19
+ }
20
+ //# sourceMappingURL=validation.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/validation.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoChE,qBAAa,0BAA2B,YAAW,gBAAgB;IACjE,IAAI,SAAgB;IAGpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4C;IAClE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,kBAAkB;IA4C1B,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IA4C/E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mBAAmB;IAwF3B,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAUrB,mBAAmB,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;CAGrF"}
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationDecoratorAdapter = void 0;
4
+ const package_detector_helper_1 = require("../helpers/package-detector.helper");
5
+ const type_inference_helper_1 = require("../helpers/type-inference.helper");
6
+ // Dynamic imports to avoid dependency issues
7
+ let IsString;
8
+ let IsNumber;
9
+ let IsBoolean;
10
+ let IsDate;
11
+ let IsEmail;
12
+ let IsUrl;
13
+ let IsUUID;
14
+ let IsJSON;
15
+ let IsOptional;
16
+ let IsNotEmpty;
17
+ let IsEnum;
18
+ let IsIn;
19
+ let IsArray;
20
+ let IsObject;
21
+ let IsInt;
22
+ let IsPositive;
23
+ let IsNegative;
24
+ let Min;
25
+ let Max;
26
+ let MinLength;
27
+ let MaxLength;
28
+ let Matches;
29
+ let ValidateNested;
30
+ let ArrayMinSize;
31
+ let ArrayMaxSize;
32
+ let Type;
33
+ let Transform;
34
+ class ValidationDecoratorAdapter {
35
+ constructor() {
36
+ this.name = 'validation';
37
+ this.validatorsLoaded = false;
38
+ }
39
+ isAvailable() {
40
+ return (0, package_detector_helper_1.isClassValidatorAvailable)() && (0, package_detector_helper_1.isClassTransformerAvailable)();
41
+ }
42
+ loadValidatorsSync() {
43
+ if (this.validatorsLoaded)
44
+ return;
45
+ try {
46
+ const classValidator = require('class-validator');
47
+ const classTransformer = require('class-transformer');
48
+ // Assign validators
49
+ IsString = classValidator.IsString;
50
+ IsNumber = classValidator.IsNumber;
51
+ IsBoolean = classValidator.IsBoolean;
52
+ IsDate = classValidator.IsDate;
53
+ IsEmail = classValidator.IsEmail;
54
+ IsUrl = classValidator.IsUrl;
55
+ IsUUID = classValidator.IsUUID;
56
+ IsJSON = classValidator.IsJSON;
57
+ IsOptional = classValidator.IsOptional;
58
+ IsNotEmpty = classValidator.IsNotEmpty;
59
+ IsEnum = classValidator.IsEnum;
60
+ IsIn = classValidator.IsIn;
61
+ IsArray = classValidator.IsArray;
62
+ IsObject = classValidator.IsObject;
63
+ IsInt = classValidator.IsInt;
64
+ IsPositive = classValidator.IsPositive;
65
+ IsNegative = classValidator.IsNegative;
66
+ Min = classValidator.Min;
67
+ Max = classValidator.Max;
68
+ MinLength = classValidator.MinLength;
69
+ MaxLength = classValidator.MaxLength;
70
+ Matches = classValidator.Matches;
71
+ ValidateNested = classValidator.ValidateNested;
72
+ ArrayMinSize = classValidator.ArrayMinSize;
73
+ ArrayMaxSize = classValidator.ArrayMaxSize;
74
+ // Assign transformers
75
+ Type = classTransformer.Type;
76
+ Transform = classTransformer.Transform;
77
+ this.validatorsLoaded = true;
78
+ }
79
+ catch (error) {
80
+ console.warn('[SolidNestJS] Failed to load validation decorators:', error);
81
+ }
82
+ }
83
+ apply(target, propertyKey, metadata) {
84
+ // Load validators if not already loaded
85
+ if (!this.validatorsLoaded) {
86
+ this.loadValidatorsSync();
87
+ if (!this.validatorsLoaded)
88
+ return;
89
+ }
90
+ // Prevent duplicate application
91
+ if (this.isAlreadyApplied(target, propertyKey)) {
92
+ return;
93
+ }
94
+ this.markAsApplied(target, propertyKey);
95
+ const { type, options, isOptional, adapterOptions } = metadata;
96
+ // Debug logging (disabled)
97
+ // if (process.env.NODE_ENV !== 'production') {
98
+ // console.log(`[ValidationAdapter] Applying to ${target.constructor.name}.${String(propertyKey)}: type=${type?.name}, optional=${isOptional}, nullable=${options.nullable}`);
99
+ // }
100
+ // Skip if validation explicitly disabled
101
+ if (options.skipValidation || adapterOptions?.skip) {
102
+ return;
103
+ }
104
+ // Apply transformation
105
+ this.applyTransformation(target, propertyKey, type, options, adapterOptions);
106
+ // Apply optional/required validators
107
+ this.applyOptionalValidators(target, propertyKey, options, isOptional, adapterOptions);
108
+ // Apply type-specific validators
109
+ this.applyTypeValidators(target, propertyKey, type, options, adapterOptions);
110
+ // Apply array-specific validators if detected
111
+ this.applyArrayValidators(target, propertyKey, type, options, adapterOptions);
112
+ // Apply constraint validators
113
+ this.applyConstraintValidators(target, propertyKey, type, options, adapterOptions);
114
+ // Apply custom validators
115
+ this.applyCustomValidators(target, propertyKey, adapterOptions);
116
+ }
117
+ applyTransformation(target, propertyKey, type, options, adapterOptions) {
118
+ if (!Type || !Transform)
119
+ return;
120
+ // Skip transformation if explicitly disabled
121
+ if (options.transform === false || adapterOptions?.skipTransform) {
122
+ return;
123
+ }
124
+ // Apply Type decorator for nested objects only when safe
125
+ if (type && typeof type === 'function' && !this.isPrimitiveType(type)) {
126
+ try {
127
+ Type(() => type)(target, propertyKey);
128
+ }
129
+ catch (error) {
130
+ console.warn(`[SolidNestJS] Failed to apply Type decorator for ${String(propertyKey)}:`, error);
131
+ }
132
+ }
133
+ // Apply custom transformers
134
+ if (adapterOptions?.transform) {
135
+ Transform(adapterOptions.transform)(target, propertyKey);
136
+ }
137
+ }
138
+ applyOptionalValidators(target, propertyKey, options, isOptional, adapterOptions) {
139
+ if (!IsOptional || !IsNotEmpty)
140
+ return;
141
+ const isNullable = options.nullable ?? isOptional;
142
+ if (isNullable) {
143
+ IsOptional()(target, propertyKey);
144
+ }
145
+ else if (!adapterOptions?.skipRequired) {
146
+ IsNotEmpty()(target, propertyKey);
147
+ }
148
+ }
149
+ applyTypeValidators(target, propertyKey, type, options, adapterOptions) {
150
+ // String validators
151
+ if (type === String && IsString) {
152
+ IsString()(target, propertyKey);
153
+ if ((options.email || adapterOptions?.email) && IsEmail) {
154
+ IsEmail(adapterOptions?.emailOptions || {})(target, propertyKey);
155
+ }
156
+ if ((options.url || adapterOptions?.url) && IsUrl) {
157
+ IsUrl(adapterOptions?.urlOptions || {})(target, propertyKey);
158
+ }
159
+ if ((options.uuid || adapterOptions?.uuid) && IsUUID) {
160
+ IsUUID(adapterOptions?.uuidVersion || '4')(target, propertyKey);
161
+ }
162
+ if ((options.json || adapterOptions?.json) && IsJSON) {
163
+ IsJSON()(target, propertyKey);
164
+ }
165
+ }
166
+ // Number validators
167
+ else if (type === Number) {
168
+ if ((options.integer || adapterOptions?.integer) && IsInt) {
169
+ IsInt()(target, propertyKey);
170
+ }
171
+ else if (IsNumber) {
172
+ IsNumber(adapterOptions?.numberOptions || {})(target, propertyKey);
173
+ }
174
+ if ((options.positive || adapterOptions?.positive) && IsPositive) {
175
+ IsPositive()(target, propertyKey);
176
+ }
177
+ if ((options.negative || adapterOptions?.negative) && IsNegative) {
178
+ IsNegative()(target, propertyKey);
179
+ }
180
+ }
181
+ // Boolean validators
182
+ else if (type === Boolean && IsBoolean) {
183
+ IsBoolean()(target, propertyKey);
184
+ }
185
+ // Date validators
186
+ else if (type === Date && IsDate) {
187
+ IsDate()(target, propertyKey);
188
+ }
189
+ // Array validators - check explicit array option first
190
+ else if ((options.array || Array.isArray(type) || adapterOptions?.isArray) && IsArray) {
191
+ IsArray()(target, propertyKey);
192
+ // Get array type from options first, then adapter
193
+ const arrayType = options.arrayType || adapterOptions?.arrayType;
194
+ if (arrayType && ValidateNested && Type) {
195
+ ValidateNested({ each: true })(target, propertyKey);
196
+ Type(arrayType)(target, propertyKey);
197
+ }
198
+ }
199
+ // Enum validators - use IsIn for arrays, IsEnum for actual enum types
200
+ else if (options.enum || adapterOptions?.enum) {
201
+ const enumType = options.enum || adapterOptions.enum;
202
+ if (Array.isArray(enumType) && IsIn) {
203
+ // For array of values like ['pending', 'paid', 'cancelled']
204
+ IsIn(enumType)(target, propertyKey);
205
+ }
206
+ else if (IsEnum && typeof enumType === 'object') {
207
+ // For actual TypeScript enums
208
+ IsEnum(enumType)(target, propertyKey);
209
+ }
210
+ }
211
+ // Object validators
212
+ else if (type && typeof type === 'function' && !this.isPrimitiveType(type)) {
213
+ if (IsObject) {
214
+ IsObject()(target, propertyKey);
215
+ }
216
+ if (ValidateNested) {
217
+ ValidateNested()(target, propertyKey);
218
+ }
219
+ }
220
+ }
221
+ applyConstraintValidators(target, propertyKey, type, options, adapterOptions) {
222
+ // String constraints
223
+ if (type === String) {
224
+ if (options.minLength !== undefined && MinLength) {
225
+ MinLength(options.minLength)(target, propertyKey);
226
+ }
227
+ if (options.maxLength !== undefined && MaxLength) {
228
+ MaxLength(options.maxLength)(target, propertyKey);
229
+ }
230
+ if (options.pattern && Matches) {
231
+ Matches(options.pattern)(target, propertyKey);
232
+ }
233
+ }
234
+ // Number constraints
235
+ if (type === Number) {
236
+ if (options.min !== undefined && Min) {
237
+ Min(options.min)(target, propertyKey);
238
+ }
239
+ if (options.max !== undefined && Max) {
240
+ Max(options.max)(target, propertyKey);
241
+ }
242
+ }
243
+ // Array constraints
244
+ if ((Array.isArray(type) || adapterOptions?.isArray)) {
245
+ if ((options.minSize !== undefined || adapterOptions?.minSize !== undefined) && ArrayMinSize) {
246
+ ArrayMinSize(options.minSize || adapterOptions.minSize)(target, propertyKey);
247
+ }
248
+ if ((options.maxSize !== undefined || adapterOptions?.maxSize !== undefined) && ArrayMaxSize) {
249
+ ArrayMaxSize(options.maxSize || adapterOptions.maxSize)(target, propertyKey);
250
+ }
251
+ }
252
+ }
253
+ applyCustomValidators(target, propertyKey, adapterOptions) {
254
+ if (adapterOptions?.validators && Array.isArray(adapterOptions.validators)) {
255
+ adapterOptions.validators.forEach((validator) => {
256
+ if (typeof validator === 'function') {
257
+ // Apply validator directly as a decorator function
258
+ validator(target, propertyKey);
259
+ }
260
+ });
261
+ }
262
+ }
263
+ applyArrayValidators(target, propertyKey, type, options, adapterOptions) {
264
+ // Check if this is an array type
265
+ const arrayInfo = (0, type_inference_helper_1.detectArrayInfo)(target, propertyKey);
266
+ if (arrayInfo.isArray && IsArray) {
267
+ IsArray()(target, propertyKey);
268
+ // Apply ValidateNested for object arrays
269
+ if (ValidateNested) {
270
+ ValidateNested({ each: true })(target, propertyKey);
271
+ }
272
+ // Apply Type decorator for array element transformation
273
+ if (Type && adapterOptions?.isArray) {
274
+ // Try to get the array element type from GraphQL configuration
275
+ if (adapterOptions.arrayType && typeof adapterOptions.arrayType === 'function') {
276
+ try {
277
+ Type(adapterOptions.arrayType)(target, propertyKey);
278
+ }
279
+ catch (error) {
280
+ console.warn(`[SolidNestJS] Failed to apply array Type decorator for ${String(propertyKey)}:`, error);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ isPrimitiveType(type) {
287
+ return [String, Number, Boolean, Date, Symbol, BigInt].includes(type);
288
+ }
289
+ isAlreadyApplied(target, propertyKey) {
290
+ const applied = ValidationDecoratorAdapter.applied.get(target);
291
+ return applied ? applied.has(propertyKey) : false;
292
+ }
293
+ markAsApplied(target, propertyKey) {
294
+ let applied = ValidationDecoratorAdapter.applied.get(target);
295
+ if (!applied) {
296
+ applied = new Set();
297
+ ValidationDecoratorAdapter.applied.set(target, applied);
298
+ }
299
+ applied.add(propertyKey);
300
+ }
301
+ // Class-level decorator support (no specific class decorators for validation)
302
+ applyClassDecorator(target, type, options) {
303
+ // No class-level validation decorators needed
304
+ }
305
+ }
306
+ exports.ValidationDecoratorAdapter = ValidationDecoratorAdapter;
307
+ // Track applied decorators to prevent duplicates
308
+ ValidationDecoratorAdapter.applied = new WeakMap();
309
+ //# sourceMappingURL=validation.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.adapter.js","sourceRoot":"","sources":["../../src/adapters/validation.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { DecoratorAdapter, FieldMetadata } from '../interfaces';
2
+ export declare class DecoratorRegistry {
3
+ private static adapters;
4
+ private static isDebugMode;
5
+ /**
6
+ * Registers a decorator adapter
7
+ */
8
+ static registerAdapter(name: string, adapter: DecoratorAdapter): void;
9
+ /**
10
+ * Applies decorators from all registered adapters to a property
11
+ */
12
+ static applyDecorators(target: any, propertyKey: string | symbol, metadata: FieldMetadata): void;
13
+ /**
14
+ * Applies class-level decorators from all registered adapters
15
+ */
16
+ static applyClassDecorators(target: Function, type: 'entity' | 'input', options: any): void;
17
+ /**
18
+ * Gets a specific adapter by name
19
+ */
20
+ static getAdapter(name: string): DecoratorAdapter | undefined;
21
+ /**
22
+ * Gets all registered adapter names
23
+ */
24
+ static getRegisteredAdapters(): string[];
25
+ /**
26
+ * Gets all registered adapters
27
+ */
28
+ static getAllAdapters(): Map<string, DecoratorAdapter>;
29
+ /**
30
+ * Checks if an adapter is registered
31
+ */
32
+ static hasAdapter(name: string): boolean;
33
+ /**
34
+ * Unregisters an adapter
35
+ */
36
+ static unregisterAdapter(name: string): boolean;
37
+ /**
38
+ * Clears all registered adapters (useful for testing)
39
+ */
40
+ static clearAdapters(): void;
41
+ /**
42
+ * Gets statistics about registered adapters
43
+ */
44
+ static getStats(): {
45
+ totalAdapters: number;
46
+ availableAdapters: string[];
47
+ unavailableAdapters: string[];
48
+ };
49
+ /**
50
+ * Enables or disables debug mode
51
+ */
52
+ static setDebugMode(enabled: boolean): void;
53
+ }
54
+ //# sourceMappingURL=decorator-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator-registry.d.ts","sourceRoot":"","sources":["../../src/decorator-registry/decorator-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAgF;IAE1G;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsBrE;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,QAAQ,EAAE,aAAa,GACtB,IAAI;IAgCP;;OAEG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,OAAO,EAAE,GAAG,GACX,IAAI;IA4BP;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI7D;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAItD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ/C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B;IAmBD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAG5C"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecoratorRegistry = void 0;
4
+ class DecoratorRegistry {
5
+ /**
6
+ * Registers a decorator adapter
7
+ */
8
+ static registerAdapter(name, adapter) {
9
+ // Prevent duplicate registration
10
+ if (this.adapters.has(name)) {
11
+ if (this.isDebugMode) {
12
+ console.debug(`[SolidNestJS] Adapter '${name}' already registered, skipping`);
13
+ }
14
+ return;
15
+ }
16
+ // Only register if adapter is available
17
+ if (adapter.isAvailable()) {
18
+ this.adapters.set(name, adapter);
19
+ if (this.isDebugMode) {
20
+ console.debug(`[SolidNestJS] Registered adapter: ${name}`);
21
+ }
22
+ }
23
+ else {
24
+ if (this.isDebugMode) {
25
+ console.debug(`[SolidNestJS] Adapter '${name}' not available, skipping registration`);
26
+ }
27
+ }
28
+ }
29
+ /**
30
+ * Applies decorators from all registered adapters to a property
31
+ */
32
+ static applyDecorators(target, propertyKey, metadata) {
33
+ const skipAdapters = metadata.options?.skip || [];
34
+ this.adapters.forEach((adapter, name) => {
35
+ // Skip if adapter is in skip list
36
+ if (skipAdapters.includes(name)) {
37
+ if (this.isDebugMode) {
38
+ console.debug(`[SolidNestJS] Skipping adapter '${name}' for ${target.constructor.name}.${String(propertyKey)}`);
39
+ }
40
+ return;
41
+ }
42
+ try {
43
+ // Apply decorator with adapter-specific options if provided
44
+ const adapterOptions = metadata.options?.adapters?.[name];
45
+ const enhancedMetadata = {
46
+ ...metadata,
47
+ adapterOptions
48
+ };
49
+ adapter.apply(target, propertyKey, enhancedMetadata);
50
+ if (this.isDebugMode) {
51
+ console.debug(`[SolidNestJS] Applied adapter '${name}' to ${target.constructor.name}.${String(propertyKey)}`);
52
+ }
53
+ }
54
+ catch (error) {
55
+ console.error(`[SolidNestJS] Error applying adapter '${name}' to ${target.constructor.name}.${String(propertyKey)}:`, error);
56
+ // Continue with other adapters even if one fails
57
+ }
58
+ });
59
+ }
60
+ /**
61
+ * Applies class-level decorators from all registered adapters
62
+ */
63
+ static applyClassDecorators(target, type, options) {
64
+ const skipAdapters = options?.skip || [];
65
+ this.adapters.forEach((adapter, name) => {
66
+ // Skip if adapter is in skip list
67
+ if (skipAdapters.includes(name)) {
68
+ if (this.isDebugMode) {
69
+ console.debug(`[SolidNestJS] Skipping class adapter '${name}' for ${target.name}`);
70
+ }
71
+ return;
72
+ }
73
+ try {
74
+ // Apply class decorator if adapter supports it
75
+ if (adapter.applyClassDecorator) {
76
+ adapter.applyClassDecorator(target, type, options);
77
+ if (this.isDebugMode) {
78
+ console.debug(`[SolidNestJS] Applied class adapter '${name}' to ${target.name}`);
79
+ }
80
+ }
81
+ }
82
+ catch (error) {
83
+ console.error(`[SolidNestJS] Error applying class adapter '${name}' to ${target.name}:`, error);
84
+ // Continue with other adapters even if one fails
85
+ }
86
+ });
87
+ }
88
+ /**
89
+ * Gets a specific adapter by name
90
+ */
91
+ static getAdapter(name) {
92
+ return this.adapters.get(name);
93
+ }
94
+ /**
95
+ * Gets all registered adapter names
96
+ */
97
+ static getRegisteredAdapters() {
98
+ return Array.from(this.adapters.keys());
99
+ }
100
+ /**
101
+ * Gets all registered adapters
102
+ */
103
+ static getAllAdapters() {
104
+ return new Map(this.adapters);
105
+ }
106
+ /**
107
+ * Checks if an adapter is registered
108
+ */
109
+ static hasAdapter(name) {
110
+ return this.adapters.has(name);
111
+ }
112
+ /**
113
+ * Unregisters an adapter
114
+ */
115
+ static unregisterAdapter(name) {
116
+ const removed = this.adapters.delete(name);
117
+ if (removed && this.isDebugMode) {
118
+ console.debug(`[SolidNestJS] Unregistered adapter: ${name}`);
119
+ }
120
+ return removed;
121
+ }
122
+ /**
123
+ * Clears all registered adapters (useful for testing)
124
+ */
125
+ static clearAdapters() {
126
+ this.adapters.clear();
127
+ if (this.isDebugMode) {
128
+ console.debug('[SolidNestJS] Cleared all adapters');
129
+ }
130
+ }
131
+ /**
132
+ * Gets statistics about registered adapters
133
+ */
134
+ static getStats() {
135
+ const availableAdapters = [];
136
+ const unavailableAdapters = [];
137
+ this.adapters.forEach((adapter, name) => {
138
+ if (adapter.isAvailable()) {
139
+ availableAdapters.push(name);
140
+ }
141
+ else {
142
+ unavailableAdapters.push(name);
143
+ }
144
+ });
145
+ return {
146
+ totalAdapters: this.adapters.size,
147
+ availableAdapters,
148
+ unavailableAdapters,
149
+ };
150
+ }
151
+ /**
152
+ * Enables or disables debug mode
153
+ */
154
+ static setDebugMode(enabled) {
155
+ this.isDebugMode = enabled;
156
+ }
157
+ }
158
+ exports.DecoratorRegistry = DecoratorRegistry;
159
+ DecoratorRegistry.adapters = new Map();
160
+ DecoratorRegistry.isDebugMode = process.env.NODE_ENV === 'development' || process.env.SOLID_DEBUG === 'true';
161
+ //# sourceMappingURL=decorator-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator-registry.js","sourceRoot":"","sources":["../../src/decorator-registry/decorator-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './decorator-registry';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorator-registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./decorator-registry"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorator-registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}