UNPKG

@faivform/yup

Version:

Adapter to use Yup with @tuentyfaiv/svelte-form

21 lines (20 loc) 1.13 kB
/// <reference types="svelte" /> import { Adapter } from "@tuentyfaiv/svelte-form"; import { ObjectSchema } from "yup"; import type { DataErrors } from "@tuentyfaiv/svelte-form"; import type { Writable } from "svelte/store"; import type { AnyObject, InferType } from "yup"; import type { YupAdapterConfig } from "./yup.types.js"; declare class YupAdapter<Schema extends ObjectSchema<AnyObject>, Data extends InferType<Schema> = InferType<Schema>> extends Adapter<Data> { #private; constructor(config: YupAdapterConfig<Schema>); initial: () => { fields: Data; errors: DataErrors<Data>; }; validate: <T = Data>(data: T) => Promise<void>; field: (field: keyof Data, value: Data[keyof Data], errors: Writable<DataErrors<Data>>) => Promise<void>; errors: (error: unknown, errors: Writable<DataErrors<Data>>, handle?: ((error: unknown) => (void | Promise<void>)) | undefined) => Promise<void>; } export declare function adapter<Schema extends ObjectSchema<AnyObject>, Data extends InferType<Schema> = InferType<Schema>>(schema: Schema): YupAdapter<Schema, InferType<Schema>>; export {};