UNPKG

@backtest/command-line

Version:

This project is a CLI build around Backtest, a library for trading developers

63 lines 2.68 kB
#!/usr/bin/env node "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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const portals_1 = require("./helpers/portals"); const headers_1 = require("./infra/headers"); const colors_1 = require("./infra/colors"); const main_1 = require("./portals/historical-data/main"); const main_2 = require("./portals/strategies/main"); const view_results_1 = require("./portals/results/view-results"); function main() { return __awaiter(this, void 0, void 0, function* () { console.clear(); let exit = false; let portalReturn = { error: false, data: '' }; const choices = [ '📚 Historical Candle Data', '💎 Trading Strategies', '📜 View Saved Trading Results', (0, colors_1.colorBack)('👈 Exit') ]; while (!exit) { (0, headers_1.headerMain)(); yield (0, portals_1.handlePortalReturn)(portalReturn); const responseCLI = yield (0, portals_1.interactCLI)({ type: 'autocomplete', message: 'Choose what to do:', choices }); if (responseCLI.includes('📚')) portalReturn = yield (0, main_1.mainHistoricalDataPortal)(); else if (responseCLI.includes('💎')) portalReturn = yield (0, main_2.mainStrategyPortal)(); else if (responseCLI.includes('📜')) portalReturn = yield (0, view_results_1.viewResultsPortal)(); else if (responseCLI.includes('👈')) { exit = true; portalReturn.error = false; portalReturn.data = ''; } console.clear(); } console.log((0, colors_1.colorBye)(`See you next time, bye bye ✨`)); console.log(); }); } main() .catch((error) => { console.log(error); process.exit(1); }) .finally(() => { process.exit(0); }); //# sourceMappingURL=main.js.map