zova-cli
Version:
zova cli
51 lines • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.collectCommands = exports.findCommand = exports.getCommandsMeta = void 0;
const config_js_1 = require("../config.js");
let __commandsMeta;
async function getCommandsMeta() {
await collectCommands();
return __commandsMeta;
}
exports.getCommandsMeta = getCommandsMeta;
function findCommand(cliFullName) {
return __commandsMeta.map[cliFullName];
}
exports.findCommand = findCommand;
async function collectCommands() {
await _collectCommands();
}
exports.collectCommands = collectCommands;
async function _collectCommands() {
if (__commandsMeta)
return;
const _commandsMap = {};
const _commandsAll = {};
const sets = config_js_1.commandsConfig.sets;
for (const setName in sets) {
const setModuleName = sets[setName];
const setModule = await import(setModuleName);
const commands = setModule.commands;
if (!commands)
continue;
const _commandsSet = (_commandsAll[setName] = {});
for (const groupName in commands) {
const group = commands[groupName];
const _commandsGroup = (_commandsSet[groupName] = {});
for (const key in group) {
const command = group[key];
const fullKey = `${setName}:${groupName}:${key}`;
// command BeanClass
const BeanClass = setModule.beans[command.bean];
// ok
_commandsMap[fullKey] = _commandsGroup[key] = { command, BeanClass };
}
}
}
// ok
__commandsMeta = {
map: _commandsMap,
all: _commandsAll,
};
}
//# sourceMappingURL=commands.js.map