abolish
Version:
A javascript object validator.
67 lines (66 loc) • 1.67 kB
TypeScript
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;