@solid-nestjs/common 0.2.8 → 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 (161) 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/helpers/args-helpers/class-generator.helper.d.ts +143 -0
  46. package/dist/helpers/args-helpers/class-generator.helper.d.ts.map +1 -0
  47. package/dist/helpers/args-helpers/class-generator.helper.js +221 -0
  48. package/dist/helpers/args-helpers/class-generator.helper.js.map +1 -0
  49. package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts +83 -0
  50. package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts.map +1 -0
  51. package/dist/helpers/args-helpers/create-groupby-request.helper.js +119 -0
  52. package/dist/helpers/args-helpers/create-groupby-request.helper.js.map +1 -0
  53. package/dist/helpers/args-helpers/decorator-builder.helper.d.ts +160 -0
  54. package/dist/helpers/args-helpers/decorator-builder.helper.d.ts.map +1 -0
  55. package/dist/helpers/args-helpers/decorator-builder.helper.js +161 -0
  56. package/dist/helpers/args-helpers/decorator-builder.helper.js.map +1 -0
  57. package/dist/helpers/args-helpers/field-config.helper.d.ts +98 -0
  58. package/dist/helpers/args-helpers/field-config.helper.d.ts.map +1 -0
  59. package/dist/helpers/args-helpers/field-config.helper.js +143 -0
  60. package/dist/helpers/args-helpers/field-config.helper.js.map +1 -0
  61. package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts +87 -0
  62. package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts.map +1 -0
  63. package/dist/helpers/args-helpers/groupby-args-from.helper.js +185 -0
  64. package/dist/helpers/args-helpers/groupby-args-from.helper.js.map +1 -0
  65. package/dist/helpers/args-helpers/index.d.ts +15 -0
  66. package/dist/helpers/args-helpers/index.d.ts.map +1 -0
  67. package/dist/helpers/args-helpers/index.js +58 -0
  68. package/dist/helpers/args-helpers/index.js.map +1 -0
  69. package/dist/helpers/args-helpers/type-inference.helper.d.ts +191 -0
  70. package/dist/helpers/args-helpers/type-inference.helper.d.ts.map +1 -0
  71. package/dist/helpers/args-helpers/type-inference.helper.js +330 -0
  72. package/dist/helpers/args-helpers/type-inference.helper.js.map +1 -0
  73. package/dist/helpers/class-generation/dynamic-class.helper.d.ts +101 -0
  74. package/dist/helpers/class-generation/dynamic-class.helper.d.ts.map +1 -0
  75. package/dist/helpers/class-generation/dynamic-class.helper.js +180 -0
  76. package/dist/helpers/class-generation/dynamic-class.helper.js.map +1 -0
  77. package/dist/helpers/class-generation/index.d.ts +9 -0
  78. package/dist/helpers/class-generation/index.d.ts.map +1 -0
  79. package/dist/helpers/class-generation/index.js +18 -0
  80. package/dist/helpers/class-generation/index.js.map +1 -0
  81. package/dist/helpers/decorators/decorator-utils.helper.d.ts +75 -0
  82. package/dist/helpers/decorators/decorator-utils.helper.d.ts.map +1 -0
  83. package/dist/helpers/decorators/decorator-utils.helper.js +92 -0
  84. package/dist/helpers/decorators/decorator-utils.helper.js.map +1 -0
  85. package/dist/helpers/decorators/index.d.ts +9 -0
  86. package/dist/helpers/decorators/index.d.ts.map +1 -0
  87. package/dist/helpers/decorators/index.js +16 -0
  88. package/dist/helpers/decorators/index.js.map +1 -0
  89. package/dist/helpers/dto-generator-base.helper.d.ts +19 -0
  90. package/dist/helpers/dto-generator-base.helper.d.ts.map +1 -0
  91. package/dist/helpers/dto-generator-base.helper.js +72 -0
  92. package/dist/helpers/dto-generator-base.helper.js.map +1 -0
  93. package/dist/helpers/index.d.ts +9 -0
  94. package/dist/helpers/index.d.ts.map +1 -1
  95. package/dist/helpers/index.js +9 -0
  96. package/dist/helpers/index.js.map +1 -1
  97. package/dist/helpers/metadata-extractor.helper.d.ts +26 -0
  98. package/dist/helpers/metadata-extractor.helper.d.ts.map +1 -0
  99. package/dist/helpers/metadata-extractor.helper.js +67 -0
  100. package/dist/helpers/metadata-extractor.helper.js.map +1 -0
  101. package/dist/helpers/package-detector.helper.d.ts +33 -0
  102. package/dist/helpers/package-detector.helper.d.ts.map +1 -0
  103. package/dist/helpers/package-detector.helper.js +82 -0
  104. package/dist/helpers/package-detector.helper.js.map +1 -0
  105. package/dist/helpers/property-filter.helper.d.ts +15 -0
  106. package/dist/helpers/property-filter.helper.d.ts.map +1 -0
  107. package/dist/helpers/property-filter.helper.js +44 -0
  108. package/dist/helpers/property-filter.helper.js.map +1 -0
  109. package/dist/helpers/type-inference.helper.d.ts +76 -0
  110. package/dist/helpers/type-inference.helper.d.ts.map +1 -0
  111. package/dist/helpers/type-inference.helper.js +205 -0
  112. package/dist/helpers/type-inference.helper.js.map +1 -0
  113. package/dist/helpers/validation-inference.helper.d.ts +18 -0
  114. package/dist/helpers/validation-inference.helper.d.ts.map +1 -0
  115. package/dist/helpers/validation-inference.helper.js +100 -0
  116. package/dist/helpers/validation-inference.helper.js.map +1 -0
  117. package/dist/index.d.ts +4 -0
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +4 -0
  120. package/dist/index.js.map +1 -1
  121. package/dist/interfaces/adapters/decorator-adapter.interface.d.ts +8 -0
  122. package/dist/interfaces/adapters/decorator-adapter.interface.d.ts.map +1 -0
  123. package/dist/interfaces/adapters/decorator-adapter.interface.js +3 -0
  124. package/dist/interfaces/adapters/decorator-adapter.interface.js.map +1 -0
  125. package/dist/interfaces/decorators/solid-field-options.interface.d.ts +55 -0
  126. package/dist/interfaces/decorators/solid-field-options.interface.d.ts.map +1 -0
  127. package/dist/interfaces/decorators/solid-field-options.interface.js +3 -0
  128. package/dist/interfaces/decorators/solid-field-options.interface.js.map +1 -0
  129. package/dist/interfaces/index.d.ts +3 -0
  130. package/dist/interfaces/index.d.ts.map +1 -1
  131. package/dist/interfaces/index.js +3 -0
  132. package/dist/interfaces/index.js.map +1 -1
  133. package/dist/interfaces/metadata/field-metadata.interface.d.ts +29 -0
  134. package/dist/interfaces/metadata/field-metadata.interface.d.ts.map +1 -0
  135. package/dist/interfaces/metadata/field-metadata.interface.js +3 -0
  136. package/dist/interfaces/metadata/field-metadata.interface.js.map +1 -0
  137. package/dist/metadata/index.d.ts +2 -0
  138. package/dist/metadata/index.d.ts.map +1 -0
  139. package/dist/metadata/index.js +18 -0
  140. package/dist/metadata/index.js.map +1 -0
  141. package/dist/metadata/metadata-storage.d.ts +54 -0
  142. package/dist/metadata/metadata-storage.d.ts.map +1 -0
  143. package/dist/metadata/metadata-storage.js +106 -0
  144. package/dist/metadata/metadata-storage.js.map +1 -0
  145. package/dist/registry/index.d.ts +2 -0
  146. package/dist/registry/index.d.ts.map +1 -0
  147. package/dist/registry/index.js +18 -0
  148. package/dist/registry/index.js.map +1 -0
  149. package/dist/registry/relation-adapter-registry.d.ts +11 -0
  150. package/dist/registry/relation-adapter-registry.d.ts.map +1 -0
  151. package/dist/registry/relation-adapter-registry.js +30 -0
  152. package/dist/registry/relation-adapter-registry.js.map +1 -0
  153. package/dist/types/dto-generation.types.d.ts +46 -0
  154. package/dist/types/dto-generation.types.d.ts.map +1 -0
  155. package/dist/types/dto-generation.types.js +6 -0
  156. package/dist/types/dto-generation.types.js.map +1 -0
  157. package/dist/types/index.d.ts +1 -0
  158. package/dist/types/index.d.ts.map +1 -1
  159. package/dist/types/index.js +1 -0
  160. package/dist/types/index.js.map +1 -1
  161. package/package.json +2 -2
