@bshg/validation
Version:
Validation Library for TypeScript projects
28 lines (27 loc) • 1.38 kB
TypeScript
import { FnConfig, TypeValidator } from "./base";
import { KeysOfType } from "../utils";
export declare class Strings<T extends string | undefined = string> extends TypeValidator<T> {
undefined(): Strings<T | undefined>;
required(options?: FnConfig): Strings<T>;
notEmpty(options?: FnConfig): Strings<T>;
min(length: number, options?: FnConfig): Strings<T>;
max(length: number, options?: FnConfig): Strings<T>;
includes(substring: string, options?: FnConfig): Strings<T>;
includesAll(substrings: string[], options?: FnConfig): Strings<T>;
startsWith(prefix: string, options?: FnConfig): Strings<T>;
endsWith(suffix: string, options?: FnConfig): Strings<T>;
matches(pattern: RegExp, options?: FnConfig): Strings<T>;
email(options?: FnConfig): Strings<T>;
phone(options?: FnConfig): Strings<T>;
url(options?: FnConfig): Strings<T>;
date(options?: FnConfig): Strings<T>;
time(options?: FnConfig): Strings<T>;
hexColor(options?: FnConfig): Strings<T>;
creditCard(options?: FnConfig): Strings<T>;
htmlTag(options?: FnConfig): Strings<T>;
base64(options?: FnConfig): Strings<T>;
alphanumeric(options?: FnConfig): Strings<T>;
numeric(options?: FnConfig): Strings<T>;
alpha(options?: FnConfig): Strings<T>;
as<TO extends Record<string, any>>(key: KeysOfType<TO, string>, options?: FnConfig): this;
}