abolish
Version:
A javascript object validator.
29 lines (28 loc) • 1.22 kB
TypeScript
import * as Yup from "yup";
import type { TypeOfAbolishOrInstance } from "../src/Abolish";
import type { ValidateOptions } from "yup";
export type YupSchemaOption<T extends Yup.AnySchema> = {
schema: T;
options?: ValidateOptions;
};
type YupHelper<T> = (y: typeof Yup) => T;
declare module "../src/validator" {
namespace AvailableValidators {
interface Options {
$yup: Yup.AnySchema | YupSchemaOption<any>;
$yupAsync: Yup.AnySchema | YupSchemaOption<any>;
}
}
}
/**
* $yup Schema Helper
*/
export declare function $yup<T extends Yup.AnySchema>(schema: YupHelper<T>, options?: ValidateOptions): Record<"$yup", YupSchemaOption<T>>;
export declare function $yup<T extends Yup.AnySchema>(schema: T, options?: ValidateOptions): Record<"$yup", YupSchemaOption<T>>;
/**
* $yup Async Helper
*/
export declare function $yupAsync<T extends Yup.AnySchema>(schema: YupHelper<T>, options?: ValidateOptions): Record<"$yupAsync", YupSchemaOption<T>>;
export declare function $yupAsync<T extends Yup.AnySchema>(schema: T, options?: ValidateOptions): Record<"$yupAsync", YupSchemaOption<T>>;
export declare function useYup(abolish: TypeOfAbolishOrInstance): void;
export {};