UNPKG

@push.rocks/smartguard

Version:

A TypeScript library for creating and managing validation guards, aiding in data validation and security checks.

35 lines (34 loc) 978 B
import { Guard } from './classes.guard.js'; export interface IExecOptions { mode?: 'parallel' | 'serial'; stopOnFail?: boolean; } /** * Extended GuardSet that inherits from Guard * and provides additional functionalities. */ export declare class GuardSet<T> extends Guard<T> { guards: Array<Guard<T>>; constructor(guardArray?: Array<Guard<T>>); /** * executes all guards in all guardSets against a data argument * @param dataArg */ execAllWithData(dataArg: T, optionsArg?: IExecOptions): Promise<boolean[]>; /** * checks if all guards pass * @param dataArg */ allGuardsPass(dataArg: T, optionsArg?: IExecOptions): Promise<boolean>; /** * checks if any guard passes * @param dataArg */ anyGuardsPass(dataArg: T): Promise<boolean>; /** * returns the first reason for why something fails * @param dataArg * @returns */ getFailedHint(dataArg: T): Promise<string>; }