@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.
- package/dist/config.d.ts +21 -27
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -17
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/optimizers/constraint-map.d.ts +14 -0
- package/dist/optimizers/constraint-map.d.ts.map +1 -0
- package/dist/optimizers/constraint-map.js +117 -0
- package/dist/optimizers/constraint-map.js.map +1 -0
- package/dist/optimizers/index.d.ts +10 -0
- package/dist/optimizers/index.d.ts.map +1 -0
- package/dist/optimizers/index.js +31 -0
- package/dist/optimizers/index.js.map +1 -0
- package/dist/optimizers/l1-decompose.d.ts +6 -0
- package/dist/optimizers/l1-decompose.d.ts.map +1 -0
- package/dist/optimizers/l1-decompose.js +65 -0
- package/dist/optimizers/l1-decompose.js.map +1 -0
- package/dist/optimizers/l2-native-rules.d.ts +6 -0
- package/dist/optimizers/l2-native-rules.d.ts.map +1 -0
- package/dist/optimizers/l2-native-rules.js +66 -0
- package/dist/optimizers/l2-native-rules.js.map +1 -0
- package/dist/optimizers/l3-cross-field.d.ts +2 -0
- package/dist/optimizers/l3-cross-field.d.ts.map +1 -0
- package/dist/optimizers/l3-cross-field.js +43 -0
- package/dist/optimizers/l3-cross-field.js.map +1 -0
- package/dist/optimizers/schema-lite.d.ts +11 -0
- package/dist/optimizers/schema-lite.d.ts.map +1 -0
- package/dist/optimizers/schema-lite.js +71 -0
- package/dist/optimizers/schema-lite.js.map +1 -0
- package/dist/optimizers/types.d.ts +47 -0
- package/dist/optimizers/types.d.ts.map +1 -0
- package/dist/optimizers/types.js +2 -0
- package/dist/optimizers/types.js.map +1 -0
- package/dist/processors/array.d.ts +3 -3
- package/dist/processors/array.d.ts.map +1 -1
- package/dist/processors/array.js +3 -6
- package/dist/processors/array.js.map +1 -1
- package/dist/processors/boolean.d.ts +2 -2
- package/dist/processors/boolean.d.ts.map +1 -1
- package/dist/processors/boolean.js.map +1 -1
- package/dist/processors/collections.d.ts +13 -0
- package/dist/processors/collections.d.ts.map +1 -0
- package/dist/processors/collections.js +36 -0
- package/dist/processors/collections.js.map +1 -0
- package/dist/processors/date.d.ts +2 -2
- package/dist/processors/date.d.ts.map +1 -1
- package/dist/processors/date.js.map +1 -1
- package/dist/processors/enum.d.ts +3 -3
- package/dist/processors/enum.d.ts.map +1 -1
- package/dist/processors/enum.js +5 -7
- package/dist/processors/enum.js.map +1 -1
- package/dist/processors/fallback.d.ts.map +1 -1
- package/dist/processors/fallback.js +1 -13
- package/dist/processors/fallback.js.map +1 -1
- package/dist/processors/index.d.ts +3 -1
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +3 -1
- package/dist/processors/index.js.map +1 -1
- package/dist/processors/number.d.ts +2 -2
- package/dist/processors/number.d.ts.map +1 -1
- package/dist/processors/number.js +3 -4
- package/dist/processors/number.js.map +1 -1
- package/dist/processors/object.d.ts +3 -3
- package/dist/processors/object.d.ts.map +1 -1
- package/dist/processors/object.js +12 -12
- package/dist/processors/object.js.map +1 -1
- package/dist/processors/record.d.ts +4 -0
- package/dist/processors/record.d.ts.map +1 -0
- package/dist/processors/record.js +8 -0
- package/dist/processors/record.js.map +1 -0
- package/dist/processors/string.d.ts +3 -3
- package/dist/processors/string.d.ts.map +1 -1
- package/dist/processors/string.js +22 -7
- package/dist/processors/string.js.map +1 -1
- package/dist/processors/union.d.ts +3 -2
- package/dist/processors/union.d.ts.map +1 -1
- package/dist/processors/union.js +20 -19
- package/dist/processors/union.js.map +1 -1
- package/dist/processors/wrappers.d.ts +7 -7
- package/dist/processors/wrappers.d.ts.map +1 -1
- package/dist/processors/wrappers.js +9 -16
- package/dist/processors/wrappers.js.map +1 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +5 -6
- package/dist/register.js.map +1 -1
- package/dist/registry.d.ts +0 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +27 -6
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +68 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +0 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -6
- package/dist/utils.js.map +1 -1
- package/dist/walker.d.ts +7 -4
- package/dist/walker.d.ts.map +1 -1
- package/dist/walker.js +157 -17
- package/dist/walker.js.map +1 -1
- package/package.json +1 -1
- package/dist/processors/_utils.d.ts +0 -5
- package/dist/processors/_utils.d.ts.map +0 -1
- package/dist/processors/_utils.js +0 -17
- 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
|
-
/**
|
|
40
|
-
|
|
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
|
-
/**
|
|
64
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
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.
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -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
|
|
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":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,iFAAiF;IACjF,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7D,OAAO,CACL,IAAI;QACF,oDAAoD;SACnD,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACpC,8CAA8C;SAC7C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QACtB,2CAA2C;SAC1C,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACxC,IAAI,EAAE,CACV,CAAC;AACJ,CAAC;AAED
|
|
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
|
package/dist/walker.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.
|
|
60
|
-
field.
|
|
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
|
-
*
|
|
84
|
+
* Collect top-level effects from the schema and add them to the collector.
|
|
70
85
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
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
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
package/dist/walker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -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"}
|