@zod-to-form/core 0.6.2 → 0.6.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 (107) hide show
  1. package/dist/config.d.ts +21 -27
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +18 -17
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/optimizers/constraint-map.d.ts +14 -0
  10. package/dist/optimizers/constraint-map.d.ts.map +1 -0
  11. package/dist/optimizers/constraint-map.js +117 -0
  12. package/dist/optimizers/constraint-map.js.map +1 -0
  13. package/dist/optimizers/index.d.ts +10 -0
  14. package/dist/optimizers/index.d.ts.map +1 -0
  15. package/dist/optimizers/index.js +31 -0
  16. package/dist/optimizers/index.js.map +1 -0
  17. package/dist/optimizers/l1-decompose.d.ts +6 -0
  18. package/dist/optimizers/l1-decompose.d.ts.map +1 -0
  19. package/dist/optimizers/l1-decompose.js +65 -0
  20. package/dist/optimizers/l1-decompose.js.map +1 -0
  21. package/dist/optimizers/l2-native-rules.d.ts +6 -0
  22. package/dist/optimizers/l2-native-rules.d.ts.map +1 -0
  23. package/dist/optimizers/l2-native-rules.js +66 -0
  24. package/dist/optimizers/l2-native-rules.js.map +1 -0
  25. package/dist/optimizers/l3-cross-field.d.ts +2 -0
  26. package/dist/optimizers/l3-cross-field.d.ts.map +1 -0
  27. package/dist/optimizers/l3-cross-field.js +43 -0
  28. package/dist/optimizers/l3-cross-field.js.map +1 -0
  29. package/dist/optimizers/schema-lite.d.ts +11 -0
  30. package/dist/optimizers/schema-lite.d.ts.map +1 -0
  31. package/dist/optimizers/schema-lite.js +71 -0
  32. package/dist/optimizers/schema-lite.js.map +1 -0
  33. package/dist/optimizers/types.d.ts +47 -0
  34. package/dist/optimizers/types.d.ts.map +1 -0
  35. package/dist/optimizers/types.js +2 -0
  36. package/dist/optimizers/types.js.map +1 -0
  37. package/dist/processors/array.d.ts +3 -3
  38. package/dist/processors/array.d.ts.map +1 -1
  39. package/dist/processors/array.js +3 -6
  40. package/dist/processors/array.js.map +1 -1
  41. package/dist/processors/boolean.d.ts +2 -2
  42. package/dist/processors/boolean.d.ts.map +1 -1
  43. package/dist/processors/boolean.js.map +1 -1
  44. package/dist/processors/collections.d.ts +13 -0
  45. package/dist/processors/collections.d.ts.map +1 -0
  46. package/dist/processors/collections.js +36 -0
  47. package/dist/processors/collections.js.map +1 -0
  48. package/dist/processors/date.d.ts +2 -2
  49. package/dist/processors/date.d.ts.map +1 -1
  50. package/dist/processors/date.js.map +1 -1
  51. package/dist/processors/enum.d.ts +3 -3
  52. package/dist/processors/enum.d.ts.map +1 -1
  53. package/dist/processors/enum.js +5 -7
  54. package/dist/processors/enum.js.map +1 -1
  55. package/dist/processors/fallback.d.ts.map +1 -1
  56. package/dist/processors/fallback.js +1 -13
  57. package/dist/processors/fallback.js.map +1 -1
  58. package/dist/processors/index.d.ts +3 -1
  59. package/dist/processors/index.d.ts.map +1 -1
  60. package/dist/processors/index.js +3 -1
  61. package/dist/processors/index.js.map +1 -1
  62. package/dist/processors/number.d.ts +2 -2
  63. package/dist/processors/number.d.ts.map +1 -1
  64. package/dist/processors/number.js +3 -4
  65. package/dist/processors/number.js.map +1 -1
  66. package/dist/processors/object.d.ts +3 -3
  67. package/dist/processors/object.d.ts.map +1 -1
  68. package/dist/processors/object.js +12 -12
  69. package/dist/processors/object.js.map +1 -1
  70. package/dist/processors/record.d.ts +4 -0
  71. package/dist/processors/record.d.ts.map +1 -0
  72. package/dist/processors/record.js +8 -0
  73. package/dist/processors/record.js.map +1 -0
  74. package/dist/processors/string.d.ts +3 -3
  75. package/dist/processors/string.d.ts.map +1 -1
  76. package/dist/processors/string.js +22 -7
  77. package/dist/processors/string.js.map +1 -1
  78. package/dist/processors/union.d.ts +3 -2
  79. package/dist/processors/union.d.ts.map +1 -1
  80. package/dist/processors/union.js +20 -19
  81. package/dist/processors/union.js.map +1 -1
  82. package/dist/processors/wrappers.d.ts +7 -7
  83. package/dist/processors/wrappers.d.ts.map +1 -1
  84. package/dist/processors/wrappers.js +9 -16
  85. package/dist/processors/wrappers.js.map +1 -1
  86. package/dist/register.d.ts.map +1 -1
  87. package/dist/register.js +5 -6
  88. package/dist/register.js.map +1 -1
  89. package/dist/registry.d.ts +0 -3
  90. package/dist/registry.d.ts.map +1 -1
  91. package/dist/registry.js +27 -6
  92. package/dist/registry.js.map +1 -1
  93. package/dist/types.d.ts +68 -13
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/utils.d.ts +0 -6
  96. package/dist/utils.d.ts.map +1 -1
  97. package/dist/utils.js +2 -6
  98. package/dist/utils.js.map +1 -1
  99. package/dist/walker.d.ts +7 -4
  100. package/dist/walker.d.ts.map +1 -1
  101. package/dist/walker.js +157 -17
  102. package/dist/walker.js.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/processors/_utils.d.ts +0 -5
  105. package/dist/processors/_utils.d.ts.map +0 -1
  106. package/dist/processors/_utils.js +0 -17
  107. package/dist/processors/_utils.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,4 +1,32 @@
