UNPKG

dbmaster-cli

Version:

Tool for converting tables between Fifa Soccer Games

58 lines (57 loc) 2.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CompareAction = exports.CompareMode = void 0; const chalk_1 = __importDefault(require("chalk")); const fifa_config_1 = require("../src/fifa-config"); const interfaces_1 = require("../src/interfaces"); const abstract_action_1 = require("./abstract.action"); var CompareMode; (function (CompareMode) { CompareMode["Column"] = "column"; CompareMode["Default"] = "default"; CompareMode["Order"] = "order"; CompareMode["Range"] = "range"; CompareMode["Type"] = "type"; })(CompareMode = exports.CompareMode || (exports.CompareMode = {})); class CompareAction extends abstract_action_1.AbstractAction { async handle(inputs, options) { const left = options.find((option) => option.name === 'left').value; const right = options.find((option) => option.name === 'right').value; const table = options.find((option) => option.name === 'table').value; const mode = options.find((option) => option.name === 'mode').value; if (!Object.values(interfaces_1.Table).includes(table)) { console.error('Invalid argument "table".'); return; } const compare = new fifa_config_1.CompareFifaConfig(left, right); switch (mode) { case CompareMode.Column: console.info(chalk_1.default.green(`[${table}]`), chalk_1.default.yellow('Is the column present?')); compare.printDiffColumns(table); break; case CompareMode.Default: console.info(chalk_1.default.green(`[${table}]`), chalk_1.default.yellow('What is the default value of the column?')); compare.printDiffDefaults(table); break; case CompareMode.Order: console.info(chalk_1.default.green(`[${table}]`), chalk_1.default.yellow('What is the correct order of the column?')); compare.printDiffOrder(table); break; case CompareMode.Range: console.info(chalk_1.default.green(`[${table}]`), chalk_1.default.yellow('What is the range of the integer column?')); compare.printDiffRange(table); break; case CompareMode.Type: console.info(chalk_1.default.green(`[${table}]`), chalk_1.default.yellow('What is the correct datatype of the column?')); compare.printDiffDatatype(table); break; default: console.error('Invalid argument "mode".'); break; } } } exports.CompareAction = CompareAction;