UNPKG

@sidekick-coder/db

Version:

Cli Tool to manipulate data from diferent sources

21 lines (18 loc) 1.11 kB
import { v } from './valibot.cjs'; import { InferOutput, ObjectEntries, ObjectSchema } from 'valibot'; import { ValibotSchema, ValibotSchemaAsync } from './types.cjs'; import '../filesystem/types.cjs'; interface ValidatorCallback<T extends ValibotSchema> { (_v: typeof v): T; } type ValidatorCallbackAsync<T extends ValibotSchemaAsync> = { (_v: typeof v): T; }; type ValidatorResult<T extends ObjectEntries> = InferOutput<ObjectSchema<T, undefined>>; type ValidatePayload<T extends ValibotSchema = ValibotSchema> = ValidatorCallback<T> | T; type ValidateResult<T extends ValidatePayload> = T extends ValibotSchema ? InferOutput<T> : T extends ValidatorCallback<infer U> ? InferOutput<U> : unknown; declare function validate<T extends ValibotSchema>(cb: ValidatePayload<T>, payload: any): InferOutput<T>; declare namespace validate { var async: <T extends ValibotSchemaAsync>(cb: ValidatorCallbackAsync<T> | T, payload: any) => Promise<InferOutput<T>>; } export { type ValidatePayload, type ValidateResult, type ValidatorCallback, type ValidatorCallbackAsync, type ValidatorResult, validate };