alia
Version:
Alias To Go
25 lines (24 loc) • 773 B
JavaScript
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;
}
}