@trailhead/validation
v1.0.1
Published
Functional validation with Zod integration and Result types for Trailhead System
Maintainers
Readme
@trailhead/validation
Validation with Zod and Result types
Result-based validation with Zod integration, pre-built validators, functional composition patterns, and comprehensive testing utilities.
Installation
pnpm add @trailhead/validationQuick Example
import { validate, createSchemaValidator, z } from '@trailhead/validation'
// Pre-built validators
const emailResult = validate.email('[email protected]')
const urlResult = validate.url('https://example.com')
// Schema validation with Zod
const userSchema = z.object({
name: z.string().min(3),
email: z.string().email(),
age: z.number().min(18),
})
const validateUser = createSchemaValidator(userSchema)
const result = validateUser({ name: 'John', email: '[email protected]', age: 25 })
if (result.isOk()) {
console.log('Valid user:', result.value)
}Key Features
- Result-based - Explicit error handling with Result types
- Pre-built validators - Common validators for email, URL, phone, etc.
- Zod integration - Full support for Zod schemas
- Functional composition - Compose validators with
allOf,anyOf - Type-safe - TypeScript type inference from schemas
Documentation
- API Documentation - Complete API reference
- Form Validation Guide - Tutorial
- Create Custom Validators - How-to guide
License
MIT © Esteban URL
