UNPKG

@fajarnugraha37/validator

Version:

A typed façade over [AJV](https://ajv.js.org/) that brings schema builders, caching, and loader pipelines to the `nope` workspace

47 lines (44 loc) 4.18 kB
import { S as SchemaRegistry, V as Validator, a as ValidatorOptions, b as SchemaCacheOptions, c as SchemaLoader, d as SchemaJsonInput, e as ValidatorBuilder } from './validator-BNjHaHXF.js'; import * as _fajarnugraha37_error from '@fajarnugraha37/error'; import { SchemaBuilder } from './schema-builder.js'; import '@fajarnugraha37/cache'; type SchemaSource<TSchemas extends SchemaRegistry = SchemaRegistry> = SchemaBuilder | TSchemas[keyof TSchemas]; type SchemaSourceMap<TSchemas extends SchemaRegistry = SchemaRegistry> = Partial<Record<keyof TSchemas, SchemaSource<TSchemas>>>; declare const defaultValidator: Validator<SchemaRegistry>; declare const defineSchemas: <TSchemas extends SchemaRegistry = SchemaRegistry>(schemas: SchemaSourceMap<TSchemas>) => Partial<Record<keyof TSchemas, SchemaSource<TSchemas>>>; declare const buildSchemaMap: <TSchemas extends SchemaRegistry = SchemaRegistry>(schemas: SchemaSourceMap<TSchemas>) => Partial<TSchemas>; declare const validateExpression: (data: unknown) => _fajarnugraha37_error.ValidationResult<any>; declare const validateExpressionStrict: (data: unknown) => any; declare const createValidator: (schemaKey: string, schema: any) => { validate: (data: unknown) => _fajarnugraha37_error.ValidationResult<any>; validateAsync: (data: unknown) => Promise<_fajarnugraha37_error.ValidationResult<any>>; validateStrict: (data: unknown) => any; validateStrictAsync: (data: unknown) => Promise<any>; validateMany: (items: unknown[]) => _fajarnugraha37_error.ValidationResult<any[]>; validateManyAsync: (items: unknown[]) => Promise<_fajarnugraha37_error.ValidationResult<any[]>>; }; interface ValidatorFactoryConfig<TSchemas extends SchemaRegistry = SchemaRegistry> { options?: ValidatorOptions; cache?: SchemaCacheOptions<TSchemas>; loader?: SchemaLoader<TSchemas>; } declare const createValidatorFromJSON: <TSchemas extends SchemaRegistry = SchemaRegistry>(schemaJson: SchemaJsonInput<TSchemas>, config?: ValidatorFactoryConfig<TSchemas>) => Validator<TSchemas>; declare const createValidatorFromBuilders: <TSchemas extends SchemaRegistry = SchemaRegistry>(schemas: SchemaSourceMap<TSchemas>, config?: ValidatorFactoryConfig<TSchemas>) => Validator<TSchemas>; declare const validatorBuilder: <TSchemas extends SchemaRegistry = SchemaRegistry>() => ValidatorBuilder<TSchemas>; declare const createTypeValidatorFromJSON: <TSchemas extends SchemaRegistry = SchemaRegistry, K extends keyof TSchemas = keyof TSchemas>(schemaKey: K, schemaJson: SchemaJsonInput<TSchemas>, config?: ValidatorFactoryConfig<TSchemas>) => { validate: (data: unknown) => _fajarnugraha37_error.ValidationResult<TSchemas[K]>; validateAsync: (data: unknown) => Promise<_fajarnugraha37_error.ValidationResult<TSchemas[K]>>; validateStrict: (data: unknown) => TSchemas[K]; validateStrictAsync: (data: unknown) => Promise<TSchemas[K]>; validateMany: (items: unknown[]) => _fajarnugraha37_error.ValidationResult<TSchemas[K][]>; validateManyAsync: (items: unknown[]) => Promise<_fajarnugraha37_error.ValidationResult<TSchemas[K][]>>; }; declare const createTypeValidatorFromBuilders: <TSchemas extends SchemaRegistry = SchemaRegistry, K extends keyof TSchemas = keyof TSchemas>(schemaKey: K, schemas: SchemaSourceMap<TSchemas>, config?: ValidatorFactoryConfig<TSchemas>) => { validate: (data: unknown) => _fajarnugraha37_error.ValidationResult<TSchemas[K]>; validateAsync: (data: unknown) => Promise<_fajarnugraha37_error.ValidationResult<TSchemas[K]>>; validateStrict: (data: unknown) => TSchemas[K]; validateStrictAsync: (data: unknown) => Promise<TSchemas[K]>; validateMany: (items: unknown[]) => _fajarnugraha37_error.ValidationResult<TSchemas[K][]>; validateManyAsync: (items: unknown[]) => Promise<_fajarnugraha37_error.ValidationResult<TSchemas[K][]>>; }; export { type SchemaSource, type SchemaSourceMap, type ValidatorFactoryConfig, buildSchemaMap, createTypeValidatorFromBuilders, createTypeValidatorFromJSON, createValidator, createValidatorFromBuilders, createValidatorFromJSON, defaultValidator, defineSchemas, validateExpression, validateExpressionStrict, validatorBuilder };