fuma 0.0.1

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 (242) hide show
  1. package/README.md +58 -0
  2. package/dist/Meta.svelte +55 -0
  3. package/dist/Meta.svelte.d.ts +20 -0
  4. package/dist/action/index.d.ts +4 -0
  5. package/dist/action/index.js +4 -0
  6. package/dist/action/list/handlers.d.ts +16 -0
  7. package/dist/action/list/handlers.js +92 -0
  8. package/dist/action/list/index.css +40 -0
  9. package/dist/action/list/index.d.ts +23 -0
  10. package/dist/action/list/index.js +44 -0
  11. package/dist/action/list/store.d.ts +3 -0
  12. package/dist/action/list/store.js +1 -0
  13. package/dist/action/list/style.d.ts +2 -0
  14. package/dist/action/list/style.js +14 -0
  15. package/dist/action/list/trigger.d.ts +12 -0
  16. package/dist/action/list/trigger.js +124 -0
  17. package/dist/action/list/utils.d.ts +18 -0
  18. package/dist/action/list/utils.js +68 -0
  19. package/dist/action/portal.d.ts +3 -0
  20. package/dist/action/portal.js +9 -0
  21. package/dist/action/selector.d.ts +15 -0
  22. package/dist/action/selector.js +71 -0
  23. package/dist/action/tip.d.ts +6 -0
  24. package/dist/action/tip.js +12 -0
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.js +3 -0
  27. package/dist/server/index.d.ts +5 -0
  28. package/dist/server/index.js +5 -0
  29. package/dist/server/json.d.ts +1 -0
  30. package/dist/server/json.js +16 -0
  31. package/dist/server/parseFormData.d.ts +20 -0
  32. package/dist/server/parseFormData.js +63 -0
  33. package/dist/server/parseQuery.d.ts +11 -0
  34. package/dist/server/parseQuery.js +15 -0
  35. package/dist/server/sse.d.ts +6 -0
  36. package/dist/server/sse.js +35 -0
  37. package/dist/server/try.d.ts +6 -0
  38. package/dist/server/try.js +31 -0
  39. package/dist/store/index.d.ts +2 -0
  40. package/dist/store/index.js +2 -0
  41. package/dist/store/isSmallScreen.d.ts +2 -0
  42. package/dist/store/isSmallScreen.js +14 -0
  43. package/dist/store/param.d.ts +24 -0
  44. package/dist/store/param.js +61 -0
  45. package/dist/store/session.d.ts +2 -0
  46. package/dist/store/session.js +13 -0
  47. package/dist/ui/ButtonCopy.svelte +18 -0
  48. package/dist/ui/ButtonCopy.svelte.d.ts +18 -0
  49. package/dist/ui/ButtonDelete.svelte +43 -0
  50. package/dist/ui/ButtonDelete.svelte.d.ts +22 -0
  51. package/dist/ui/Dialog.svelte +58 -0
  52. package/dist/ui/Dialog.svelte.d.ts +25 -0
  53. package/dist/ui/DialogConfirm.svelte +22 -0
  54. package/dist/ui/DialogConfirm.svelte.d.ts +21 -0
  55. package/dist/ui/Icon.svelte +46 -0
  56. package/dist/ui/Icon.svelte.d.ts +24 -0
  57. package/dist/ui/Pagination.svelte +28 -0
  58. package/dist/ui/Pagination.svelte.d.ts +16 -0
  59. package/dist/ui/Placeholder.svelte +11 -0
  60. package/dist/ui/Placeholder.svelte.d.ts +19 -0
  61. package/dist/ui/PlaceholderImage.svelte +14 -0
  62. package/dist/ui/PlaceholderImage.svelte.d.ts +19 -0
  63. package/dist/ui/card/Card.svelte +38 -0
  64. package/dist/ui/card/Card.svelte.d.ts +26 -0
  65. package/dist/ui/card/CardBasic.svelte +14 -0
  66. package/dist/ui/card/CardBasic.svelte.d.ts +20 -0
  67. package/dist/ui/card/CardCollapse.svelte +61 -0
  68. package/dist/ui/card/CardCollapse.svelte.d.ts +22 -0
  69. package/dist/ui/card/CardFullScreen.svelte +28 -0
  70. package/dist/ui/card/CardFullScreen.svelte.d.ts +23 -0
  71. package/dist/ui/card/CardLink.svelte +21 -0
  72. package/dist/ui/card/CardLink.svelte.d.ts +20 -0
  73. package/dist/ui/card/index.d.ts +5 -0
  74. package/dist/ui/card/index.js +5 -0
  75. package/dist/ui/index.d.ts +14 -0
  76. package/dist/ui/index.js +14 -0
  77. package/dist/ui/input/FormControl.svelte +53 -0
  78. package/dist/ui/input/FormControl.svelte.d.ts +30 -0
  79. package/dist/ui/input/InputBoolean.svelte +29 -0
  80. package/dist/ui/input/InputBoolean.svelte.d.ts +21 -0
  81. package/dist/ui/input/InputCheckboxs.svelte +68 -0
  82. package/dist/ui/input/InputCheckboxs.svelte.d.ts +41 -0
  83. package/dist/ui/input/InputCheckboxsMenu.svelte +93 -0
  84. package/dist/ui/input/InputCheckboxsMenu.svelte.d.ts +43 -0
  85. package/dist/ui/input/InputCheckboxsTree.svelte +15 -0
  86. package/dist/ui/input/InputCheckboxsTree.svelte.d.ts +21 -0
  87. package/dist/ui/input/InputCheckboxsTreeNodes.svelte +60 -0
  88. package/dist/ui/input/InputCheckboxsTreeNodes.svelte.d.ts +23 -0
  89. package/dist/ui/input/InputDate.svelte +26 -0
  90. package/dist/ui/input/InputDate.svelte.d.ts +19 -0
  91. package/dist/ui/input/InputDatetime.svelte +21 -0
  92. package/dist/ui/input/InputDatetime.svelte.d.ts +19 -0
  93. package/dist/ui/input/InputImage.svelte +107 -0
  94. package/dist/ui/input/InputImage.svelte.d.ts +35 -0
  95. package/dist/ui/input/InputImagePreview.svelte +56 -0
  96. package/dist/ui/input/InputImagePreview.svelte.d.ts +23 -0
  97. package/dist/ui/input/InputNumber.svelte +22 -0
  98. package/dist/ui/input/InputNumber.svelte.d.ts +23 -0
  99. package/dist/ui/input/InputOptionInParam.svelte +34 -0
  100. package/dist/ui/input/InputOptionInParam.svelte.d.ts +20 -0
  101. package/dist/ui/input/InputOptions.svelte +79 -0
  102. package/dist/ui/input/InputOptions.svelte.d.ts +17 -0
  103. package/dist/ui/input/InputPassword.svelte +21 -0
  104. package/dist/ui/input/InputPassword.svelte.d.ts +36 -0
  105. package/dist/ui/input/InputRadio.svelte +79 -0
  106. package/dist/ui/input/InputRadio.svelte.d.ts +40 -0
  107. package/dist/ui/input/InputRelation.svelte +114 -0
  108. package/dist/ui/input/InputRelation.svelte.d.ts +52 -0
  109. package/dist/ui/input/InputRelations.svelte +138 -0
  110. package/dist/ui/input/InputRelations.svelte.d.ts +49 -0
  111. package/dist/ui/input/InputSearch.svelte +43 -0
  112. package/dist/ui/input/InputSearch.svelte.d.ts +23 -0
  113. package/dist/ui/input/InputSelect.svelte +59 -0
  114. package/dist/ui/input/InputSelect.svelte.d.ts +26 -0
  115. package/dist/ui/input/InputText.svelte +32 -0
  116. package/dist/ui/input/InputText.svelte.d.ts +31 -0
  117. package/dist/ui/input/InputTextarea.svelte +20 -0
  118. package/dist/ui/input/InputTextarea.svelte.d.ts +23 -0
  119. package/dist/ui/input/InputTime.svelte +19 -0
  120. package/dist/ui/input/InputTime.svelte.d.ts +19 -0
  121. package/dist/ui/input/RelationAfter.svelte +42 -0
  122. package/dist/ui/input/RelationAfter.svelte.d.ts +22 -0
  123. package/dist/ui/input/SelectorList.svelte +46 -0
  124. package/dist/ui/input/SelectorList.svelte.d.ts +40 -0
  125. package/dist/ui/input/action.d.ts +13 -0
  126. package/dist/ui/input/action.js +56 -0
  127. package/dist/ui/input/index.d.ts +25 -0
  128. package/dist/ui/input/index.js +25 -0
  129. package/dist/ui/input/textRich/InputTextRich.svelte +58 -0
  130. package/dist/ui/input/textRich/InputTextRich.svelte.d.ts +20 -0
  131. package/dist/ui/input/textRich/SuggesionList.svelte +21 -0
  132. package/dist/ui/input/textRich/SuggesionList.svelte.d.ts +19 -0
  133. package/dist/ui/input/textRich/ToolMark.svelte +19 -0
  134. package/dist/ui/input/textRich/ToolMark.svelte.d.ts +21 -0
  135. package/dist/ui/input/textRich/ToolMarkColor.svelte +32 -0
  136. package/dist/ui/input/textRich/ToolMarkColor.svelte.d.ts +19 -0
  137. package/dist/ui/input/textRich/ToolMarkLink.svelte +63 -0
  138. package/dist/ui/input/textRich/ToolMarkLink.svelte.d.ts +17 -0
  139. package/dist/ui/input/textRich/ToolMenu.svelte +50 -0
  140. package/dist/ui/input/textRich/ToolMenu.svelte.d.ts +29 -0
  141. package/dist/ui/input/textRich/ToolMenuAlign.svelte +46 -0
  142. package/dist/ui/input/textRich/ToolMenuAlign.svelte.d.ts +17 -0
  143. package/dist/ui/input/textRich/ToolMenuInsert.svelte +49 -0
  144. package/dist/ui/input/textRich/ToolMenuInsert.svelte.d.ts +19 -0
  145. package/dist/ui/input/textRich/ToolMenuNode.svelte +56 -0
  146. package/dist/ui/input/textRich/ToolMenuNode.svelte.d.ts +17 -0
  147. package/dist/ui/input/textRich/ToolsBar.svelte +60 -0
  148. package/dist/ui/input/textRich/ToolsBar.svelte.d.ts +18 -0
  149. package/dist/ui/input/textRich/extensions.d.ts +2 -0
  150. package/dist/ui/input/textRich/extensions.js +62 -0
  151. package/dist/ui/input/textRich/indent.d.ts +13 -0
  152. package/dist/ui/input/textRich/indent.js +112 -0
  153. package/dist/ui/input/textRich/suggestion.d.ts +9 -0
  154. package/dist/ui/input/textRich/suggestion.js +56 -0
  155. package/dist/ui/input/types.d.ts +15 -0
  156. package/dist/ui/input/types.js +1 -0
  157. package/dist/ui/menu/ContextMenu.svelte +47 -0
  158. package/dist/ui/menu/ContextMenu.svelte.d.ts +28 -0
  159. package/dist/ui/menu/DropDown.svelte +110 -0
  160. package/dist/ui/menu/DropDown.svelte.d.ts +38 -0
  161. package/dist/ui/menu/dropdown.css +33 -0
  162. package/dist/ui/menu/index.d.ts +2 -0
  163. package/dist/ui/menu/index.js +2 -0
  164. package/dist/ui/period/PeriodPicker.svelte +53 -0
  165. package/dist/ui/period/PeriodPicker.svelte.d.ts +22 -0
  166. package/dist/ui/period/PeriodPickerButton.svelte +73 -0
  167. package/dist/ui/period/PeriodPickerButton.svelte.d.ts +14 -0
  168. package/dist/ui/period/index.d.ts +6 -0
  169. package/dist/ui/period/index.js +2 -0
  170. package/dist/ui/table/Table.svelte +42 -0
  171. package/dist/ui/table/Table.svelte.d.ts +39 -0
  172. package/dist/ui/table/TableBody.svelte +29 -0
  173. package/dist/ui/table/TableBody.svelte.d.ts +33 -0
  174. package/dist/ui/table/TableCell.svelte +27 -0
  175. package/dist/ui/table/TableCell.svelte.d.ts +28 -0
  176. package/dist/ui/table/TableFieldsEdition.svelte +122 -0
  177. package/dist/ui/table/TableFieldsEdition.svelte.d.ts +31 -0
  178. package/dist/ui/table/TableHead.svelte +31 -0
  179. package/dist/ui/table/TableHead.svelte.d.ts +29 -0
  180. package/dist/ui/table/TableViewSelect.svelte +127 -0
  181. package/dist/ui/table/TableViewSelect.svelte.d.ts +24 -0
  182. package/dist/ui/table/cell/TableCellArray.svelte +10 -0
  183. package/dist/ui/table/cell/TableCellArray.svelte.d.ts +16 -0
  184. package/dist/ui/table/cell/TableCellBoolean.svelte +12 -0
  185. package/dist/ui/table/cell/TableCellBoolean.svelte.d.ts +16 -0
  186. package/dist/ui/table/cell/TableCellNumber.svelte +6 -0
  187. package/dist/ui/table/cell/TableCellNumber.svelte.d.ts +16 -0
  188. package/dist/ui/table/cell/TableCellString.svelte +7 -0
  189. package/dist/ui/table/cell/TableCellString.svelte.d.ts +18 -0
  190. package/dist/ui/table/cell/index.d.ts +4 -0
  191. package/dist/ui/table/cell/index.js +4 -0
  192. package/dist/ui/table/context.d.ts +14 -0
  193. package/dist/ui/table/context.js +10 -0
  194. package/dist/ui/table/field.d.ts +79 -0
  195. package/dist/ui/table/field.js +29 -0
  196. package/dist/ui/table/head/TableHeadBoolean.svelte +12 -0
  197. package/dist/ui/table/head/TableHeadBoolean.svelte.d.ts +17 -0
  198. package/dist/ui/table/head/TableHeadDate.svelte +100 -0
  199. package/dist/ui/table/head/TableHeadDate.svelte.d.ts +17 -0
  200. package/dist/ui/table/head/TableHeadDefault.svelte +7 -0
  201. package/dist/ui/table/head/TableHeadDefault.svelte.d.ts +17 -0
  202. package/dist/ui/table/head/TableHeadNumber.svelte +80 -0
  203. package/dist/ui/table/head/TableHeadNumber.svelte.d.ts +17 -0
  204. package/dist/ui/table/head/TableHeadSelect.svelte +75 -0
  205. package/dist/ui/table/head/TableHeadSelect.svelte.d.ts +20 -0
  206. package/dist/ui/table/head/TableHeadString.svelte +35 -0
  207. package/dist/ui/table/head/TableHeadString.svelte.d.ts +17 -0
  208. package/dist/ui/table/head/index.d.ts +19 -0
  209. package/dist/ui/table/head/index.js +22 -0
  210. package/dist/ui/table/index.d.ts +10 -0
  211. package/dist/ui/table/index.js +10 -0
  212. package/dist/ui/table/server.d.ts +1 -0
  213. package/dist/ui/table/server.js +32 -0
  214. package/dist/ui/tabs/Tabs.svelte +28 -0
  215. package/dist/ui/tabs/Tabs.svelte.d.ts +18 -0
  216. package/dist/ui/tabs/TabsIcon.svelte +56 -0
  217. package/dist/ui/tabs/TabsIcon.svelte.d.ts +20 -0
  218. package/dist/ui/tabs/index.d.ts +8 -0
  219. package/dist/ui/tabs/index.js +2 -0
  220. package/dist/utils/avatar.d.ts +1 -0
  221. package/dist/utils/avatar.js +5 -0
  222. package/dist/utils/component.d.ts +7 -0
  223. package/dist/utils/component.js +3 -0
  224. package/dist/utils/formatRange.d.ts +8 -0
  225. package/dist/utils/formatRange.js +25 -0
  226. package/dist/utils/index.d.ts +7 -0
  227. package/dist/utils/index.js +7 -0
  228. package/dist/utils/jsonParse.d.ts +1 -0
  229. package/dist/utils/jsonParse.js +10 -0
  230. package/dist/utils/normalizePath.d.ts +1 -0
  231. package/dist/utils/normalizePath.js +11 -0
  232. package/dist/utils/options.d.ts +7 -0
  233. package/dist/utils/options.js +20 -0
  234. package/dist/utils/tippy.d.ts +5 -0
  235. package/dist/utils/tippy.js +4 -0
  236. package/dist/validation/form.d.ts +31 -0
  237. package/dist/validation/form.js +94 -0
  238. package/dist/validation/index.d.ts +2 -0
  239. package/dist/validation/index.js +2 -0
  240. package/dist/validation/zod.d.ts +338 -0
  241. package/dist/validation/zod.js +100 -0
  242. package/package.json +86 -0
