@lecxa/shipstation-zod
v1.0.4
Published
Zod schemas for ShipStation API v2 - Runtime validation and type-safe schema definitions
Maintainers
Readme
@lecxa/shipstation-zod
Zod schemas for ShipStation API v2.
Installation
npm install @lecxa/shipstation-zod zodPeer dependencies:
zod^3.0.0
Usage
Schema Validation
import { schemas } from '@lecxa/shipstation-zod';
// Parse and validate
const shipment = schemas.shipment.parse(data);
// Safe parse (no throw)
const result = schemas.shipment.safeParse(data);
if (result.success) {
console.log(result.data);
} else {
console.error(result.error);
}Type Inference
import { schemas } from '@lecxa/shipstation-zod';
import { z } from 'zod';
type Shipment = z.infer<typeof schemas.shipment>;
type CreateLabelBody = z.infer<typeof schemas.createLabelBody>;Form Validation
Works with react-hook-form:
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import { schemas } from '@lecxa/shipstation-zod';
function LabelForm() {
const { register, handleSubmit } = useForm({
resolver: zodResolver(schemas.createLabelBody),
});
return <form onSubmit={handleSubmit(onSubmit)}>{/* ... */}</form>;
}License
MIT