@@ -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("./metadata-storage"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,54 @@
1
+ import { FieldMetadata, EntityMetadata } from '../interfaces';
2
+ export declare class MetadataStorage {
3
+ private static fieldMetadata;
4
+ private static entityMetadata;
5
+ /**
6
+ * Adds field metadata for a specific class property
7
+ */
8
+ static addFieldMetadata(metadata: FieldMetadata): void;
9
+ /**
10
+ * Gets field metadata for a class or specific property
11
+ */
12
+ static getFieldMetadata(target: Function, propertyKey?: string | symbol): FieldMetadata[];
13
+ /**
14
+ * Gets all field metadata for a class including inherited fields
15
+ */
16
+ static getAllFieldMetadata(target: Function): FieldMetadata[];
17
+ /**
18
+ * Adds entity metadata for a class
19
+ */
20
+ static addEntityMetadata(metadata: EntityMetadata): void;
21
+ /**
22
+ * Gets entity metadata for a class
23
+ */
24
+ static getEntityMetadata(target: Function): EntityMetadata | undefined;
25
+ /**
26
+ * Gets all entity metadata
27
+ */
28
+ static getAllEntityMetadata(): EntityMetadata[];
29
+ /**
30
+ * Checks if a class has field metadata
31
+ */
32
+ static hasFieldMetadata(target: Function): boolean;
33
+ /**
34
+ * Checks if a class has entity metadata
35
+ */
36
+ static hasEntityMetadata(target: Function): boolean;
37
+ /**
38
+ * Removes all metadata for a specific class
39
+ */
40
+ static removeMetadata(target: Function): void;
41
+ /**
42
+ * Clears all metadata (useful for testing)
43
+ */
44
+ static clearMetadata(): void;
45
+ /**
46
+ * Gets statistics about stored metadata
47
+ */
48
+ static getStats(): {
49
+ totalClasses: number;
50
+ totalFields: number;
51
+ totalEntities: number;
52
+ };
53
+ }
54
+ //# sourceMappingURL=metadata-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-storage.d.ts","sourceRoot":"","sources":["../../src/metadata/metadata-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,aAAa,CAA4D;IACxF,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuC;IAEpE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAStD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAM,EAAE,QAAQ,EAChB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAC5B,aAAa,EAAE;IAclB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,EAAE;IAc7D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIxD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS;IAItE;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,cAAc,EAAE;IAI/C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIlD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAInD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAK7C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAK5B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;KACvB;CAYF"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataStorage = void 0;
4
+ class MetadataStorage {
5
+ /**
6
+ * Adds field metadata for a specific class property
7
+ */
8
+ static addFieldMetadata(metadata) {
9
+ let classMetadata = this.fieldMetadata.get(metadata.target);
10
+ if (!classMetadata) {
11
+ classMetadata = new Map();
12
+ this.fieldMetadata.set(metadata.target, classMetadata);
13
+ }
14
+ classMetadata.set(metadata.propertyKey, metadata);
15
+ }
16
+ /**
17
+ * Gets field metadata for a class or specific property
18
+ */
19
+ static getFieldMetadata(target, propertyKey) {
20
+ const classMetadata = this.fieldMetadata.get(target);
21
+ if (!classMetadata) {
22
+ return [];
23
+ }
24
+ if (propertyKey !== undefined) {
25
+ const fieldMetadata = classMetadata.get(propertyKey);
26
+ return fieldMetadata ? [fieldMetadata] : [];
27
+ }
28
+ return Array.from(classMetadata.values());
29
+ }
30
+ /**
31
+ * Gets all field metadata for a class including inherited fields
32
+ */
33
+ static getAllFieldMetadata(target) {
34
+ const allMetadata = [];
35
+ let currentTarget = target;
36
+ // Walk up the prototype chain to collect metadata from parent classes
37
+ while (currentTarget && currentTarget !== Object) {
38
+ const metadata = this.getFieldMetadata(currentTarget);
39
+ allMetadata.push(...metadata);
40
+ currentTarget = Object.getPrototypeOf(currentTarget);
41
+ }
42
+ return allMetadata;
43
+ }
44
+ /**
45
+ * Adds entity metadata for a class
46
+ */
47
+ static addEntityMetadata(metadata) {
48
+ this.entityMetadata.set(metadata.target, metadata);
49
+ }
50
+ /**
51
+ * Gets entity metadata for a class
52
+ */
53
+ static getEntityMetadata(target) {
54
+ return this.entityMetadata.get(target);
55
+ }
56
+ /**
57
+ * Gets all entity metadata
58
+ */
59
+ static getAllEntityMetadata() {
60
+ return Array.from(this.entityMetadata.values());
61
+ }
62
+ /**
63
+ * Checks if a class has field metadata
64
+ */
65
+ static hasFieldMetadata(target) {
66
+ return this.fieldMetadata.has(target);
67
+ }
68
+ /**
69
+ * Checks if a class has entity metadata
70
+ */
71
+ static hasEntityMetadata(target) {
72
+ return this.entityMetadata.has(target);
73
+ }
74
+ /**
75
+ * Removes all metadata for a specific class
76
+ */
77
+ static removeMetadata(target) {
78
+ this.fieldMetadata.delete(target);
79
+ this.entityMetadata.delete(target);
80
+ }
81
+ /**
82
+ * Clears all metadata (useful for testing)
83
+ */
84
+ static clearMetadata() {
85
+ this.fieldMetadata.clear();
86
+ this.entityMetadata.clear();
87
+ }
88
+ /**
89
+ * Gets statistics about stored metadata
90
+ */
91
+ static getStats() {
92
+ let totalFields = 0;
93
+ this.fieldMetadata.forEach(classMetadata => {
94
+ totalFields += classMetadata.size;
95
+ });
96
+ return {
97
+ totalClasses: this.fieldMetadata.size,
98
+ totalFields,
99
+ totalEntities: this.entityMetadata.size,
100
+ };
101
+ }
102
+ }
103
+ exports.MetadataStorage = MetadataStorage;
104
+ MetadataStorage.fieldMetadata = new Map();
105
+ MetadataStorage.entityMetadata = new Map();
106
+ //# sourceMappingURL=metadata-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-storage.js","sourceRoot":"","sources":["../../src/metadata/metadata-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './relation-adapter-registry';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,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("./relation-adapter-registry"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
@@ -0,0 +1,11 @@
1
+ export interface RelationAdapterHelper {
2
+ getRelationAdapterOptions(type: string, targetFn: () => Function, inverseSide: any, options: any): any;
3
+ }
4
+ export declare class RelationAdapterRegistry {
5
+ private static adapters;
6
+ static registerAdapter(name: string, adapter: RelationAdapterHelper): void;
7
+ static getAdapterOptions(name: string, type: string, targetFn: () => Function, inverseSide: any, options: any): any;
8
+ static getRegisteredAdapters(): string[];
9
+ static hasAdapter(name: string): boolean;
10
+ }
11
+ //# sourceMappingURL=relation-adapter-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-adapter-registry.d.ts","sourceRoot":"","sources":["../../src/registry/relation-adapter-registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;CACxG;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4C;IAEnE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAI1E,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG;IAcnH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAGzC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationAdapterRegistry = void 0;
4
+ class RelationAdapterRegistry {
5
+ static registerAdapter(name, adapter) {
6
+ this.adapters.set(name, adapter);
7
+ }
8
+ static getAdapterOptions(name, type, targetFn, inverseSide, options) {
9
+ const adapter = this.adapters.get(name);
10
+ if (!adapter) {
11
+ return {};
12
+ }
13
+ try {
14
+ return adapter.getRelationAdapterOptions(type, targetFn, inverseSide, options);
15
+ }
16
+ catch (error) {
17
+ console.warn(`[SolidNestJS] Failed to get adapter options for ${name}:`, error);
18
+ return {};
19
+ }
20
+ }
21
+ static getRegisteredAdapters() {
22
+ return Array.from(this.adapters.keys());
23
+ }
24
+ static hasAdapter(name) {
25
+ return this.adapters.has(name);
26
+ }
27
+ }
28
+ exports.RelationAdapterRegistry = RelationAdapterRegistry;
29
+ RelationAdapterRegistry.adapters = new Map();
30
+ //# sourceMappingURL=relation-adapter-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-adapter-registry.js","sourceRoot":"","sources":["../../src/registry/relation-adapter-registry.ts"],"names":[],"mappings":";;;AAIA,MAAa,uBAAuB;IAGlC,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,OAA8B;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAE,QAAwB,EAAE,WAAgB,EAAE,OAAY;QAC3G,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AA3BH,0DA4BC;AA3BgB,gCAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Type utilities for DTO generation with better TypeScript inference
3
+ */
4
+ /**
5
+ * Primitive types that are safe to include in DTOs
6
+ */
7
+ export type PrimitiveTypes = string | number | boolean | Date;
8
+ /**
9
+ * Check if a type is primitive (flat type safe for DTOs)
10
+ */
11
+ export type IsPrimitive<T> = T extends PrimitiveTypes ? true : false;
12
+ /**
13
+ * Extract only primitive properties from an entity type
14
+ */
15
+ export type PrimitivePropertiesOf<T> = {
16
+ [K in keyof T]: IsPrimitive<T[K]> extends true ? T[K] : never;
17
+ };
18
+ /**
19
+ * Get only the keys of primitive properties
20
+ */
21
+ export type PrimitiveKeysOf<T> = {
22
+ [K in keyof T]: IsPrimitive<T[K]> extends true ? K : never;
23
+ }[keyof T];
24
+ /**
25
+ * Pick only primitive properties from an entity
26
+ */
27
+ export type PickPrimitive<T> = Pick<T, PrimitiveKeysOf<T>>;
28
+ /**
29
+ * For array format: Pick only the specified keys that are also primitive
30
+ */
31
+ export type PickSelectedKeys<T, K extends keyof T> = Pick<T, K & PrimitiveKeysOf<T>>;
32
+ /**
33
+ * For object format: Pick keys based on boolean configuration, but only primitive ones
34
+ */
35
+ export type PickByConfig<T, Config extends Partial<Record<keyof T, boolean>>> = Pick<T, {
36
+ [K in keyof Config]: Config[K] extends true ? K extends PrimitiveKeysOf<T> ? K : never : never;
37
+ }[keyof Config]>;
38
+ /**
39
+ * Property inclusion configuration type
40
+ */
41
+ export type PropertyInclusionConfig<TEntity> = Partial<Record<keyof TEntity, boolean>>;
42
+ /**
43
+ * Infer the correct return type based on the properties/config parameter
44
+ */
45
+ export type InferDtoType<TEntity, TPropertiesOrConfig extends (keyof TEntity)[] | PropertyInclusionConfig<TEntity> | undefined> = TPropertiesOrConfig extends (keyof TEntity)[] ? PickSelectedKeys<TEntity, TPropertiesOrConfig[number]> : TPropertiesOrConfig extends PropertyInclusionConfig<TEntity> ? PickByConfig<TEntity, TPropertiesOrConfig> : PickPrimitive<TEntity>;
46
+ //# sourceMappingURL=dto-generation.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dto-generation.types.d.ts","sourceRoot":"","sources":["../../src/types/dto-generation.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;KACpC,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAClF,CAAC,EACD;KACG,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,GAC1B,CAAC,GACD,KAAK,GACP,KAAK;CACV,CAAC,MAAM,MAAM,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,YAAY,CACtB,OAAO,EACP,mBAAmB,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,SAAS,IAC1F,mBAAmB,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GAC7C,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GACtD,mBAAmB,SAAS,uBAAuB,CAAC,OAAO,CAAC,GAC5D,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAC1C,aAAa,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type utilities for DTO generation with better TypeScript inference
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=dto-generation.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dto-generation.types.js","sourceRoot":"","sources":["../../src/types/dto-generation.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -5,4 +5,5 @@ export * from './find-args.type';
5
5
  export * from './group-by.type';
6
6
  export * from './prettify.type';
7
7
  export * from './union-to-intersection.type';
8
+ export * from './dto-generation.types';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
@@ -21,4 +21,5 @@ __exportStar(require("./find-args.type"), exports);
21
21
  __exportStar(require("./group-by.type"), exports);
22
22
  __exportStar(require("./prettify.type"), exports);
23
23
  __exportStar(require("./union-to-intersection.type"), exports);
24
+ __exportStar(require("./dto-generation.types"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,+DAA6C;AAC7C,yDAAuC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solid-nestjs/common",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "solid-nestjs common utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -42,5 +42,5 @@
42
42
  "tsconfig.json": "^1.0.11",
43
43
  "typescript": "^5.8.3"
44
44
  },
45
- "gitHead": "4339f6d9ab441132195285671b11dcaf6bf4e008"
45
+ "gitHead": "3ebf7d4bd0a62c0964bbf3f3810c2ee3b2a3051b"
46
46
  }