smartguard/ts/index.ts

18 lines
564 B
TypeScript
Raw Normal View History

2019-06-18 12:51:13 +00:00
import * as plugins from './smartguard.plugins';
2019-08-07 14:31:53 +00:00
import { Guard } from './smartguard.classes.guard';
import { GuardSet } from './smartguard.classes.guardset';
export * from './smartguard.classes.guard';
2019-06-18 12:51:13 +00:00
2019-08-07 14:31:53 +00:00
export const passGuards = async <T>(dataArg: T, guards: Array<Guard<T>>) => {
const done = plugins.smartpromise.defer();
const guardSet = new GuardSet<T>(guards);
const results = await guardSet.executeGuardsWithData(dataArg);
for (const result of results) {
if(!result) {
return;
}
}
done.resolve();
await done.promise;
return;
};