@ton-actions/tondev-contest
Version:
TON Dev Environment
62 lines • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runCommand = exports.findControllerAndCommandByAlias = exports.controllers = void 0;
const clang_1 = require("./clang");
const solidity_1 = require("./solidity");
// import {TestSuite} from "./ts";
const js_1 = require("./js");
const se_1 = require("./se");
const se_nd_1 = require("./se-nd");
const tonos_cli_1 = require("./tonos-cli");
const ts4_1 = require("./ts4");
const core_1 = require("../core");
const signer_1 = require("./signer");
const network_1 = require("./network");
const contract_1 = require("./contract");
exports.controllers = [
clang_1.Clang,
solidity_1.Solidity,
se_1.SE,
se_nd_1.SENonDocker,
network_1.NetworkTool,
signer_1.SignerTool,
contract_1.Contract,
js_1.JsApps,
tonos_cli_1.TONOS,
ts4_1.TestSuite4,
];
function findControllerAndCommandByAlias(alias) {
alias = alias.trim().toLowerCase();
for (const controller of exports.controllers) {
for (const command of controller.commands) {
if (controller.alias && command.alias) {
if (`${controller.alias}${command.alias}` === alias) {
return {
controller,
command,
};
}
}
}
}
return undefined;
}
exports.findControllerAndCommandByAlias = findControllerAndCommandByAlias;
async function runCommand(terminal, name, args) {
const [controllerName, commandName] = name
.toLowerCase()
.split(" ")
.map(x => x.trim())
.filter(x => x !== "");
const controller = exports.controllers.find(x => core_1.matchName(x, controllerName));
if (!controller) {
throw new Error(`Controller ${controllerName} not found`);
}
const command = controller.commands.find(x => core_1.matchName(x, commandName));
if (!command) {
throw new Error(`Command ${commandName} not found in controller ${controllerName}`);
}
await command.run(terminal, args);
}
exports.runCommand = runCommand;
//# sourceMappingURL=index.js.map