← All packages

@lacspace/validate

v1.0.2App & Utils Kit0 deps

A tiny, typed schema validator — the ergonomics of zod (parse/safeParse, object/array/enum/union, coercion, type inference) in a zero-dependency, isomorphic package. Great for forms, API bodies, env and query strings.

npm i @lacspace/validate

Usage

validate.ts
import { v, type Infer } from "@lacspace/validate";

const User = v.object({
  name: v.string().min(2).trim(),
  email: v.string().email().toLowerCase(),
  age: v.coerce.number().int().min(0).optional(),
  role: v.enum(["admin", "user"]).default("user"),
  tags: v.array(v.string()).max(10).default([]),
});

type User = Infer<typeof User>;
//   ^ { name: string; email: string; role: "admin" | "user"; tags: string[]; age?: number }

User.parse(input);      // ✅ returns typed data, or throws ValidationError
User.safeParse(input);  // ✅ { success: true, data } | { success: false, error }

Exports 7

BooleanSchemaNumberSchemaObjectSchemaSchemaStringSchemaValidationErrorv

Keywords

validationschemavalidatorzod-alternativezod-litetype-inference

More in App & Utils Kit