UNPKG

decova-gotcha

Version:

It's my personal trial for automating daunting tasks

85 lines 4.95 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.App = void 0; require("reflect-metadata"); require("decova-dotnet"); const chalk_1 = __importDefault(require("chalk")); const decova_environment_1 = require("decova-environment"); const figlet_1 = __importDefault(require("figlet")); const ExecFromSheet_1 = require("./external-sheet/ExecFromSheet"); const LocalToolsDispatcher_1 = require("./local-tools-impl/LocalToolsDispatcher"); const LTool_IncrementPatch_1 = require("./local-tools-impl/LTool_IncrementPatch"); const decova_filesystem_1 = require("decova-filesystem"); const LTool_CheckGotchaLocalRepo_1 = require("./local-tools-impl/LTool_CheckGotchaLocalRepo"); const LTool_EditLaunchFile_1 = require("./local-tools-impl/LTool_EditLaunchFile"); const LTool_EditWalkthroughs_1_1 = require("./local-tools-impl/LTool_EditWalkthroughs.1"); const LTool_EditSnippets_1 = require("./local-tools-impl/LTool_EditSnippets"); const LTool_ManageTextSnippets_1 = require("./local-tools-impl/LTool_ManageTextSnippets"); const LTool_OpenTextSnippet_1 = require("./local-tools-impl/LTool_OpenTextSnippet"); const LTool_CommitAndPushGotchaData_1 = require("./local-tools-impl/LTool_CommitAndPushGotchaData"); const LTool_CopyVscodeFile_1 = require("./local-tools-impl/LTool_CopyVscodeFile"); const tsyringe_1 = require("tsyringe"); const pjson = require('../package.json'); class App { constructor() { this.srv_LocalToolsDispatcher = tsyringe_1.container.resolve(LocalToolsDispatcher_1.LocalToolsDispatcher); } ShowStartupInfo() { console.log(chalk_1.default.cyanBright(figlet_1.default.textSync("Gtch`", { horizontalLayout: "default" }))); console.log(pjson.version); console.log(`PID: ${process.pid}`); console.log('........................................'); console.log('@' + decova_filesystem_1.DirectoryInfo.Current.FullName); console.log('........................................'); } RegisterLocalTools() { this.srv_LocalToolsDispatcher.RegisterLocalTools(tsyringe_1.container.resolve(LTool_IncrementPatch_1.LTool_IncrementPatch), tsyringe_1.container.resolve(LTool_CheckGotchaLocalRepo_1.LTool_CheckOutGotchaLocalRepo), tsyringe_1.container.resolve(LTool_EditWalkthroughs_1_1.LTool_EditWalkthroughs), tsyringe_1.container.resolve(LTool_EditSnippets_1.LTool_EditSnippets), tsyringe_1.container.resolve(LTool_EditLaunchFile_1.LTool_EditLaunchFile), tsyringe_1.container.resolve(LTool_ManageTextSnippets_1.LTool_ManageTextSnippets), tsyringe_1.container.resolve(LTool_OpenTextSnippet_1.LTool_OpenTextSnippet), tsyringe_1.container.resolve(LTool_CommitAndPushGotchaData_1.LTool_CommitAndPushGotchaData), tsyringe_1.container.resolve(LTool_CopyVscodeFile_1.LTool_CopyVscodeFile)); } DispatchAsync() { return __awaiter(this, void 0, void 0, function* () { const arg0 = decova_environment_1.Process.Current.Args.xFirstOrNull(); if (arg0) { const nextArgs = String.xJoin('', decova_environment_1.Process.Current.Args.xSkip(1)); const isLocalTool = yield this.srv_LocalToolsDispatcher.TryAimToolAsync(arg0, nextArgs); if (isLocalTool == false) { new ExecFromSheet_1.ExecFromSheet().TakeControlAsync(decova_environment_1.Process.Current.Args.xFirstOrNull()); } } else { new ExecFromSheet_1.ExecFromSheet().TakeControlAsync(decova_environment_1.Process.Current.Args.xFirstOrNull()); } }); } StartAsync() { return __awaiter(this, void 0, void 0, function* () { try { this.ShowStartupInfo(); this.RegisterLocalTools(); yield this.DispatchAsync(); } catch (err) { console.error(err); } }); } } exports.App = App; try { new App().StartAsync(); } catch (err) { console.error(err); } //# sourceMappingURL=App.js.map