arkos 1.4.9-beta → 1.4.10-beta

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 (193) hide show
  1. package/dist/cjs/app.js +14 -14
  2. package/dist/cjs/components/arkos-policy/index.js +38 -0
  3. package/dist/cjs/components/arkos-policy/index.js.map +1 -0
  4. package/dist/cjs/{types/arkos-prisma-input.bak.js → components/arkos-policy/types.js} +1 -1
  5. package/dist/cjs/components/arkos-policy/types.js.map +1 -0
  6. package/dist/cjs/exports/auth/index.js +1 -1
  7. package/dist/cjs/exports/config.js +6 -0
  8. package/dist/cjs/exports/config.js.map +1 -0
  9. package/dist/cjs/exports/controllers/index.js +2 -2
  10. package/dist/cjs/exports/error-handler/index.js +2 -2
  11. package/dist/cjs/exports/index.js +4 -4
  12. package/dist/cjs/exports/middlewares/index.js +1 -1
  13. package/dist/cjs/exports/prisma/index.js +1 -1
  14. package/dist/cjs/exports/services/index.js +5 -5
  15. package/dist/cjs/exports/utils/index.js +2 -2
  16. package/dist/cjs/exports/validation/index.js +2 -2
  17. package/dist/cjs/modules/auth/auth.controller.js +7 -7
  18. package/dist/cjs/modules/auth/auth.router.js +10 -10
  19. package/dist/cjs/modules/auth/auth.service.js +12 -12
  20. package/dist/cjs/modules/auth/utils/auth-error-objects.js +1 -1
  21. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  22. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +3 -3
  23. package/dist/cjs/modules/base/base.controller.js +9 -9
  24. package/dist/cjs/modules/base/base.middlewares.js +9 -9
  25. package/dist/cjs/modules/base/base.router.js +4 -4
  26. package/dist/cjs/modules/base/base.service.js +8 -8
  27. package/dist/cjs/modules/base/utils/error-prettifier.js +1 -1
  28. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  29. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  30. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +9 -9
  31. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +2 -2
  32. package/dist/cjs/modules/debugger/debugger.service.js +4 -4
  33. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js +2 -2
  34. package/dist/cjs/modules/email/email.service.js +2 -2
  35. package/dist/cjs/modules/error-handler/error-handler.controller.js +2 -2
  36. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +1 -1
  37. package/dist/cjs/modules/file-upload/file-upload.controller.js +9 -9
  38. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  39. package/dist/cjs/modules/file-upload/file-upload.router.js +22 -22
  40. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  41. package/dist/cjs/modules/file-upload/file-upload.service.js +6 -6
  42. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +3 -3
  43. package/dist/cjs/modules/swagger/swagger.router.js +8 -8
  44. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +276 -0
  45. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  46. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +3 -3
  47. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +4 -4
  48. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -1
  49. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +4 -4
  50. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +2 -2
  51. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +3 -3
  52. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +5 -5
  53. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +3 -3
  54. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +2 -2
  55. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +3 -3
  56. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +12 -12
  57. package/dist/cjs/server.js +5 -5
  58. package/dist/cjs/types/arkos-config/utils.js +3 -0
  59. package/dist/cjs/types/arkos-config/utils.js.map +1 -0
  60. package/dist/cjs/types/arkos.js +3 -0
  61. package/dist/cjs/types/arkos.js.map +1 -0
  62. package/dist/cjs/types/index.js.map +1 -1
  63. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +1 -1
  64. package/dist/cjs/utils/arkos-router/index.js +9 -9
  65. package/dist/cjs/utils/arkos-router/index.js.map +1 -1
  66. package/dist/cjs/utils/arkos-router/route-config-validator.js +2 -2
  67. package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
  68. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +152 -0
  69. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  70. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +6 -6
  71. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +8 -8
  72. package/dist/cjs/utils/bundler.js +163 -0
  73. package/dist/cjs/utils/bundler.js.map +1 -0
  74. package/dist/cjs/utils/cli/build.js +21 -33
  75. package/dist/cjs/utils/cli/build.js.map +1 -1
  76. package/dist/cjs/utils/cli/dev.js +6 -5
  77. package/dist/cjs/utils/cli/dev.js.map +1 -1
  78. package/dist/cjs/utils/cli/export-auth-action.js +4 -3
  79. package/dist/cjs/utils/cli/export-auth-action.js.map +1 -1
  80. package/dist/cjs/utils/cli/generate.js +8 -8
  81. package/dist/cjs/utils/cli/index.js +7 -7
  82. package/dist/cjs/utils/cli/prisma-generate.js +3 -3
  83. package/dist/cjs/utils/cli/remove-dir-cli.js +1 -1
  84. package/dist/cjs/utils/cli/start.js +5 -5
  85. package/dist/cjs/utils/cli/start.js.map +1 -1
  86. package/dist/cjs/utils/cli/utils/cli.helpers.js +3 -3
  87. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +5 -5
  88. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +2 -2
  89. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +2 -2
  90. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +2 -2
  91. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +2 -2
  92. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +3 -3
  93. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +1 -1
  94. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +53 -0
  95. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -0
  96. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +1 -1
  97. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +1 -1
  98. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +1 -1
  99. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +2 -2
  100. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +2 -2
  101. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +2 -2
  102. package/dist/cjs/utils/cli/utils/template-generators.js +11 -11
  103. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -3
  104. package/dist/cjs/utils/dotenv.helpers.js +2 -2
  105. package/dist/cjs/utils/dynamic-loader.js +8 -8
  106. package/dist/cjs/utils/features/api.features.js +5 -5
  107. package/dist/cjs/utils/features/change-case.features.js +1 -1
  108. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -1
  109. package/dist/cjs/utils/helpers/api.features.helpers.js +2 -2
  110. package/dist/cjs/utils/helpers/arkos-config.helpers.js +3 -3
  111. package/dist/cjs/utils/helpers/exit-error.js +12 -0
  112. package/dist/cjs/utils/helpers/exit-error.js.map +1 -0
  113. package/dist/cjs/utils/helpers/fs.helpers.js +1 -1
  114. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  115. package/dist/cjs/utils/helpers/prisma.helpers.js +6 -6
  116. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -1
  117. package/dist/cjs/utils/helpers/routers.helpers.js +4 -4
  118. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  119. package/dist/cjs/utils/initialize-app.js +56 -0
  120. package/dist/cjs/utils/initialize-app.js.map +1 -0
  121. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +4 -4
  122. package/dist/cjs/utils/prisma/prisma-schema-parser.js +2 -2
  123. package/dist/cjs/utils/setup-app.js +119 -0
  124. package/dist/cjs/utils/setup-app.js.map +1 -0
  125. package/dist/esm/components/arkos-policy/index.js +32 -0
  126. package/dist/esm/components/arkos-policy/index.js.map +1 -0
  127. package/dist/esm/components/arkos-policy/types.js +2 -0
  128. package/dist/esm/components/arkos-policy/types.js.map +1 -0
  129. package/dist/esm/exports/config.js +3 -0
  130. package/dist/esm/exports/config.js.map +1 -0
  131. package/dist/esm/modules/file-upload/file-upload.controller.js +2 -2
  132. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  133. package/dist/esm/modules/file-upload/file-upload.router.js +12 -12
  134. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  135. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +273 -0
  136. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  137. package/dist/esm/types/arkos-config/utils.js +2 -0
  138. package/dist/esm/types/arkos-config/utils.js.map +1 -0
  139. package/dist/esm/types/arkos.js +2 -0
  140. package/dist/esm/types/arkos.js.map +1 -0
  141. package/dist/esm/types/index.js.map +1 -1
  142. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  143. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  144. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +146 -0
  145. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  146. package/dist/esm/utils/bundler.js +156 -0
  147. package/dist/esm/utils/bundler.js.map +1 -0
  148. package/dist/esm/utils/cli/build.js +15 -27
  149. package/dist/esm/utils/cli/build.js.map +1 -1
  150. package/dist/esm/utils/cli/dev.js +1 -0
  151. package/dist/esm/utils/cli/dev.js.map +1 -1
  152. package/dist/esm/utils/cli/export-auth-action.js +1 -0
  153. package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
  154. package/dist/esm/utils/cli/start.js +1 -1
  155. package/dist/esm/utils/cli/start.js.map +1 -1
  156. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  157. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +47 -0
  158. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -0
  159. package/dist/esm/utils/helpers/exit-error.js +6 -0
  160. package/dist/esm/utils/helpers/exit-error.js.map +1 -0
  161. package/dist/esm/utils/helpers/fs.helpers.js +1 -1
  162. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  163. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  164. package/dist/esm/utils/initialize-app.js +50 -0
  165. package/dist/esm/utils/initialize-app.js.map +1 -0
  166. package/dist/esm/utils/setup-app.js +113 -0
  167. package/dist/esm/utils/setup-app.js.map +1 -0
  168. package/dist/types/components/arkos-policy/index.d.ts +31 -0
  169. package/dist/types/components/arkos-policy/types.d.ts +21 -0
  170. package/dist/types/exports/config.d.ts +2 -0
  171. package/dist/types/modules/file-upload/file-upload.router.d.ts +1 -2
  172. package/dist/types/modules/swagger/utils/get-open-api-login-html.d.ts +1 -0
  173. package/dist/types/types/arkos-config/utils.d.ts +35 -0
  174. package/dist/types/types/arkos.d.ts +31 -0
  175. package/dist/types/types/index.d.ts +3 -5
  176. package/dist/types/utils/arkos-router/types/index.d.ts +20 -11
  177. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +7 -0
  178. package/dist/types/utils/bundler.d.ts +152 -0
  179. package/dist/types/utils/cli/utils/template-generator/templates/policy-template.d.ts +2 -0
  180. package/dist/types/utils/helpers/exit-error.d.ts +1 -0
  181. package/dist/types/utils/helpers/routers.helpers.d.ts +3 -3
  182. package/dist/types/utils/initialize-app.d.ts +2 -0
  183. package/dist/types/utils/setup-app.d.ts +2 -0
  184. package/package.json +1 -1
  185. package/dist/cjs/types/arkos-prisma-input.bak.js.map +0 -1
  186. package/dist/cjs/utils/cli/utils/static-types-generator.js +0 -558
  187. package/dist/cjs/utils/cli/utils/static-types-generator.js.map +0 -1
  188. package/dist/esm/types/arkos-prisma-input.bak.js +0 -2
  189. package/dist/esm/types/arkos-prisma-input.bak.js.map +0 -1
  190. package/dist/esm/utils/cli/utils/static-types-generator.js +0 -553
  191. package/dist/esm/utils/cli/utils/static-types-generator.js.map +0 -1
  192. package/dist/types/types/arkos-prisma-input.bak.d.ts +0 -237
  193. package/dist/types/utils/cli/utils/static-types-generator.d.ts +0 -36
