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
TypeScript
/**
* 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';