@@ -0,0 +1,94 @@
1
+ import { setContext, getContext, hasContext } from 'svelte';
2
+ import { toast } from 'svelte-sonner';
3
+ import { enhance } from '$app/forms';
4
+ import { goto } from '$app/navigation';
5
+ const formContextKey = {};
6
+ export const formContext = {
7
+ get: () => {
8
+ if (hasContext(formContextKey))
9
+ return getContext(formContextKey);
10
+ return setContext(formContextKey, { setError: {} });
11
+ }
12
+ };
13
+ export function useForm({ onSubmit, onSuccess, onResetError, onError, onFail, successUpdate = true, successReset = true, successMessage = 'Succès' } = {}) {
14
+ const { setError } = formContext.get();
15
+ function resetErrors() {
16
+ for (const key in setError)
17
+ setError[key]('');
18
+ if (onResetError)
19
+ onResetError();
20
+ }
21
+ function handleFailure({ issues, message }) {
22
+ resetErrors();
23
+ if (issues) {
24
+ issues.forEach((issue) => {
25
+ const key = issue.path[0];
26
+ if (!setError[key]) {
27
+ toast.warning(`[${issue.code}] ${issue.path.join('.')} receive "${issue.received}" instead "${issue.expected}"`);
28
+ console.warn('Error not visible', issue);
29
+ return;
30
+ }
31
+ setError[key](issue.message);
32
+ });
33
+ }
34
+ if (message) {
35
+ toast.warning(message);
36
+ console.warn(message);
37
+ }
38
+ }
39
+ const submit = async (event) => {
40
+ if (onSubmit)
41
+ await onSubmit(event);
42
+ event.submitter?.classList.add('btn-disabled');
43
+ return async ({ result, update, action }) => {
44
+ event.submitter?.classList.remove('btn-disabled');
45
+ if (result.type === 'error') {
46
+ if (onError)
47
+ onError(result.error.message);
48
+ const { message } = result.error;
49
+ toast.error(message || 'Erreur');
50
+ return;
51
+ }
52
+ if (result.type === 'failure') {
53
+ if (onFail)
54
+ onFail(result.data);
55
+ if (result.data)
56
+ handleFailure(result.data);
57
+ return;
58
+ }
59
+ function tryToRun(valueOrFunction) {
60
+ if (typeof valueOrFunction === 'function')
61
+ return valueOrFunction(action);
62
+ return valueOrFunction;
63
+ }
64
+ if (result.type === 'success') {
65
+ if (successMessage !== false)
66
+ toast.success(tryToRun(successMessage));
67
+ if (onSuccess)
68
+ onSuccess(action, result.data);
69
+ if (successUpdate)
70
+ update({ reset: tryToRun(successReset) });
71
+ return;
72
+ }
73
+ if (result.type === 'redirect') {
74
+ if (successMessage !== false)
75
+ toast.success(tryToRun(successMessage));
76
+ if (onSuccess)
77
+ onSuccess(action);
78
+ return goto(result.location, { replaceState: true, invalidateAll: tryToRun(successUpdate) });
79
+ }
80
+ };
81
+ };
82
+ return {
83
+ enhance: (form) => enhance(form, submit),
84
+ submit,
85
+ resetErrors,
86
+ setError(key, value) {
87
+ if (!setError[key]) {
88
+ console.warn(`Error setter for field "${key}" not exist`);
89
+ return;
90
+ }
91
+ setError[key](value);
92
+ }
93
+ };
94
+ }
@@ -0,0 +1,2 @@
1
+ export * from './form.js';
2
+ export * from './zod.js';
@@ -0,0 +1,2 @@
1
+ export * from './form.js';
2
+ export * from './zod.js';
@@ -0,0 +1,338 @@
1
+ import zod from 'zod';
2
+ declare function json<T extends zod.ZodRawShape>(shap: T): zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodObject<T, "strip", zod.ZodTypeAny, { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k_2 in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k_2] ? never : k_2; }[keyof T]>[k_1]; }, { [k_2_1 in keyof zod.baseObjectInputType<T>]: zod.baseObjectInputType<T>[k_2_1]; }>>;
3
+ declare function array<T extends zod.ZodTypeAny>(shap: T): zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<T, "many">>;
4
+ declare function booleanAsString(): zod.ZodEffects<zod.ZodEnum<["true", "false"]>, boolean, "true" | "false">;
5
+ declare function dateOptional(): zod.ZodEffects<zod.ZodOptional<zod.ZodString>, Date | null | undefined, string | undefined>;
6
+ type RelationsOperation = 'set' | 'disconnect' | 'delete' | 'connect';
7
+ export declare const z: {
8
+ json: typeof json;
9
+ array: typeof array;
10
+ arrayRaw: <T extends zod.ZodTypeAny>(schema: T, params?: zod.RawCreateParams) => zod.ZodArray<T, "many">;
11
+ relation: {
12
+ connect: zod.ZodEffects<zod.ZodString, {
13
+ connect: {
14
+ id: string;
15
+ };
16
+ }, string>;
17
+ create<T_1 extends zod.ZodRawShape>(shap: T_1): zod.ZodEffects<zod.ZodObject<T_1, "strip", zod.ZodTypeAny, { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_1>, { [k in keyof zod.baseObjectOutputType<T_1>]: undefined extends zod.baseObjectOutputType<T_1>[k] ? never : k; }[keyof T_1]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_1>, { [k_2 in keyof zod.baseObjectOutputType<T_1>]: undefined extends zod.baseObjectOutputType<T_1>[k_2] ? never : k_2; }[keyof T_1]>[k_1]; }, { [k_2_1 in keyof zod.baseObjectInputType<T_1>]: zod.baseObjectInputType<T_1>[k_2_1]; }>, {
18
+ create: { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_1>, { [k in keyof zod.baseObjectOutputType<T_1>]: undefined extends zod.baseObjectOutputType<T_1>[k] ? never : k; }[keyof T_1]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_1>, { [k_2 in keyof zod.baseObjectOutputType<T_1>]: undefined extends zod.baseObjectOutputType<T_1>[k_2] ? never : k_2; }[keyof T_1]>[k_1]; };
19
+ }, { [k_2_1 in keyof zod.baseObjectInputType<T_1>]: zod.baseObjectInputType<T_1>[k_2_1]; }>;
20
+ connectOrCreate<T_2 extends zod.ZodRawShape>(shap: T_2): zod.ZodEffects<zod.ZodObject<T_2, "strip", zod.ZodTypeAny, { [k_1_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_2>, { [k_3 in keyof zod.baseObjectOutputType<T_2>]: undefined extends zod.baseObjectOutputType<T_2>[k_3] ? never : k_3; }[keyof T_2]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_2>, { [k_4 in keyof zod.baseObjectOutputType<T_2>]: undefined extends zod.baseObjectOutputType<T_2>[k_4] ? never : k_4; }[keyof T_2]>[k_1_1]; }, { [k_2_2 in keyof zod.baseObjectInputType<T_2>]: zod.baseObjectInputType<T_2>[k_2_2]; }>, {
21
+ connectOrCreate: { [k_1_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_2>, { [k_3 in keyof zod.baseObjectOutputType<T_2>]: undefined extends zod.baseObjectOutputType<T_2>[k_3] ? never : k_3; }[keyof T_2]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_2>, { [k_4 in keyof zod.baseObjectOutputType<T_2>]: undefined extends zod.baseObjectOutputType<T_2>[k_4] ? never : k_4; }[keyof T_2]>[k_1_1]; };
22
+ }, { [k_2_2 in keyof zod.baseObjectInputType<T_2>]: zod.baseObjectInputType<T_2>[k_2_2]; }>;
23
+ upsert<T_3 extends zod.ZodRawShape>(shap: T_3): zod.ZodEffects<zod.ZodObject<T_3, "strip", zod.ZodTypeAny, { [k_1_2 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_3>, { [k_5 in keyof zod.baseObjectOutputType<T_3>]: undefined extends zod.baseObjectOutputType<T_3>[k_5] ? never : k_5; }[keyof T_3]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_3>, { [k_6 in keyof zod.baseObjectOutputType<T_3>]: undefined extends zod.baseObjectOutputType<T_3>[k_6] ? never : k_6; }[keyof T_3]>[k_1_2]; }, { [k_2_3 in keyof zod.baseObjectInputType<T_3>]: zod.baseObjectInputType<T_3>[k_2_3]; }>, {
24
+ upsert: { [k_1_2 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_3>, { [k_5 in keyof zod.baseObjectOutputType<T_3>]: undefined extends zod.baseObjectOutputType<T_3>[k_5] ? never : k_5; }[keyof T_3]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_3>, { [k_6 in keyof zod.baseObjectOutputType<T_3>]: undefined extends zod.baseObjectOutputType<T_3>[k_6] ? never : k_6; }[keyof T_3]>[k_1_2]; };
25
+ }, { [k_2_3 in keyof zod.baseObjectInputType<T_3>]: zod.baseObjectInputType<T_3>[k_2_3]; }>;
26
+ update<T_4 extends zod.ZodRawShape>(shap: T_4): zod.ZodEffects<zod.ZodObject<T_4, "strip", zod.ZodTypeAny, { [k_1_3 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_4>, { [k_7 in keyof zod.baseObjectOutputType<T_4>]: undefined extends zod.baseObjectOutputType<T_4>[k_7] ? never : k_7; }[keyof T_4]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_4>, { [k_8 in keyof zod.baseObjectOutputType<T_4>]: undefined extends zod.baseObjectOutputType<T_4>[k_8] ? never : k_8; }[keyof T_4]>[k_1_3]; }, { [k_2_4 in keyof zod.baseObjectInputType<T_4>]: zod.baseObjectInputType<T_4>[k_2_4]; }>, {
27
+ update: { [k_1_3 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_4>, { [k_7 in keyof zod.baseObjectOutputType<T_4>]: undefined extends zod.baseObjectOutputType<T_4>[k_7] ? never : k_7; }[keyof T_4]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_4>, { [k_8 in keyof zod.baseObjectOutputType<T_4>]: undefined extends zod.baseObjectOutputType<T_4>[k_8] ? never : k_8; }[keyof T_4]>[k_1_3]; };
28
+ }, { [k_2_4 in keyof zod.baseObjectInputType<T_4>]: zod.baseObjectInputType<T_4>[k_2_4]; }>;
29
+ };
30
+ relations: {
31
+ set: zod.ZodEffects<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<zod.ZodString, "many">>, Partial<Record<RelationsOperation, {
32
+ id: string;
33
+ }[]>>, string>;
34
+ disconnect: zod.ZodEffects<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<zod.ZodString, "many">>, Partial<Record<RelationsOperation, {
35
+ id: string;
36
+ }[]>>, string>;
37
+ delete: zod.ZodEffects<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<zod.ZodString, "many">>, Partial<Record<RelationsOperation, {
38
+ id: string;
39
+ }[]>>, string>;
40
+ connect: zod.ZodEffects<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<zod.ZodString, "many">>, Partial<Record<RelationsOperation, {
41
+ id: string;
42
+ }[]>>, string>;
43
+ create<T_5 extends zod.ZodRawShape>(shap: T_5): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_5, "strip", zod.ZodTypeAny, { [k_1_4 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_9 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_9] ? never : k_9; }[keyof T_5]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_10 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_10] ? never : k_10; }[keyof T_5]>[k_1_4]; }, { [k_2_5 in keyof zod.baseObjectInputType<T_5>]: zod.baseObjectInputType<T_5>[k_2_5]; }>, "many">, zod.ZodObject<T_5, "strip", zod.ZodTypeAny, { [k_1_4 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_9 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_9] ? never : k_9; }[keyof T_5]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_10 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_10] ? never : k_10; }[keyof T_5]>[k_1_4]; }, { [k_2_5 in keyof zod.baseObjectInputType<T_5>]: zod.baseObjectInputType<T_5>[k_2_5]; }>]>, {
44
+ create: { [k_1_4 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_9 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_9] ? never : k_9; }[keyof T_5]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_10 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_10] ? never : k_10; }[keyof T_5]>[k_1_4]; } | { [k_1_4 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_9 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_9] ? never : k_9; }[keyof T_5]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_5>, { [k_10 in keyof zod.baseObjectOutputType<T_5>]: undefined extends zod.baseObjectOutputType<T_5>[k_10] ? never : k_10; }[keyof T_5]>[k_1_4]; }[];
45
+ }, { [k_2_5 in keyof zod.baseObjectInputType<T_5>]: zod.baseObjectInputType<T_5>[k_2_5]; } | { [k_2_5 in keyof zod.baseObjectInputType<T_5>]: zod.baseObjectInputType<T_5>[k_2_5]; }[]>;
46
+ connectOrCreate<T_6 extends zod.ZodRawShape>(shap: T_6): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_6, "strip", zod.ZodTypeAny, { [k_1_5 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_11 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_11] ? never : k_11; }[keyof T_6]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_12 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_12] ? never : k_12; }[keyof T_6]>[k_1_5]; }, { [k_2_6 in keyof zod.baseObjectInputType<T_6>]: zod.baseObjectInputType<T_6>[k_2_6]; }>, "many">, zod.ZodObject<T_6, "strip", zod.ZodTypeAny, { [k_1_5 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_11 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_11] ? never : k_11; }[keyof T_6]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_12 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_12] ? never : k_12; }[keyof T_6]>[k_1_5]; }, { [k_2_6 in keyof zod.baseObjectInputType<T_6>]: zod.baseObjectInputType<T_6>[k_2_6]; }>]>, {
47
+ connectOrCreate: { [k_1_5 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_11 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_11] ? never : k_11; }[keyof T_6]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_12 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_12] ? never : k_12; }[keyof T_6]>[k_1_5]; } | { [k_1_5 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_11 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_11] ? never : k_11; }[keyof T_6]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_6>, { [k_12 in keyof zod.baseObjectOutputType<T_6>]: undefined extends zod.baseObjectOutputType<T_6>[k_12] ? never : k_12; }[keyof T_6]>[k_1_5]; }[];
48
+ }, { [k_2_6 in keyof zod.baseObjectInputType<T_6>]: zod.baseObjectInputType<T_6>[k_2_6]; } | { [k_2_6 in keyof zod.baseObjectInputType<T_6>]: zod.baseObjectInputType<T_6>[k_2_6]; }[]>;
49
+ upsert<T_7 extends zod.ZodRawShape>(shap: T_7): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_7, "strip", zod.ZodTypeAny, { [k_1_6 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_13 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_13] ? never : k_13; }[keyof T_7]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_14 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_14] ? never : k_14; }[keyof T_7]>[k_1_6]; }, { [k_2_7 in keyof zod.baseObjectInputType<T_7>]: zod.baseObjectInputType<T_7>[k_2_7]; }>, "many">, zod.ZodObject<T_7, "strip", zod.ZodTypeAny, { [k_1_6 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_13 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_13] ? never : k_13; }[keyof T_7]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_14 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_14] ? never : k_14; }[keyof T_7]>[k_1_6]; }, { [k_2_7 in keyof zod.baseObjectInputType<T_7>]: zod.baseObjectInputType<T_7>[k_2_7]; }>]>, {
50
+ upsert: { [k_1_6 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_13 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_13] ? never : k_13; }[keyof T_7]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_14 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_14] ? never : k_14; }[keyof T_7]>[k_1_6]; } | { [k_1_6 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_13 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_13] ? never : k_13; }[keyof T_7]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_7>, { [k_14 in keyof zod.baseObjectOutputType<T_7>]: undefined extends zod.baseObjectOutputType<T_7>[k_14] ? never : k_14; }[keyof T_7]>[k_1_6]; }[];
51
+ }, { [k_2_7 in keyof zod.baseObjectInputType<T_7>]: zod.baseObjectInputType<T_7>[k_2_7]; } | { [k_2_7 in keyof zod.baseObjectInputType<T_7>]: zod.baseObjectInputType<T_7>[k_2_7]; }[]>;
52
+ createMany<T_8 extends zod.ZodRawShape>(shap: T_8): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_8, "strip", zod.ZodTypeAny, { [k_1_7 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_15 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_15] ? never : k_15; }[keyof T_8]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_16 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_16] ? never : k_16; }[keyof T_8]>[k_1_7]; }, { [k_2_8 in keyof zod.baseObjectInputType<T_8>]: zod.baseObjectInputType<T_8>[k_2_8]; }>, "many">, zod.ZodObject<T_8, "strip", zod.ZodTypeAny, { [k_1_7 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_15 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_15] ? never : k_15; }[keyof T_8]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_16 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_16] ? never : k_16; }[keyof T_8]>[k_1_7]; }, { [k_2_8 in keyof zod.baseObjectInputType<T_8>]: zod.baseObjectInputType<T_8>[k_2_8]; }>]>, {
53
+ createMany: { [k_1_7 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_15 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_15] ? never : k_15; }[keyof T_8]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_16 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_16] ? never : k_16; }[keyof T_8]>[k_1_7]; } | { [k_1_7 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_15 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_15] ? never : k_15; }[keyof T_8]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_8>, { [k_16 in keyof zod.baseObjectOutputType<T_8>]: undefined extends zod.baseObjectOutputType<T_8>[k_16] ? never : k_16; }[keyof T_8]>[k_1_7]; }[];
54
+ }, { [k_2_8 in keyof zod.baseObjectInputType<T_8>]: zod.baseObjectInputType<T_8>[k_2_8]; } | { [k_2_8 in keyof zod.baseObjectInputType<T_8>]: zod.baseObjectInputType<T_8>[k_2_8]; }[]>;
55
+ update<T_9 extends zod.ZodRawShape>(shap: T_9): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_9, "strip", zod.ZodTypeAny, { [k_1_8 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_17 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_17] ? never : k_17; }[keyof T_9]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_18 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_18] ? never : k_18; }[keyof T_9]>[k_1_8]; }, { [k_2_9 in keyof zod.baseObjectInputType<T_9>]: zod.baseObjectInputType<T_9>[k_2_9]; }>, "many">, zod.ZodObject<T_9, "strip", zod.ZodTypeAny, { [k_1_8 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_17 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_17] ? never : k_17; }[keyof T_9]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_18 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_18] ? never : k_18; }[keyof T_9]>[k_1_8]; }, { [k_2_9 in keyof zod.baseObjectInputType<T_9>]: zod.baseObjectInputType<T_9>[k_2_9]; }>]>, {
56
+ update: { [k_1_8 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_17 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_17] ? never : k_17; }[keyof T_9]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_18 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_18] ? never : k_18; }[keyof T_9]>[k_1_8]; } | { [k_1_8 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_17 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_17] ? never : k_17; }[keyof T_9]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_9>, { [k_18 in keyof zod.baseObjectOutputType<T_9>]: undefined extends zod.baseObjectOutputType<T_9>[k_18] ? never : k_18; }[keyof T_9]>[k_1_8]; }[];
57
+ }, { [k_2_9 in keyof zod.baseObjectInputType<T_9>]: zod.baseObjectInputType<T_9>[k_2_9]; } | { [k_2_9 in keyof zod.baseObjectInputType<T_9>]: zod.baseObjectInputType<T_9>[k_2_9]; }[]>;
58
+ updateMany<T_10 extends zod.ZodRawShape>(shap: T_10): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_10, "strip", zod.ZodTypeAny, { [k_1_9 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_19 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_19] ? never : k_19; }[keyof T_10]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_20 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_20] ? never : k_20; }[keyof T_10]>[k_1_9]; }, { [k_2_10 in keyof zod.baseObjectInputType<T_10>]: zod.baseObjectInputType<T_10>[k_2_10]; }>, "many">, zod.ZodObject<T_10, "strip", zod.ZodTypeAny, { [k_1_9 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_19 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_19] ? never : k_19; }[keyof T_10]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_20 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_20] ? never : k_20; }[keyof T_10]>[k_1_9]; }, { [k_2_10 in keyof zod.baseObjectInputType<T_10>]: zod.baseObjectInputType<T_10>[k_2_10]; }>]>, {
59
+ updateMany: { [k_1_9 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_19 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_19] ? never : k_19; }[keyof T_10]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_20 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_20] ? never : k_20; }[keyof T_10]>[k_1_9]; } | { [k_1_9 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_19 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_19] ? never : k_19; }[keyof T_10]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_10>, { [k_20 in keyof zod.baseObjectOutputType<T_10>]: undefined extends zod.baseObjectOutputType<T_10>[k_20] ? never : k_20; }[keyof T_10]>[k_1_9]; }[];
60
+ }, { [k_2_10 in keyof zod.baseObjectInputType<T_10>]: zod.baseObjectInputType<T_10>[k_2_10]; } | { [k_2_10 in keyof zod.baseObjectInputType<T_10>]: zod.baseObjectInputType<T_10>[k_2_10]; }[]>;
61
+ deleteMany<T_11 extends zod.ZodRawShape>(shap: T_11): zod.ZodEffects<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<T_11, "strip", zod.ZodTypeAny, { [k_1_10 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_21 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_21] ? never : k_21; }[keyof T_11]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_22 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_22] ? never : k_22; }[keyof T_11]>[k_1_10]; }, { [k_2_11 in keyof zod.baseObjectInputType<T_11>]: zod.baseObjectInputType<T_11>[k_2_11]; }>, "many">, zod.ZodObject<T_11, "strip", zod.ZodTypeAny, { [k_1_10 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_21 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_21] ? never : k_21; }[keyof T_11]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_22 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_22] ? never : k_22; }[keyof T_11]>[k_1_10]; }, { [k_2_11 in keyof zod.baseObjectInputType<T_11>]: zod.baseObjectInputType<T_11>[k_2_11]; }>]>, {
62
+ deleteMany: { [k_1_10 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_21 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_21] ? never : k_21; }[keyof T_11]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_22 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_22] ? never : k_22; }[keyof T_11]>[k_1_10]; } | { [k_1_10 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_21 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_21] ? never : k_21; }[keyof T_11]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_11>, { [k_22 in keyof zod.baseObjectOutputType<T_11>]: undefined extends zod.baseObjectOutputType<T_11>[k_22] ? never : k_22; }[keyof T_11]>[k_1_10]; }[];
63
+ }, { [k_2_11 in keyof zod.baseObjectInputType<T_11>]: zod.baseObjectInputType<T_11>[k_2_11]; } | { [k_2_11 in keyof zod.baseObjectInputType<T_11>]: zod.baseObjectInputType<T_11>[k_2_11]; }[]>;
64
+ };
65
+ filter: {
66
+ number: zod.ZodOptional<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodObject<{
67
+ min: zod.ZodOptional<zod.ZodNumber>;
68
+ max: zod.ZodOptional<zod.ZodNumber>;
69
+ }, "strip", zod.ZodTypeAny, {
70
+ min?: number | undefined;
71
+ max?: number | undefined;
72
+ }, {
73
+ min?: number | undefined;
74
+ max?: number | undefined;
75
+ }>>>;
76
+ multiselect: zod.ZodOptional<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodArray<zod.ZodString, "many">>>;
77
+ range: zod.ZodOptional<zod.ZodPipeline<zod.ZodEffects<zod.ZodString, zod.RefinementCtx, string>, zod.ZodObject<{
78
+ start: zod.ZodOptional<zod.ZodDate>;
79
+ end: zod.ZodOptional<zod.ZodDate>;
80
+ }, "strip", zod.ZodTypeAny, {
81
+ start?: Date | undefined;
82
+ end?: Date | undefined;
83
+ }, {
84
+ start?: Date | undefined;
85
+ end?: Date | undefined;
86
+ }>>>;
87
+ boolean: zod.ZodOptional<zod.ZodEffects<zod.ZodEnum<["true", "false"]>, boolean, "true" | "false">>;
88
+ };
89
+ dateOptional: typeof dateOptional;
90
+ booleanAsString: typeof booleanAsString;
91
+ date: (params?: ({
92
+ errorMap?: zod.ZodErrorMap | undefined;
93
+ invalid_type_error?: string | undefined;
94
+ required_error?: string | undefined;
95
+ description?: string | undefined;
96
+ } & {
97
+ coerce?: boolean | undefined;
98
+ }) | undefined) => zod.ZodDate;
99
+ number: (params?: ({
100
+ errorMap?: zod.ZodErrorMap | undefined;
101
+ invalid_type_error?: string | undefined;
102
+ required_error?: string | undefined;
103
+ description?: string | undefined;
104
+ } & {
105
+ coerce?: boolean | undefined;
106
+ }) | undefined) => zod.ZodNumber;
107
+ bigint: (params?: ({
108
+ errorMap?: zod.ZodErrorMap | undefined;
109
+ invalid_type_error?: string | undefined;
110
+ required_error?: string | undefined;
111
+ description?: string | undefined;
112
+ } & {
113
+ coerce?: boolean | undefined;
114
+ }) | undefined) => zod.ZodBigInt;
115
+ boolean: (params?: ({
116
+ errorMap?: zod.ZodErrorMap | undefined;
117
+ invalid_type_error?: string | undefined;
118
+ required_error?: string | undefined;
119
+ description?: string | undefined;
120
+ } & {
121
+ coerce?: boolean | undefined;
122
+ }) | undefined) => zod.ZodBoolean;
123
+ z: typeof zod.z;
124
+ setErrorMap(map: zod.ZodErrorMap): void;
125
+ getErrorMap(): zod.ZodErrorMap;
126
+ defaultErrorMap: zod.ZodErrorMap;
127
+ addIssueToContext(ctx: zod.ParseContext, issueData: zod.IssueData): void;
128
+ makeIssue: (params: {
129
+ data: any;
130
+ path: (string | number)[];
131
+ errorMaps: zod.ZodErrorMap[];
132
+ issueData: zod.IssueData;
133
+ }) => zod.ZodIssue;
134
+ EMPTY_PATH: zod.ParsePath;
135
+ ParseStatus: typeof zod.ParseStatus;
136
+ INVALID: zod.INVALID;
137
+ DIRTY: <T_12>(value: T_12) => zod.DIRTY<T_12>;
138
+ OK: <T_13>(value: T_13) => zod.OK<T_13>;
139
+ isAborted: (x: zod.ParseReturnType<any>) => x is zod.INVALID;
140
+ isDirty: <T_14>(x: zod.ParseReturnType<T_14>) => x is zod.OK<T_14> | zod.DIRTY<T_14>;
141
+ isValid: <T_15>(x: zod.ParseReturnType<T_15>) => x is zod.OK<T_15> | zod.DIRTY<T_15>;
142
+ isAsync: <T_16>(x: zod.ParseReturnType<T_16>) => x is zod.AsyncParseReturnType<T_16>;
143
+ util: typeof zod.util;
144
+ objectUtil: typeof zod.objectUtil;
145
+ ZodParsedType: {
146
+ function: "function";
147
+ number: "number";
148
+ string: "string";
149
+ nan: "nan";
150
+ integer: "integer";
151
+ float: "float";
152
+ boolean: "boolean";
153
+ date: "date";
154
+ bigint: "bigint";
155
+ symbol: "symbol";
156
+ undefined: "undefined";
157
+ null: "null";
158
+ array: "array";
159
+ object: "object";
160
+ unknown: "unknown";
161
+ promise: "promise";
162
+ void: "void";
163
+ never: "never";
164
+ map: "map";
165
+ set: "set";
166
+ };
167
+ getParsedType: (data: any) => "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "map" | "set" | "nan" | "integer" | "float" | "date" | "null" | "array" | "unknown" | "promise" | "void" | "never";
168
+ ZodType: typeof zod.ZodType;
169
+ ZodString: typeof zod.ZodString;
170
+ ZodNumber: typeof zod.ZodNumber;
171
+ ZodBigInt: typeof zod.ZodBigInt;
172
+ ZodBoolean: typeof zod.ZodBoolean;
173
+ ZodDate: typeof zod.ZodDate;
174
+ ZodSymbol: typeof zod.ZodSymbol;
175
+ ZodUndefined: typeof zod.ZodUndefined;
176
+ ZodNull: typeof zod.ZodNull;
177
+ ZodAny: typeof zod.ZodAny;
178
+ ZodUnknown: typeof zod.ZodUnknown;
179
+ ZodNever: typeof zod.ZodNever;
180
+ ZodVoid: typeof zod.ZodVoid;
181
+ ZodArray: typeof zod.ZodArray;
182
+ ZodObject: typeof zod.ZodObject;
183
+ ZodUnion: typeof zod.ZodUnion;
184
+ ZodDiscriminatedUnion: typeof zod.ZodDiscriminatedUnion;
185
+ ZodIntersection: typeof zod.ZodIntersection;
186
+ ZodTuple: typeof zod.ZodTuple;
187
+ ZodRecord: typeof zod.ZodRecord;
188
+ ZodMap: typeof zod.ZodMap;
189
+ ZodSet: typeof zod.ZodSet;
190
+ ZodFunction: typeof zod.ZodFunction;
191
+ ZodLazy: typeof zod.ZodLazy;
192
+ ZodLiteral: typeof zod.ZodLiteral;
193
+ ZodEnum: typeof zod.ZodEnum;
194
+ ZodNativeEnum: typeof zod.ZodNativeEnum;
195
+ ZodPromise: typeof zod.ZodPromise;
196
+ ZodEffects: typeof zod.ZodEffects;
197
+ ZodTransformer: typeof zod.ZodEffects;
198
+ ZodOptional: typeof zod.ZodOptional;
199
+ ZodNullable: typeof zod.ZodNullable;
200
+ ZodDefault: typeof zod.ZodDefault;
201
+ ZodCatch: typeof zod.ZodCatch;
202
+ ZodNaN: typeof zod.ZodNaN;
203
+ BRAND: typeof zod.BRAND;
204
+ ZodBranded: typeof zod.ZodBranded;
205
+ ZodPipeline: typeof zod.ZodPipeline;
206
+ ZodReadonly: typeof zod.ZodReadonly;
207
+ custom: <T_17>(check?: ((data: unknown) => any) | undefined, params?: string | (Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
208
+ fatal?: boolean | undefined;
209
+ }) | ((input: any) => Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
210
+ fatal?: boolean | undefined;
211
+ }) | undefined, fatal?: boolean | undefined) => zod.ZodType<T_17, zod.ZodTypeDef, T_17>;
212
+ Schema: typeof zod.ZodType;
213
+ ZodSchema: typeof zod.ZodType;
214
+ late: {
215
+ object: <T_18 extends zod.ZodRawShape>(shape: () => T_18, params?: zod.RawCreateParams) => zod.ZodObject<T_18, "strip", zod.ZodTypeAny, { [k_1_11 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_18>, { [k_23 in keyof zod.baseObjectOutputType<T_18>]: undefined extends zod.baseObjectOutputType<T_18>[k_23] ? never : k_23; }[keyof T_18]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_18>, { [k_24 in keyof zod.baseObjectOutputType<T_18>]: undefined extends zod.baseObjectOutputType<T_18>[k_24] ? never : k_24; }[keyof T_18]>[k_1_11]; }, { [k_2_12 in keyof zod.baseObjectInputType<T_18>]: zod.baseObjectInputType<T_18>[k_2_12]; }>;
216
+ };
217
+ ZodFirstPartyTypeKind: typeof zod.ZodFirstPartyTypeKind;
218
+ coerce: {
219
+ string: (params?: ({
220
+ errorMap?: zod.ZodErrorMap | undefined;
221
+ invalid_type_error?: string | undefined;
222
+ required_error?: string | undefined;
223
+ description?: string | undefined;
224
+ } & {
225
+ coerce?: true | undefined;
226
+ }) | undefined) => zod.ZodString;
227
+ number: (params?: ({
228
+ errorMap?: zod.ZodErrorMap | undefined;
229
+ invalid_type_error?: string | undefined;
230
+ required_error?: string | undefined;
231
+ description?: string | undefined;
232
+ } & {
233
+ coerce?: boolean | undefined;
234
+ }) | undefined) => zod.ZodNumber;
235
+ boolean: (params?: ({
236
+ errorMap?: zod.ZodErrorMap | undefined;
237
+ invalid_type_error?: string | undefined;
238
+ required_error?: string | undefined;
239
+ description?: string | undefined;
240
+ } & {
241
+ coerce?: boolean | undefined;
242
+ }) | undefined) => zod.ZodBoolean;
243
+ bigint: (params?: ({
244
+ errorMap?: zod.ZodErrorMap | undefined;
245
+ invalid_type_error?: string | undefined;
246
+ required_error?: string | undefined;
247
+ description?: string | undefined;
248
+ } & {
249
+ coerce?: boolean | undefined;
250
+ }) | undefined) => zod.ZodBigInt;
251
+ date: (params?: ({
252
+ errorMap?: zod.ZodErrorMap | undefined;
253
+ invalid_type_error?: string | undefined;
254
+ required_error?: string | undefined;
255
+ description?: string | undefined;
256
+ } & {
257
+ coerce?: boolean | undefined;
258
+ }) | undefined) => zod.ZodDate;
259
+ };
260
+ any: (params?: zod.RawCreateParams) => zod.ZodAny;
261
+ discriminatedUnion: typeof zod.ZodDiscriminatedUnion.create;
262
+ effect: <I extends zod.ZodTypeAny>(schema: I, effect: zod.Effect<I["_output"]>, params?: zod.RawCreateParams) => zod.ZodEffects<I, I["_output"], zod.input<I>>;
263
+ enum: {
264
+ <U extends string, T_19 extends readonly [U, ...U[]]>(values: T_19, params?: zod.RawCreateParams): zod.ZodEnum<zod.Writeable<T_19>>;
265
+ <U_1 extends string, T_20 extends [U_1, ...U_1[]]>(values: T_20, params?: zod.RawCreateParams): zod.ZodEnum<T_20>;
266
+ };
267
+ function: typeof zod.ZodFunction.create;
268
+ instanceof: <T_21 extends abstract new (..._: any[]) => {}>(cls: T_21, params?: (Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
269
+ fatal?: boolean | undefined;
270
+ }) | undefined) => zod.ZodType<InstanceType<T_21>, zod.ZodTypeDef, InstanceType<T_21>>;
271
+ intersection: <T_22 extends zod.ZodTypeAny, U_2 extends zod.ZodTypeAny>(left: T_22, right: U_2, params?: zod.RawCreateParams) => zod.ZodIntersection<T_22, U_2>;
272
+ lazy: <T_23 extends zod.ZodTypeAny>(getter: () => T_23, params?: zod.RawCreateParams) => zod.ZodLazy<T_23>;
273
+ literal: <T_24 extends zod.Primitive>(value: T_24, params?: zod.RawCreateParams) => zod.ZodLiteral<T_24>;
274
+ map: <Key extends zod.ZodTypeAny = zod.ZodTypeAny, Value extends zod.ZodTypeAny = zod.ZodTypeAny>(keyType: Key, valueType: Value, params?: zod.RawCreateParams) => zod.ZodMap<Key, Value>;
275
+ nan: (params?: zod.RawCreateParams) => zod.ZodNaN;
276
+ nativeEnum: <T_25 extends zod.EnumLike>(values: T_25, params?: zod.RawCreateParams) => zod.ZodNativeEnum<T_25>;
277
+ never: (params?: zod.RawCreateParams) => zod.ZodNever;
278
+ null: (params?: zod.RawCreateParams) => zod.ZodNull;
279
+ nullable: <T_26 extends zod.ZodTypeAny>(type: T_26, params?: zod.RawCreateParams) => zod.ZodNullable<T_26>;
280
+ object: <T_27 extends zod.ZodRawShape>(shape: T_27, params?: zod.RawCreateParams) => zod.ZodObject<T_27, "strip", zod.ZodTypeAny, { [k_1_12 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_27>, { [k_25 in keyof zod.baseObjectOutputType<T_27>]: undefined extends zod.baseObjectOutputType<T_27>[k_25] ? never : k_25; }[keyof T_27]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_27>, { [k_26 in keyof zod.baseObjectOutputType<T_27>]: undefined extends zod.baseObjectOutputType<T_27>[k_26] ? never : k_26; }[keyof T_27]>[k_1_12]; }, { [k_2_13 in keyof zod.baseObjectInputType<T_27>]: zod.baseObjectInputType<T_27>[k_2_13]; }>;
281
+ oboolean: () => zod.ZodOptional<zod.ZodBoolean>;
282
+ onumber: () => zod.ZodOptional<zod.ZodNumber>;
283
+ optional: <T_28 extends zod.ZodTypeAny>(type: T_28, params?: zod.RawCreateParams) => zod.ZodOptional<T_28>;
284
+ ostring: () => zod.ZodOptional<zod.ZodString>;
285
+ pipeline: typeof zod.ZodPipeline.create;
286
+ preprocess: <I_1 extends zod.ZodTypeAny>(preprocess: (arg: unknown, ctx: zod.RefinementCtx) => unknown, schema: I_1, params?: zod.RawCreateParams) => zod.ZodEffects<I_1, I_1["_output"], unknown>;
287
+ promise: <T_29 extends zod.ZodTypeAny>(schema: T_29, params?: zod.RawCreateParams) => zod.ZodPromise<T_29>;
288
+ record: typeof zod.ZodRecord.create;
289
+ set: <Value_1 extends zod.ZodTypeAny = zod.ZodTypeAny>(valueType: Value_1, params?: zod.RawCreateParams) => zod.ZodSet<Value_1>;
290
+ strictObject: <T_30 extends zod.ZodRawShape>(shape: T_30, params?: zod.RawCreateParams) => zod.ZodObject<T_30, "strict", zod.ZodTypeAny, { [k_1_13 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_30>, { [k_27 in keyof zod.baseObjectOutputType<T_30>]: undefined extends zod.baseObjectOutputType<T_30>[k_27] ? never : k_27; }[keyof T_30]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T_30>, { [k_28 in keyof zod.baseObjectOutputType<T_30>]: undefined extends zod.baseObjectOutputType<T_30>[k_28] ? never : k_28; }[keyof T_30]>[k_1_13]; }, { [k_2_14 in keyof zod.baseObjectInputType<T_30>]: zod.baseObjectInputType<T_30>[k_2_14]; }>;
291
+ string: (params?: ({
292
+ errorMap?: zod.ZodErrorMap | undefined;
293
+ invalid_type_error?: string | undefined;
294
+ required_error?: string | undefined;
295
+ description?: string | undefined;
296
+ } & {
297
+ coerce?: true | undefined;
298
+ }) | undefined) => zod.ZodString;
299
+ symbol: (params?: zod.RawCreateParams) => zod.ZodSymbol;
300
+ transformer: <I extends zod.ZodTypeAny>(schema: I, effect: zod.Effect<I["_output"]>, params?: zod.RawCreateParams) => zod.ZodEffects<I, I["_output"], zod.input<I>>;
301
+ tuple: <T_31 extends [] | [zod.ZodTypeAny, ...zod.ZodTypeAny[]]>(schemas: T_31, params?: zod.RawCreateParams) => zod.ZodTuple<T_31, null>;
302
+ undefined: (params?: zod.RawCreateParams) => zod.ZodUndefined;
303
+ union: <T_32 extends readonly [zod.ZodTypeAny, zod.ZodTypeAny, ...zod.ZodTypeAny[]]>(types: T_32, params?: zod.RawCreateParams) => zod.ZodUnion<T_32>;
304
+ unknown: (params?: zod.RawCreateParams) => zod.ZodUnknown;
305
+ void: (params?: zod.RawCreateParams) => zod.ZodVoid;
306
+ NEVER: never;
307
+ ZodIssueCode: {
308
+ invalid_type: "invalid_type";
309
+ invalid_literal: "invalid_literal";
310
+ custom: "custom";
311
+ invalid_union: "invalid_union";
312
+ invalid_union_discriminator: "invalid_union_discriminator";
313
+ invalid_enum_value: "invalid_enum_value";
314
+ unrecognized_keys: "unrecognized_keys";
315
+ invalid_arguments: "invalid_arguments";
316
+ invalid_return_type: "invalid_return_type";
317
+ invalid_date: "invalid_date";
318
+ invalid_string: "invalid_string";
319
+ too_small: "too_small";
320
+ too_big: "too_big";
321
+ invalid_intersection_types: "invalid_intersection_types";
322
+ not_multiple_of: "not_multiple_of";
323
+ not_finite: "not_finite";
324
+ };
325
+ quotelessJson: (obj: any) => string;
326
+ ZodError: typeof zod.ZodError;
327
+ };
328
+ /**
329
+ * @example type MyModel = {name: z.string()} satisfies ZodObj<{name: string}>
330
+ */
331
+ export type ZodObj<T = Record<PropertyKey, unknown>> = {
332
+ [key in keyof T]: zod.ZodType<T[key], zod.ZodTypeDef, Date | boolean | number | string | undefined | object>;
333
+ };
334
+ export declare const toTuple: <T extends {}>(o: T) => UnionToTuple<keyof T>;
335
+ type UnionToIntersection<U> = (U extends unknown ? (arg: U) => 0 : never) extends (arg: infer I) => 0 ? I : never;
336
+ type LastInUnion<U> = UnionToIntersection<U extends unknown ? (x: U) => 0 : never> extends (x: infer L) => 0 ? L : never;
337
+ export type UnionToTuple<U, Last = LastInUnion<U>> = [U] extends [never] ? [] : [...UnionToTuple<Exclude<U, Last>>, Last];
338
+ export {};
@@ -0,0 +1,100 @@
1
+ import zod from 'zod';
2
+ import { jsonParse } from '../utils/index.js';
3
+ function json(shap) {
4
+ return zod.string().transform(jsonParse).pipe(zod.object(shap));
5
+ }
6
+ function array(shap) {
7
+ return zod.string().transform(jsonParse).pipe(zod.array(shap));
8
+ }
9
+ function booleanAsString() {
10
+ return zod.enum(['true', 'false']).transform((value) => value === 'true');
11
+ }
12
+ function dateOptional() {
13
+ return zod
14
+ .string()
15
+ .optional()
16
+ .transform((v) => (v ? new Date(v) : v === '' ? null : undefined));
17
+ }
18
+ const relation = {
19
+ connect: zod
20
+ .string()
21
+ .min(1, 'Required')
22
+ .transform((value) => ({ connect: { id: value } })),
23
+ create(shap) {
24
+ return zod.object(shap).transform((value) => ({ create: value }));
25
+ },
26
+ connectOrCreate(shap) {
27
+ return zod.object(shap).transform((value) => ({ connectOrCreate: value }));
28
+ },
29
+ upsert(shap) {
30
+ return zod.object(shap).transform((value) => ({ upsert: value }));
31
+ },
32
+ update(shap) {
33
+ return zod.object(shap).transform((value) => ({ update: value }));
34
+ }
35
+ };
36
+ function relationsUniqueInput(operation = 'set') {
37
+ return zod
38
+ .string()
39
+ .transform(jsonParse)
40
+ .pipe(zod.array(zod.string()))
41
+ .transform((ids) => ({ [operation]: ids.map((id) => ({ id })) }));
42
+ }
43
+ function objectOrArray(shap) {
44
+ return zod.union([zod.array(zod.object(shap)), zod.object(shap)]);
45
+ }
46
+ const relations = {
47
+ set: relationsUniqueInput('set'),
48
+ disconnect: relationsUniqueInput('set'),
49
+ delete: relationsUniqueInput('delete'),
50
+ connect: relationsUniqueInput('connect'),
51
+ create(shap) {
52
+ return objectOrArray(shap).transform((value) => ({ create: value }));
53
+ },
54
+ connectOrCreate(shap) {
55
+ return objectOrArray(shap).transform((value) => ({ connectOrCreate: value }));
56
+ },
57
+ upsert(shap) {
58
+ return objectOrArray(shap).transform((value) => ({ upsert: value }));
59
+ },
60
+ createMany(shap) {
61
+ return objectOrArray(shap).transform((value) => ({ createMany: value }));
62
+ },
63
+ update(shap) {
64
+ return objectOrArray(shap).transform((value) => ({ update: value }));
65
+ },
66
+ updateMany(shap) {
67
+ return objectOrArray(shap).transform((value) => ({ updateMany: value }));
68
+ },
69
+ deleteMany(shap) {
70
+ return objectOrArray(shap).transform((value) => ({ deleteMany: value }));
71
+ }
72
+ };
73
+ const filter = {
74
+ number: json({
75
+ min: zod.coerce.number().optional(),
76
+ max: zod.coerce.number().optional()
77
+ }).optional(),
78
+ multiselect: array(zod.string()).optional(),
79
+ range: json({
80
+ start: zod.coerce.date().optional(),
81
+ end: zod.coerce.date().optional()
82
+ }).optional(),
83
+ boolean: booleanAsString().optional()
84
+ };
85
+ export const z = {
86
+ ...zod,
87
+ json,
88
+ array,
89
+ arrayRaw: zod.array,
90
+ relation,
91
+ relations,
92
+ filter,
93
+ dateOptional,
94
+ booleanAsString,
95
+ date: zod.coerce.date,
96
+ number: zod.coerce.number,
97
+ bigint: zod.coerce.bigint,
98
+ boolean: zod.coerce.boolean
99
+ };
100
+ export const toTuple = Object.keys;