@@ -1,237 +0,0 @@
1
- /**
2
- * Helper type to exclude properties from T that exist in U
3
- * Used internally by XOR to create mutually exclusive types
4
- */
5
- type Without<T, U> = {
6
- [P in Exclude<keyof T, keyof U>]?: never;
7
- };
8
- /**
9
- * XOR (Exclusive OR) type for mutually exclusive union types
10
- * Ensures that properties from T and U cannot be mixed together
11
- * @see https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
12
- */
13
- type XOR<T, U> = T extends object ? U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : U : T;
14
- /**
15
- * Extract type from Prisma's Enumerable wrapper
16
- * Currently acts as identity but can be extended to handle array unwrapping
17
- */
18
- type Unpack<T> = T;
19
- /**
20
- * Checks if a field is a Prisma relation field
21
- * A field is considered a relation if it has any of: create, connect, connectOrCreate, update, delete, disconnect
22
- * Handles optional fields by excluding undefined before checking
23
- * @template T - The type to check
24
- * @returns true if T is a relation field, false otherwise
25
- */
26
- export type IsRelationField<T> = Exclude<T, undefined> extends {
27
- create?: {
28
- id?: any;
29
- } | {
30
- id?: any;
31
- }[];
32
- } | {
33
- connect?: {
34
- id?: any;
35
- } | {
36
- id?: any;
37
- }[];
38
- } | {
39
- update?: {
40
- where?: {
41
- id?: any;
42
- };
43
- data?: any;
44
- };
45
- } | {
46
- delete?: {
47
- where?: {
48
- id?: any;
49
- };
50
- };
51
- } | {
52
- disconnect?: {
53
- where?: {
54
- id?: any;
55
- };
56
- };
57
- } ? true : false;
58
- /**
59
- * Checks if a Prisma relation field is an array/many relation
60
- * Detects relations that support multiple records (one-to-many or many-to-many)
61
- * @template T - The relation field type
62
- * @returns true if it's an array relation, false otherwise
63
- */
64
- export type IsArrayRelation<T> = Exclude<T, undefined> extends {
65
- createMany?: any;
66
- } ? true : Exclude<T, undefined> extends {
67
- deleteMany?: any;
68
- } ? true : false;
69
- /**
70
- * Extracts the create data type from a Prisma relation field
71
- * @template T - The relation field type
72
- * @returns The type used in the create operation, or never if not present
73
- */
74
- export type ExtractCreateType<T> = Exclude<T, undefined> extends {
75
- create?: infer C;
76
- } ? C extends Array<infer U> ? (U & {
77
- apiAction?: "create";
78
- })[] : C & {
79
- apiAction?: "create";
80
- } : never;
81
- type ExtractConnectType<T, action extends "connect" | "delete" | "udpate" | "disconnect" | "deleteMany"> = Exclude<T, undefined> extends {
82
- [k in action]?: infer C;
83
- } ? C extends Array<infer U> ? (U & {
84
- apiAction?: action;
85
- })[] : C & {
86
- apiAction?: action;
87
- } : never;
88
- /**
89
- * Extracts and merges the update data type from a Prisma relation field
90
- * Combines the 'where' clause and 'data' fields into a single type
91
- * @template T - The relation field type
92
- * @returns Merged type of where & data fields, or never if not present
93
- */
94
- type ExtractUpdateType<T> = T extends {
95
- update?: infer U;
96
- } ? U extends Array<infer Item> ? Item extends {
97
- where: infer W;
98
- data: infer D;
99
- } ? ((W & D) & {
100
- apiAction?: "update";
101
- })[] : never : U extends {
102
- where: infer W;
103
- data: infer D;
104
- } ? (W & D) & {
105
- apiAction?: "update";
106
- } : never : never;
107
- /**
108
- * Creates a flattened union type for a single relation field
109
- * Combines all possible Prisma operations (create, connect, update, delete, etc.) into a discriminated union
110
- * Each variant includes an optional apiAction field for explicit operation specification
111
- * @template T - The Prisma relation field type
112
- */
113
- type FlattenRelationField<T> =
114
- /**
115
- * Create Operation - Creates a new related entity
116
- * Extracts the 'create' data type and recursively flattens nested relations
117
- * @example { name: "New Item", apiAction?: "create" }
118
- */
119
- (ExtractCreateType<T> extends never ? never : FlattenRelations<ExtractCreateType<T>>)
120
- /**
121
- * Connect Operation - Links to an existing entity using unique fields
122
- * Extracts the 'connect' data type (typically unique identifiers like id, email, etc.)
123
- * @example { id: 123, apiAction?: "connect" } or { email: "user@example.com", apiAction?: "connect" }
124
- */
125
- | (ExtractConnectType<T, "connect"> extends never ? never : FlattenRelations<ExtractConnectType<T, "connect">>)
126
- /**
127
- * Update Operation - Modifies an existing related entity
128
- * Combines the 'where' clause and 'data' fields into a single flat object
129
- * @example { id: 123, name: "Updated Name", apiAction?: "update" }
130
- */
131
- | (ExtractUpdateType<T> extends never ? never : FlattenRelations<ExtractUpdateType<T>> & {
132
- apiAction?: "update";
133
- })
134
- /**
135
- * Delete Operation - Removes a related entity from the database
136
- * Requires unique identifier(s) and explicit apiAction: "delete"
137
- * For arrays, automatically uses deleteMany; for singular relations uses delete
138
- * @example { id: 123, apiAction: "delete" }
139
- */
140
- | (T extends {
141
- delete?: any;
142
- } ? {
143
- apiAction: "delete";
144
- } & ExtractConnectType<T, "delete"> : never)
145
- /**
146
- * Disconnect Operation - Breaks the relationship without deleting the entity
147
- * Requires unique identifier(s) and explicit apiAction: "disconnect"
148
- * Only available for optional relations
149
- * @example { id: 123, apiAction: "disconnect" }
150
- */
151
- | (T extends {
152
- disconnect?: any;
153
- } ? {
154
- apiAction: "disconnect";
155
- } & ExtractConnectType<T, "disconnect"> : never)
156
- /**
157
- * Set Operation - Replaces all related entities with a new set
158
- * Typically used for many-to-many relations to completely replace the relation set
159
- * @example { id: 456, apiAction?: "set" }
160
- */
161
- | (T extends {
162
- set?: infer S;
163
- } ? Unpack<S> & {
164
- apiAction?: "set";
165
- } : never)
166
- /**
167
- * Delete Many Operation - Removes multiple related entities matching criteria
168
- * Requires unique identifier(s) and explicit apiAction: "deleteMany"
169
- * Used for bulk deletion of related records
170
- * @example { id: 123, apiAction: "deleteMany" }
171
- */
172
- | (T extends {
173
- deleteMany?: any;
174
- } ? {
175
- apiAction: "deleteMany";
176
- } & ExtractConnectType<T, "deleteMany"> : never);
177
- /**
178
- * Ensures array relations only accept arrays, not single objects
179
- * For array relations (one-to-many, many-to-many), forces array type
180
- * For singular relations (one-to-one, many-to-one), keeps XOR behavior
181
- * @template T - The original Prisma field type
182
- * @template Flattened - The flattened relation field type
183
- */
184
- type EnforceArrayRelation<T, Flattened> = IsArrayRelation<T> extends true ? Flattened extends Array<any> ? Flattened : never : Exclude<XOR<Flattened, T>, "AND">;
185
- type FlattenRelations<T> = {
186
- [K in keyof T]: IsRelationField<T[K]> extends true ? EnforceArrayRelation<T[K], FlattenRelationField<T[K]>> : T[K] extends object ? T[K] extends Date | null | undefined ? T[K] : FlattenRelations<T[K]> : T[K];
187
- };
188
- /**
189
- * Flattens Prisma relation inputs into a simpler, developer-friendly format
190
- *
191
- * Transforms Prisma's nested relation format:
192
- * ```typescript
193
- * { posts: { create: [...], connect: [...], update: [...] } }
194
- * ```
195
- *
196
- * Into a flattened format with optional apiAction discriminators:
197
- * ```typescript
198
- * { posts: [
199
- * { title: "New Post" }, // auto-detected as create
200
- * { id: 1 }, // auto-detected as connect
201
- * { id: 2, title: "Updated", apiAction: "update" }
202
- * ]}
203
- * ```
204
- *
205
- * Features:
206
- * - Preserves non-relation fields as-is
207
- * - Automatically detects operation type based on field presence
208
- * - Supports explicit apiAction for disambiguation
209
- * - Works recursively for deeply nested relations
210
- * - Enforces array-only types for array relations (one-to-many, many-to-many)
211
- * - Enforces mutual exclusivity between flattened and Prisma formats for singular relations
212
- *
213
- * @see {@link https://wwww.arkosjs.com/docs/api-reference/arkos-prisma-input}
214
- * @template T - The Prisma input type (e.g., Prisma.UserCreateInput)
215
- * @returns A flattened version of the input type with simplified relation handling
216
- *
217
- * @example
218
- * ```typescript
219
- * import { Prisma } from "@prisma/client";
220
- *
221
- * type FlatUserInput = ArkosPrismaInput<Prisma.UserCreateInput>;
222
- *
223
- * const user: FlatUserInput = {
224
- * name: "John",
225
- * email: "john@example.com",
226
- * posts: [
227
- * { title: "My First Post" }, // creates new post
228
- * { id: 1 }, // connects to existing post
229
- * { id: 2, title: "Updated" }, // updates existing post
230
- * { id: 3, apiAction: "delete" } // deletes post
231
- * ],
232
- * profile: { bio: "Software developer" } // singular relation (can be object or array)
233
- * };
234
- * ```
235
- */
236
- export type ArkosPrismaInput<T> = FlattenRelations<T>;
237
- export {};
@@ -1,36 +0,0 @@
1
- declare class StaticTypesGenerator {
2
- private readonly outputDir;
3
- private readonly packageName;
4
- constructor();
5
- /**
6
- * Generates all static types including Prisma types and package metadata
7
- * @returns Promise<void>
8
- */
9
- generate(): Promise<void>;
10
- /**
11
- * Executes Prisma client generation
12
- */
13
- private generatePrismaClient;
14
- /**
15
- * Ensures the output directory exists
16
- */
17
- private ensureOutputDirectory;
18
- /**
19
- * Generates the TypeScript declaration file content
20
- */
21
- private generateDeclarationContent;
22
- /**
23
- * Writes the TypeScript declaration file
24
- */
25
- private generateTypeDeclarations;
26
- /**
27
- * Generates the package.json content
28
- */
29
- private generatePackageJsonContent;
30
- /**
31
- * Writes the package.json file
32
- */
33
- private generatePackageJson;
34
- }
35
- declare const staticTypesGenerator: StaticTypesGenerator;
36
- export default staticTypesGenerator;