UNPKG

alia

Version:
25 lines (24 loc) 773 B
import { ConfigService } from '../services/config.service.js'; import { GistService } from '../services/gist.service.js'; import { inject } from '../utils/di.js'; export class Flag { confService = inject(ConfigService); gistService = inject(GistService); flag; mods = []; async run(args, data) { const mods = this.mods.filter((m) => Object.keys(data).includes(m.key)); for (const mod of mods) { const value = data[mod.key]; const result = await mod.run?.(value); if (result === false) { return false; } } const result = await this.flag.run?.(args, data); if (result === undefined) { return true; } return result; } }