@zod-to-form/cli 0.6.1 → 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/README.md +1 -1
- package/dist/codegen.d.ts +7 -17
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +11 -496
- package/dist/codegen.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -6
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +42 -164
- package/dist/init.js.map +1 -1
- package/package.json +3 -2
- package/dist/templates.d.ts +0 -16
- package/dist/templates.d.ts.map +0 -1
- package/dist/templates.js +0 -66
- package/dist/templates.js.map +0 -1
package/dist/templates.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export function getFileHeader(schemaImportPath, exportName, hasArrays = false, mode = 'submit', componentImportLine, options) {
|
|
2
|
-
const rhfParts = ['useForm'];
|
|
3
|
-
if (hasArrays)
|
|
4
|
-
rhfParts.push('useFieldArray');
|
|
5
|
-
if (options?.hasControlled)
|
|
6
|
-
rhfParts.push('Controller');
|
|
7
|
-
if (options?.formProvider || mode === 'auto-save')
|
|
8
|
-
rhfParts.push('FormProvider');
|
|
9
|
-
const rhfImports = `import { ${rhfParts.join(', ')} } from 'react-hook-form';`;
|
|
10
|
-
const reactImports = mode === 'auto-save' ? `import { useEffect } from 'react';` : '';
|
|
11
|
-
return [
|
|
12
|
-
...(reactImports ? [reactImports] : []),
|
|
13
|
-
rhfImports,
|
|
14
|
-
`import { zodResolver } from '@hookform/resolvers/zod';`,
|
|
15
|
-
`import { z } from 'zod';`,
|
|
16
|
-
`import type { StripIndexSignature } from '@zod-to-form/core';`,
|
|
17
|
-
...(componentImportLine ? [componentImportLine] : []),
|
|
18
|
-
`import { ${exportName} } from '${schemaImportPath}';`,
|
|
19
|
-
``,
|
|
20
|
-
`type FormData = StripIndexSignature<z.output<typeof ${exportName}>>;`
|
|
21
|
-
].join('\n');
|
|
22
|
-
}
|
|
23
|
-
function registerPathExpr(path) {
|
|
24
|
-
return path.includes('${') ? `register(\`${path}\`)` : `register('${path}')`;
|
|
25
|
-
}
|
|
26
|
-
function renderInput(field) {
|
|
27
|
-
const inputType = typeof field.props['type'] === 'string' ? field.props['type'] : 'text';
|
|
28
|
-
return `<input id="${field.key}" type="${inputType}" {...${registerPathExpr(field.key)}} />`;
|
|
29
|
-
}
|
|
30
|
-
function renderCheckbox(field) {
|
|
31
|
-
return `<input id="${field.key}" type="checkbox" {...${registerPathExpr(field.key)}} />`;
|
|
32
|
-
}
|
|
33
|
-
function renderDatePicker(field) {
|
|
34
|
-
const registerExpr = field.key.includes('${')
|
|
35
|
-
? `register(\`${field.key}\`, { valueAsDate: true })`
|
|
36
|
-
: `register('${field.key}', { valueAsDate: true })`;
|
|
37
|
-
return `<input id="${field.key}" type="date" {...${registerExpr}} />`;
|
|
38
|
-
}
|
|
39
|
-
function renderFileInput(field) {
|
|
40
|
-
return `<input id="${field.key}" type="file" {...${registerPathExpr(field.key)}} />`;
|
|
41
|
-
}
|
|
42
|
-
function renderSelect(field) {
|
|
43
|
-
const options = (field.options ?? [])
|
|
44
|
-
.map((option) => `<option value="${String(option.value)}">${option.label}</option>`)
|
|
45
|
-
.join('');
|
|
46
|
-
return `<select id="${field.key}" {...${registerPathExpr(field.key)}}>${options}</select>`;
|
|
47
|
-
}
|
|
48
|
-
export function renderField(field) {
|
|
49
|
-
switch (field.component) {
|
|
50
|
-
case 'Checkbox':
|
|
51
|
-
case 'Switch':
|
|
52
|
-
return renderCheckbox(field);
|
|
53
|
-
case 'DatePicker':
|
|
54
|
-
return renderDatePicker(field);
|
|
55
|
-
case 'FileInput':
|
|
56
|
-
return renderFileInput(field);
|
|
57
|
-
case 'Select':
|
|
58
|
-
case 'RadioGroup':
|
|
59
|
-
return renderSelect(field);
|
|
60
|
-
case 'Textarea':
|
|
61
|
-
return `<textarea id="${field.key}" {...${registerPathExpr(field.key)}} />`;
|
|
62
|
-
default:
|
|
63
|
-
return renderInput(field);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=templates.js.map
|
package/dist/templates.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|