UNPKG

abolish

Version:

A javascript object validator.

67 lines (66 loc) 1.67 kB
import type { $skipRule, AbolishInlineValidator, AbolishRule } from "./types"; import type { AbolishRuleTyped } from "./functions"; /** * $inLine object generator * @param fn * @param $error */ export declare const $inline: (fn: AbolishInlineValidator, $error?: string) => { $inline: AbolishInlineValidator; $error: string; } | { $inline: AbolishInlineValidator; $error?: undefined; }; /** * $inLineAsync object generator */ export declare const $inlineAsync: (fn: AbolishInlineValidator, $error?: string) => { $inlineAsync: AbolishInlineValidator; $error: string; } | { $inlineAsync: AbolishInlineValidator; $error?: undefined; }; /** * Skip Rule Function Type * @param fn */ export declare function $skip<Val, Data>(fn: (val: Val, data: Data) => boolean): { $skip: $skipRule; }; /** * Skip if undefined * @param rule */ export declare function skipIfUndefined(rule: string | Record<string, any> | any[]): { $skip: $skipRule; }[]; /** * Skip if is undefined || null * @param rule */ export declare function skipIfNotDefined(rule: string | Record<string, any> | any[]): { $skip: $skipRule; }[]; /** * Optional - alias for skipIfNotDefined */ export declare const optional: typeof skipIfNotDefined; /** * Required helper function. * @example * required("string") * // is same as * ["required", "string"] */ export declare function required(rule: AbolishRule): AbolishRuleTyped; /** * Required helper function for typed rules. * @param rule * @example * requiredT("string") * // is same as * ["required", "string"] */ export declare function requiredT(rule: AbolishRuleTyped): AbolishRuleTyped;