@push.rocks/smartguard
Version:
A TypeScript library for creating and managing validation guards, aiding in data validation and security checks.
20 lines (18 loc) • 663 B
text/typescript
import * as plugins from './smartguard.plugins.js';
import { Guard } from './classes.guard.js';
export * from './classes.guarderror.js';
export * from './classes.guard.js';
export * from './classes.guardset.js';
import { GuardSet } from './classes.guardset.js';
import { GuardError } from './classes.guarderror.js';
export const passGuardsOrReject = async <T>(dataArg: T, guards: Array<Guard<T>>) => {
const guardSet = new GuardSet<T>(guards);
const result = await guardSet.allGuardsPass(dataArg);
if (!result) {
const failedHint = await guardSet.getFailedHint(dataArg);
throw new GuardError(`Guards failed:
${failedHint}
`);
}
return ;
};