import * as plugins from './smartguard.plugins.js'; export type TGuardFunction = (dataArg: T) => Promise; export class Guard { private guardFunction: TGuardFunction; constructor(guardFunctionArg: TGuardFunction) { this.guardFunction = guardFunctionArg; } /** * executes the guard against a data argument; * @param dataArg */ public async exec(dataArg: T) { const result = await this.guardFunction(dataArg); return result; } public async execForTR() { } }