UNPKG

lite-schema-check

Version:

A tiny, zero-dependency TypeScript validation library. Competitive alternative to Zod with clearer API, solving real pain points like circular validation, codecs, and mixed async/sync validation.

43 lines (42 loc) 1.64 kB
/** * lite-schema-check v2 - Enhanced validation with Zod-competitive features */ import type { Schema, ValidationResult } from './types'; /** * Validate data against a schema * * @example * ```typescript * import { validate, object, optional, array } from 'lite-schema-check/v2'; * * const schema = object({ * name: 'string', * age: 'number', * email: optional('string'), * tags: array('string') * }); * * const result = validate(data, schema); * if (result.success) { * console.log('Valid!', result.data); * } else { * console.error('Errors:', result.errors); * } * ``` */ export declare function validate(input: unknown, schema: Schema): ValidationResult; /** * Assert that data is valid, throw if not */ export declare function assertValid(input: unknown, schema: Schema): asserts input; /** * Create a reusable validator function */ export declare function createValidator(schema: Schema): (input: unknown) => ValidationResult; export { optional, nullable, array, object, union, literal, string, number, xor, describe, file } from './builders'; export { lazy, withDefault, transform, async, nullish, conditional, refine, codec } from './advanced'; export { validateFormData, assertValidFormData, parseFormData } from './formdata'; export { validatePartial, validateWithOptions, splitValidation } from './partial'; export { toJSONSchema, toOpenAPISchema, getSchemaMetadata } from './json-schema'; export type { SchemaMetadata } from './json-schema'; export type { Schema, SchemaDefinition, ValidationResult, ValidationError, PartialValidationResult, ValidationOptions, JSONSchema } from './types';