1
1
  import type { $ZodArray, $ZodObject, $ZodRegistry, $ZodType } from 'zod/v4/core';
2
+ import type { FormOptimizer } from './optimizers/types.js';
3
+ export interface NativeRules {
4
+ required?: string;
5
+ min?: {
6
+ value: number;
7
+ message: string;
8
+ };
9
+ max?: {
10
+ value: number;
11
+ message: string;
12
+ };
13
+ minLength?: {
14
+ value: number;
15
+ message: string;
16
+ };
17
+ maxLength?: {
18
+ value: number;
19
+ message: string;
20
+ };
21
+ pattern?: {
22
+ value: RegExp;
23
+ message: string;
24
+ };
25
+ }
26
+ export interface ValidationStrategy {
27
+ mode: 'zodSchema' | 'native' | 'component-enforced';
28
+ rules?: NativeRules;
29
+ }
2
30
  export interface FormFieldOption {
3
31
  value: string | number;
4
32
  label: string;
@@ -36,8 +64,12 @@ export interface FormField {
36
64
  hidden: boolean;
37
65
  /** Display order override from form registry */
38
66
  order?: number;
39
- /** CSS grid-column hint from form registry */
40
- gridColumn?: string;
67
+ /** Non-interactive state (greyed out) */
68
+ disabled: boolean;
69
+ /** Help text rendered below the input, distinct from description (below label) */
70
+ helpText?: string;
71
+ /** Whether the field is marked as deprecated in the schema registry */
72
+ deprecated: boolean;
41
73
  /** Options for enum/union select fields */
42
74
  options?: FormFieldOption[];
43
75
  /** Children for nested objects */
@@ -52,7 +84,17 @@ export interface FormField {
52
84
  hasCustomRender?: boolean;
53
85
  /** Custom render function from FormMeta (runtime only, not serialisable) */
54
86
  render?: (field: FormField, props: Record<string, unknown>) => unknown;
87
+ /** Atomic Zod schema for this field, set by L1 optimizer */
88
+ zodSchema?: $ZodType;
89
+ /** Validation strategy set by optimizers (undefined = use zodResolver) */
90
+ validation?: ValidationStrategy;
55
91
  }
92
+ /**
93
+ * Known RHF field expression strings that can be used as values in `props`.
94
+ * When a prop value matches one of these strings, it is resolved from the
95
+ * RHF controller field at render time instead of being passed as a literal.
96
+ */
97
+ export type FieldExpression = 'field.value' | 'field.onChange' | 'field.onBlur' | 'field.ref' | 'field.name';
56
98
  type FieldConfigBase = {
57
99
  /** Component name override, e.g. "Textarea", "Switch", "Combobox" */
58
100
  component?: string;
@@ -60,19 +102,27 @@ type FieldConfigBase = {
60
102
  order?: number;
61
103
  /** Hide field from UI (remains in form state) */
62
104
  hidden?: boolean;
63
- /** CSS grid column hint */
64
- gridColumn?: string;
65
- /** Arbitrary field metadata props forwarded by processors */
66
- props?: Record<string, unknown>;
67
- /** Per-field prop mapping override (merges over ComponentOverride.propMap) */
68
- propMap?: Record<string, string>;
105
+ /** Render as non-interactive (greyed out). Boolean only. */
106
+ disabled?: boolean;
69
107
  /**
70
108
  * Group this field into a named section component.
71
109
  * Fields sharing the same section value are suppressed individually
72
- * and rendered once via `<SectionComponent fields={[...fieldNames]} />`.
73
- * The section component reads its fields from FormProvider context.
110
+ * and rendered once via the section component resolved from componentModule.
74
111
  */
75
112
  section?: string;
113
+ /** Help text rendered below the input, distinct from description (below label) */
114
+ helpText?: string;
115
+ /**
116
+ * Props passed to the rendered component.
117
+ *
118
+ * Values matching a known field expression string (`field.value`, `field.onChange`,
119
+ * `field.onBlur`, `field.ref`, `field.name`) are resolved from the RHF controller
120
+ * at render time. All other values pass through as literals.
121
+ *
122
+ * When both preset override props and per-field config props are present,
123
+ * they are shallow-merged with field config winning on key conflict.
124
+ */
125
+ props?: Record<string, unknown>;
76
126
  };
77
127
  type FieldConfigExtras<T extends $ZodType> = $ZodType extends T ? {
78
128
  fields?: Record<string, FieldConfig>;
@@ -87,10 +137,10 @@ type FieldConfigExtras<T extends $ZodType> = $ZodType extends T ? {
87
137
  fields?: never;
88
138
  } : Record<never, never>;
89
139
  export type FieldConfig<T extends $ZodType = $ZodType> = FieldConfigBase & FieldConfigExtras<T>;
90
- export interface FormMeta extends FieldConfig {
140
+ export type FormMeta<T extends $ZodType = $ZodType> = FieldConfig<T> & {
91
141
  /** Custom render function (runtime only, ignored in codegen) */
92
142
  render?: (field: FormField, props: unknown) => unknown;
93
- }
143
+ };
94
144
  export interface ProcessParams {
95
145
  /** Parent field path for nested fields */
96
146
  parentKey?: string;
@@ -119,7 +169,7 @@ export interface FormProcessorContext {
119
169
  */
120
170
  processChild?: (schema: $ZodType, key: string) => FormField;
121
171
  }
122
- export type FormProcessor = (schema: $ZodType, ctx: FormProcessorContext, field: FormField, params: ProcessParams) => void;
172
+ export type FormProcessor<T extends $ZodType = $ZodType> = (schema: T, ctx: FormProcessorContext, field: FormField, params: ProcessParams) => void;
123
173
  /** Zod v4 registry parameterized with FormMeta. Create via `z.registry<FormMeta>()`. */
124
174
  export type ZodFormRegistry = $ZodRegistry<FormMeta>;
125
175
  export interface WalkOptions {
@@ -129,6 +179,11 @@ export interface WalkOptions {
129
179
  processors?: Record<string, FormProcessor>;
130
180
  /** Maximum recursion depth for lazy/recursive schemas (default: 5) */
131
181
  maxDepth?: number;
182
+ /** Validation optimization settings */
183
+ optimization?: {
184
+ level: 1 | 2 | 3;
185
+ optimizers?: Record<string, FormOptimizer[]>;
186
+ };
132
187
  }
133
188
  export {};
134
189
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -6,12 +6,6 @@ import type { FormField } from './types.js';
6
6
  * @example inferLabel('email_address') → 'Email Address'
7
7
  */
8
8
  export declare function inferLabel(key: string): string;
9
- /**
10
- * Join a parent key path with a child key.
11
- *
12
- * @example joinPath(undefined, 'name') → 'name'
13
- * @example joinPath('address', 'street') → 'address.street'
14
- */
15
9
  export declare function joinPath(parent: string | undefined, key: string): string;
16
10
  /**
17
11
  * Translate a simple structural regex pattern into an input mask string.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgE1D;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAoEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA8BvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAYvE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgE1D;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAoEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA8BvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAcvE"}
package/dist/utils.js CHANGED
@@ -16,12 +16,6 @@ export function inferLabel(key) {
16
16
  .replace(/\b\w/g, (c) => c.toUpperCase())
17
17
  .trim());
18
18
  }
19
- /**
20
- * Join a parent key path with a child key.
21
- *
22
- * @example joinPath(undefined, 'name') → 'name'
23
- * @example joinPath('address', 'street') → 'address.street'
24
- */
25
19
  export function joinPath(parent, key) {
26
20
  if (!parent)
27
21
  return key;
@@ -269,6 +263,8 @@ export function createBaseField(key, zodType) {
269
263
  required: true,
270
264
  readOnly: false,
271
265
  hidden: false,
266
+ disabled: false,
267
+ deprecated: false,
272
268
  constraints: {},
273
269
  zodType
274
270
  };
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/walker.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import type { $ZodType as ZodType } from 'zod/v4/core';
2
2
  import type { FormField, WalkOptions } from './types.js';
3
+ import type { WalkResult } from './optimizers/types.js';
3
4
  /**
4
5
  * Walk a Zod schema and produce a FormField[] tree.
5
- *
6
- * @param schema - A Zod object schema (top-level must be z.object())
7
- * @param options - Optional configuration for the walk
8
- * @returns FormField[] - Ordered array of field descriptors
6
+ * When optimization option is set, returns WalkResult with fields + schemaLite.
9
7
  */
8
+ export declare function walkSchema(schema: ZodType, options: WalkOptions & {
9
+ optimization: {
10
+ level: 1 | 2 | 3;
11
+ };
12
+ }): WalkResult;
10
13
  export declare function walkSchema(schema: ZodType, options?: WalkOptions): FormField[];
11
14
  //# sourceMappingURL=walker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAMvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgFzD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAgC9E"}
1
+ {"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAavD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAwB,UAAU,EAAkB,MAAM,uBAAuB,CAAC;AAoN9F;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GAAG;IAAE,YAAY,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAAE,CAAA;CAAE,GAC5D,UAAU,CAAC;AACd,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC"}
package/dist/walker.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { resolveMetadata } from './metadata.js';
2
2
  import { processFallback } from './processors/fallback.js';
3
- import { getDef, getShape } from './processors/_utils.js';
4
3
  import { createProcessors } from './registry.js';
5
4
  import { createBaseField } from './utils.js';
6
- function processField(schema, key, options, processors, seen, maxDepth, currentDepth) {
7
- const def = getDef(schema);
8
- const zodType = typeof def['type'] === 'string' ? def['type'] : 'unknown';
5
+ import { createOptimizers } from './optimizers/index.js';
6
+ import { createSchemaLiteCollector } from './optimizers/schema-lite.js';
7
+ function processField(schema, key, options, processors, seen, maxDepth, currentDepth, optimizerCtx) {
8
+ const zodType = schema._zod.def.type;
9
9
  const field = createBaseField(key, zodType);
10
10
  if (seen.has(schema) || currentDepth >= maxDepth) {
11
11
  field.component = 'Input';
@@ -20,7 +20,7 @@ function processField(schema, key, options, processors, seen, maxDepth, currentD
20
20
  seen,
21
21
  maxDepth,
22
22
  currentDepth,
23
- processChild: (childSchema, childKey) => processField(childSchema, childKey, options, processors, seen, maxDepth, currentDepth + 1)
23
+ processChild: (childSchema, childKey) => processField(childSchema, childKey, options, processors, seen, maxDepth, currentDepth + 1, optimizerCtx)
24
24
  };
25
25
  const processor = processors[zodType];
26
26
  if (processor) {
@@ -56,39 +56,166 @@ function processField(schema, key, options, processors, seen, maxDepth, currentD
56
56
  if (metadata.order !== undefined) {
57
57
  field.order = metadata.order;
58
58
  }
59
- if (metadata.gridColumn !== undefined) {
60
- field.gridColumn = metadata.gridColumn;
59
+ if (metadata.deprecated !== undefined) {
60
+ field.deprecated = metadata.deprecated;
61
+ }
62
+ if (metadata.disabled !== undefined) {
63
+ field.disabled = metadata.disabled;
64
+ }
65
+ if (metadata.helpText !== undefined) {
66
+ field.helpText = metadata.helpText;
61
67
  }
62
68
  if (typeof metadata.render === 'function') {
63
69
  field.render = metadata.render;
64
70
  field.hasCustomRender = true;
65
71
  }
72
+ // Run optimizer chain after processor + metadata overlay
73
+ if (optimizerCtx) {
74
+ const optimizers = optimizerCtx.optimizers[zodType];
75
+ if (optimizers) {
76
+ for (const optimizer of optimizers) {
77
+ optimizer(schema, optimizerCtx, field, { parentKey: key });
78
+ }
79
+ }
80
+ }
66
81
  return field;
67
82
  }
68
83
  /**
69
- * Walk a Zod schema and produce a FormField[] tree.
84
+ * Collect top-level effects from the schema and add them to the collector.
70
85
  *
71
- * @param schema - A Zod object schema (top-level must be z.object())
72
- * @param options - Optional configuration for the walk
73
- * @returns FormField[] - Ordered array of field descriptors
86
+ * Handles both check-based effects (superRefine/refine) and pipe/transform wrappers.
87
+ * The collector uses these to build a lite schema for submit-time validation.
74
88
  */
89
+ function collectTopLevelEffects(schema, objectSchema, collector) {
90
+ const def = schema._zod.def;
91
+ // Case 1: pipe/transform wrapper (def.type === 'pipe')
92
+ if (schema !== objectSchema && def['type'] === 'pipe') {
93
+ const out = def['out'];
94
+ const outDef = out?._zod?.def;
95
+ if (outDef?.['type'] === 'transform' && typeof outDef['transform'] === 'function') {
96
+ collector.addTransform(outDef['transform']);
97
+ }
98
+ else if (out) {
99
+ collector.setOriginalSchema(schema);
100
+ return { type: 'original' };
101
+ }
102
+ const pipeChecks = def['checks'];
103
+ if (pipeChecks) {
104
+ for (const check of pipeChecks) {
105
+ collector.addCheck(check);
106
+ }
107
+ }
108
+ const hasInnerChecks = hasTopLevelEffects(objectSchema);
109
+ if (hasInnerChecks) {
110
+ extractChecksFromSchema(objectSchema, collector);
111
+ }
112
+ return {
113
+ type: 'transform',
114
+ hasInnerChecks,
115
+ hasOuterChecks: (pipeChecks?.length ?? 0) > 0,
116
+ fallthroughFields: []
117
+ };
118
+ }
119
+ // Case 2: checks on the object schema (superRefine/refine, no pipe wrapper)
120
+ if (hasTopLevelEffects(schema)) {
121
+ const checkCount = extractChecksFromSchema(schema, collector);
122
+ return { type: 'checks', checkCount, fallthroughFields: [] };
123
+ }
124
+ return null;
125
+ }
126
+ function extractChecksFromSchema(schema, collector) {
127
+ const def = schema._zod.def;
128
+ const checks = def['checks'];
129
+ if (!checks || checks.length === 0)
130
+ return 0;
131
+ // Walk up to the root parent (base object without effects) to get the
132
+ // original check count. This handles chained effects like
133
+ // .superRefine(fn1).superRefine(fn2) where each link adds one check.
134
+ let root = schema;
135
+ while (root._zod.parent) {
136
+ root = root._zod.parent;
137
+ }
138
+ const rootDef = root._zod.def;
139
+ const rootChecks = rootDef['checks'] ?? [];
140
+ const extraChecks = checks.slice(rootChecks.length);
141
+ for (const check of extraChecks) {
142
+ collector.addCheck(check);
143
+ }
144
+ return extraChecks.length;
145
+ }
146
+ /**
147
+ * Detect top-level refines/transforms/superRefines on the schema.
148
+ *
149
+ * In Zod v4, `z.object({}).superRefine(fn)` creates a new object schema
150
+ * with the same def.type="object" but with additional checks in def.checks.
151
+ * The parent chain points to the original (check-free) schema.
152
+ *
153
+ * We detect top-level effects by checking if the schema has checks that
154
+ * differ from its parent, indicating superRefine/refine was applied.
155
+ */
156
+ function hasTopLevelEffects(schema) {
157
+ const def = schema._zod.def;
158
+ const checks = def['checks'];
159
+ if (!checks || checks.length === 0)
160
+ return false;
161
+ // If there's a parent, compare check counts
162
+ const parent = schema._zod.parent;
163
+ if (parent) {
164
+ const parentDef = parent._zod.def;
165
+ const parentChecks = parentDef['checks'];
166
+ return !parentChecks || checks.length > parentChecks.length;
167
+ }
168
+ return checks.length > 0;
169
+ }
75
170
  export function walkSchema(schema, options) {
76
- const def = getDef(schema);
77
- const topLevelType = def['type'];
171
+ // Unwrap top-level effects to get the actual object schema
172
+ let objectSchema = schema;
173
+ const topLevelType = schema._zod.def.type;
174
+ // If the schema is wrapped in pipes/effects, find the underlying object
78
175
  if (topLevelType !== 'object') {
79
- throw new Error('walkSchema expects a top-level z.object() schema.');
176
+ // Try to find the inner object schema for pipe/effect wrappers
177
+ const def = schema._zod.def;
178
+ if (topLevelType === 'pipe' && def['in']) {
179
+ objectSchema = def['in'];
180
+ }
181
+ if (objectSchema._zod.def.type !== 'object') {
182
+ throw new Error('walkSchema expects a top-level z.object() schema.');
183
+ }
80
184
  }
81
185
  const maxDepth = options?.maxDepth ?? 5;
82
186
  const processors = createProcessors(options?.processors ?? {});
83
- const shape = getShape(def);
187
+ const shape = objectSchema._zod.def.shape;
188
+ const isOptimized = options?.optimization?.level !== undefined;
189
+ // Set up optimizer context if optimization is enabled
190
+ let optimizerCtx;
191
+ let collector;
192
+ let schemaLiteInfo = null;
193
+ if (isOptimized) {
194
+ collector = createSchemaLiteCollector();
195
+ const optimizers = createOptimizers(options.optimization.optimizers ?? {});
196
+ optimizerCtx = {
197
+ optimizers,
198
+ schemaLite: collector,
199
+ level: options.optimization.level
200
+ };
201
+ // Detect and capture top-level effects for schemaLite.
202
+ //
203
+ // Effects come in two forms:
204
+ // 1. Checks (superRefine/refine): stored in def.checks on the schema
205
+ // 2. Pipe/transform: wraps schema in def.type="pipe" with def.out holding the transform
206
+ //
207
+ // We extract both and replay them onto a lite z.object({}).loose() schema
208
+ // so submit-time validation skips field-level checks but preserves effects.
209
+ schemaLiteInfo = collectTopLevelEffects(schema, objectSchema, collector);
210
+ }
84
211
  // Each top-level field gets its own `seen` set so that reused schema instances
85
212
  // (e.g. `const name = z.string(); z.object({ a: name, b: name })`) are handled
86
213
  // correctly across siblings, while still detecting cycles within a single descent.
87
214
  const fields = Object.entries(shape).map(([key, childSchema]) => {
88
215
  const seen = new WeakSet();
89
- return processField(childSchema, key, options, processors, seen, maxDepth, 0);
216
+ return processField(childSchema, key, options, processors, seen, maxDepth, 0, optimizerCtx);
90
217
  });
91
- return fields.sort((left, right) => {
218
+ const sorted = fields.sort((left, right) => {
92
219
  if (left.order === undefined && right.order === undefined) {
93
220
  return 0;
94
221
  }
@@ -100,5 +227,18 @@ export function walkSchema(schema, options) {
100
227
  }
101
228
  return left.order - right.order;
102
229
  });
230
+ if (isOptimized && collector) {
231
+ // Attach fallthrough field paths to the info for codegen
232
+ const fallthroughFields = [...collector.fields.keys()];
233
+ if (schemaLiteInfo && schemaLiteInfo.type !== 'original') {
234
+ schemaLiteInfo.fallthroughFields = fallthroughFields;
235
+ }
236
+ return {
237
+ fields: sorted,
238
+ schemaLite: collector.build(),
239
+ schemaLiteInfo
240
+ };
241
+ }
242
+ return sorted;
103
243
  }
104
244
  //# sourceMappingURL=walker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zod-to-form/core",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Schema walker and processor registry for Zod v4 form generation",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/pradeepmouli/zod-to-form#readme",
@@ -1,5 +0,0 @@
1
- import type { $ZodType as ZodType } from 'zod/v4/core';
2
- export declare function getDef(schema: ZodType): Record<string, unknown>;
3
- export declare function getShape(def: Record<string, unknown>): Record<string, ZodType>;
4
- export declare function getBag(schema: ZodType): Record<string, unknown>;
5
- //# sourceMappingURL=_utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../src/processors/_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS9E;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D"}
@@ -1,17 +0,0 @@
1
- export function getDef(schema) {
2
- const candidate = schema;
3
- return candidate['def'] ?? candidate['_zod']?.['def'] ?? {};
4
- }
5
- export function getShape(def) {
6
- const rawShape = def['shape'];
7
- if (typeof rawShape === 'function') {
8
- const computed = rawShape;
9
- return computed() ?? {};
10
- }
11
- return rawShape ?? {};
12
- }
13
- export function getBag(schema) {
14
- const candidate = schema;
15
- return candidate['_zod']?.['bag'] ?? candidate['def']?.['bag'] ?? {};
16
- }
17
- //# sourceMappingURL=_utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_utils.js","sourceRoot":"","sources":["../../src/processors/_utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM,SAAS,GAAG,MAGjB,CAAC;IAEF,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAA4B;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAyB,CAAC;QAC3C,OAAQ,QAAQ,EAA8B,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAQ,QAAoC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM,SAAS,GAAG,MAGjB,CAAC;IAEF,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC"}