@kubb/plugin-zod 5.0.0-alpha.8 → 5.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +17 -10
  2. package/README.md +1 -3
  3. package/dist/index.cjs +1061 -105
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +369 -4
  6. package/dist/index.js +1053 -104
  7. package/dist/index.js.map +1 -1
  8. package/package.json +44 -70
  9. package/src/components/Operations.tsx +25 -18
  10. package/src/components/Zod.tsx +21 -121
  11. package/src/constants.ts +5 -0
  12. package/src/generators/zodGenerator.tsx +174 -160
  13. package/src/index.ts +11 -2
  14. package/src/plugin.ts +67 -156
  15. package/src/printers/printerZod.ts +339 -0
  16. package/src/printers/printerZodMini.ts +295 -0
  17. package/src/resolvers/resolverZod.ts +57 -0
  18. package/src/types.ts +130 -115
  19. package/src/utils.ts +222 -0
  20. package/dist/components-B7zUFnAm.cjs +0 -890
  21. package/dist/components-B7zUFnAm.cjs.map +0 -1
  22. package/dist/components-eECfXVou.js +0 -842
  23. package/dist/components-eECfXVou.js.map +0 -1
  24. package/dist/components.cjs +0 -4
  25. package/dist/components.d.ts +0 -56
  26. package/dist/components.js +0 -2
  27. package/dist/generators-BjPDdJUz.cjs +0 -301
  28. package/dist/generators-BjPDdJUz.cjs.map +0 -1
  29. package/dist/generators-lTWPS6oN.js +0 -290
  30. package/dist/generators-lTWPS6oN.js.map +0 -1
  31. package/dist/generators.cjs +0 -4
  32. package/dist/generators.d.ts +0 -479
  33. package/dist/generators.js +0 -2
  34. package/dist/templates/ToZod.source.cjs +0 -7
  35. package/dist/templates/ToZod.source.cjs.map +0 -1
  36. package/dist/templates/ToZod.source.d.ts +0 -7
  37. package/dist/templates/ToZod.source.js +0 -6
  38. package/dist/templates/ToZod.source.js.map +0 -1
  39. package/dist/types-CoCoOc2u.d.ts +0 -172
  40. package/src/components/index.ts +0 -2
  41. package/src/generators/index.ts +0 -2
  42. package/src/generators/operationsGenerator.tsx +0 -50
  43. package/src/parser.ts +0 -909
  44. package/src/templates/ToZod.source.ts +0 -4
  45. package/templates/ToZod.ts +0 -61
@@ -1,4 +0,0 @@
1
- // @ts-expect-error - import attributes are handled at build time by importAttributeTextPlugin
2
- import content from '../../templates/ToZod.ts' with { type: 'text' }
3
-
4
- export const source = content as string
@@ -1,61 +0,0 @@
1
- /**
2
- * See https://github.com/colinhacks/tozod/blob/master/src/index.ts
3
- * Adapted based on https://github.com/colinhacks/zod/issues/372
4
- */
5
-
6
- import type * as z from 'zod'
7
-
8
- type IsAny<T> = [any extends T ? 'true' : 'false'] extends ['true'] ? true : false
9
- type NonOptional<T> = T extends undefined ? never : T
10
- type NonNullable<T> = T extends null ? never : T
11
- type Equals<X, Y> = [X] extends [Y] ? ([Y] extends [X] ? true : false) : false
12
-
13
- type ZodKey<T> =
14
- IsAny<T> extends true
15
- ? 'any'
16
- : Equals<T, boolean> extends true //[T] extends [booleanUtil.Type]
17
- ? 'boolean'
18
- : [undefined] extends [T]
19
- ? 'optional'
20
- : [null] extends [T]
21
- ? 'nullable'
22
- : T extends any[]
23
- ? 'array'
24
- : Equals<T, string> extends true
25
- ? 'string'
26
- : Equals<T, bigint> extends true //[T] extends [bigintUtil.Type]
27
- ? 'bigint'
28
- : Equals<T, number> extends true //[T] extends [numberUtil.Type]
29
- ? 'number'
30
- : Equals<T, Date> extends true //[T] extends [dateUtil.Type]
31
- ? 'date'
32
- : T extends { [k: string]: any } //[T] extends [structUtil.Type]
33
- ? 'object'
34
- : 'rest'
35
-
36
- export type ToZod<T> = {
37
- any: z.ZodAny
38
- optional: z.ZodOptional<ToZod<NonOptional<T>>>
39
- nullable: z.ZodNullable<ToZod<NonNullable<T>>>
40
- array: T extends Array<infer U> ? z.ZodArray<ToZod<U>> : never
41
- string: z.ZodString
42
- bigint: z.ZodBigInt
43
- number: z.ZodNumber
44
- boolean: z.ZodBoolean
45
- date: z.ZodDate
46
- object: z.ZodObject<
47
- // @ts-expect-error cannot convert without Extract but Extract removes the type
48
- {
49
- [K in keyof T]: T[K]
50
- },
51
- 'passthrough',
52
- unknown,
53
- T
54
- >
55
- rest: z.ZodType<T>
56
- }[ZodKey<T>]
57
-
58
- export type ZodShape<T> = {
59
- // Require all the keys from T
60
- [key in keyof T]-?: ToZod<T[key]>
61
- }