import * as plugins from './smartguard.plugins.js'; import { Guard } from './smartguard.classes.guard.js'; /** * a guardSet is a set of guards that need to be fulfilled */ export class GuardSet { public guards: Array>; public passed: boolean; constructor(guardsArrayArg: Array>) { this.guards = guardsArrayArg; } public async executeGuardsWithData(dataArg: T) { const resultPromises: Array> = []; for (const guard of this.guards) { const resultPromise = guard.executeGuardWithData(dataArg); resultPromises.push(resultPromise); } const results = Promise.all(resultPromises); return results; } }