form-porter
v0.1.3
Published
A utility for copying and pasting form data between different versions of a schema
Maintainers
Readme
form-porter
Form porter is a utility for copying and pasting form data between different versions of a schema.
Install
npm install form-porterUsage
import { createFormPorter } from 'form-porter';
const formPorter = createFormPorter({
schemas: {
v1: z.object({
name: z.string(),
}),
},
});
formPorter.copy(data, 'v1', {
onCopy: (data) => {
console.log(data); // data is the serialized payload
},
});
formPorter.paste('v2', {
onPaste: (data) => {
console.log(data); // data is the validated data
},
});Supported libraries:
Form Porter uses Standard Schema to validate the data. So any library that is compatible with Standard Schema is supported.
| supported library | version | | ------------------------------------------------------------------------------ | -------- | | Zod | 3.24.0+ | | Valibot | v1.0+ | | ArkType | v2.0+ | | Effect Schema | v3.13.0+ | | Arri Schema | v0.71.0+ | | TypeMap | v0.8.0+ | | Formgator | v0.1.0+ | | decoders | v2.6.0+ | | ReScript Schema | v9.2.0+ | | Skunkteam Types | v9.0.0+ | | DreamIt GraphQL-Std-Schema | v0.1.0+ | | ts.data.json | v2.3.0+ | | unhoax | v0.7.0+ |
License
MIT
