@sidekick-coder/db
Version:
Cli Tool to manipulate data from diferent sources
21 lines (18 loc) • 1.11 kB
text/typescript
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 };