@push.rocks/smartguard
Version:
A TypeScript library for creating and managing validation guards, aiding in data validation and security checks.
35 lines (34 loc) • 989 B
TypeScript
import { Guard } from './smartguard.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>;
}