UNPKG

@brasil-interface/cli

Version:
153 lines 7.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("@brasil-interface/utils"); const commander_1 = require("commander"); const input_helper_1 = require("../../helpers/input-helper"); const output_helper_1 = require("../../helpers/output-helper"); const inscricaoEstadual = commander_1.program .command("inscricao-estadual") .description("Inscrição Estadual utilities."); const ESTADOS_STRATEGY = new Map([ ["AC", utils_1.InscricaoEstadual.AC], ["AL", utils_1.InscricaoEstadual.AL], ["AP", utils_1.InscricaoEstadual.AP], ["AM", utils_1.InscricaoEstadual.AM], ["BA", utils_1.InscricaoEstadual.BA], ["CE", utils_1.InscricaoEstadual.CE], ["DF", utils_1.InscricaoEstadual.DF], ["ES", utils_1.InscricaoEstadual.ES], ["GO", utils_1.InscricaoEstadual.GO], ["MA", utils_1.InscricaoEstadual.MA], ["MT", utils_1.InscricaoEstadual.MT], ["MS", utils_1.InscricaoEstadual.MS], ["MG", utils_1.InscricaoEstadual.MG], ["PA", utils_1.InscricaoEstadual.PA], ["PB", utils_1.InscricaoEstadual.PB], ["PR", utils_1.InscricaoEstadual.PR], ["PE", utils_1.InscricaoEstadual.PE], ["PI", utils_1.InscricaoEstadual.PI], ["RJ", utils_1.InscricaoEstadual.RJ], ["RN", utils_1.InscricaoEstadual.RN], ["RS", utils_1.InscricaoEstadual.RS], ["RO", utils_1.InscricaoEstadual.RO], ["RR", utils_1.InscricaoEstadual.RR], ["SC", utils_1.InscricaoEstadual.SC], ["SP", utils_1.InscricaoEstadual.SP], ["SE", utils_1.InscricaoEstadual.SE], ["TO", utils_1.InscricaoEstadual.TO], ]); inscricaoEstadual .command("validate <inscricaoEstadualList>") .addArgument(new commander_1.Argument("<estado>", "Estado da Inscrição Estadual.").choices(Array.from(ESTADOS_STRATEGY.keys()))) .description("PT-BR: Valida um número de Inscrição Estadual. EN-US: Validate an Inscrição Estadual number.") .option("-i, --input <filepath>", "PT-BR: Caminho do arquivo de input. EN-US: Input file path") .option("-o, --output <filepath>", "PT-BR: Caminho do arquivo de output. EN-US: Output file path") .option("-c, --copy", "PT-BR: Copia o resultado para a área de transferência. EN-US: Copy the result to the clipboard.") .action((inscricaoEstadualList, estado, options) => { const strategy = ESTADOS_STRATEGY.get(estado); if (!strategy) { throw new Error("PT-BR: Estado inválido. EN-US: Invalid state."); } const { input, output, copy } = options; const inscricaoEstadualArray = input_helper_1.InputHelper.getArrayFromInputAlternativesOrFail(inscricaoEstadualList, { input, }); const result = inscricaoEstadualArray.map((inscricaoEstadual) => { return { value: inscricaoEstadual, isValid: strategy.isValid(inscricaoEstadual), }; }); output_helper_1.OutputHelper.handleResultOutputBasedOnOptions(result, { output, isJson: true, copyToClipboard: copy, }); }); inscricaoEstadual .command("generate") .description("PT-BR: Gera um número de Inscrição Estadual. EN-US: Generate an Inscrição Estadual number.") .addArgument(new commander_1.Argument("<estado>", "Estado da Inscrição Estadual.").choices(Array.from(ESTADOS_STRATEGY.keys()))) .option("-a --amount <amount>", "PT-BR: Gera uma quantidade de números de Inscrição Estadual. EN-US: Generate an amount of Inscrição Estadual numbers.", "1") .option("-m --mask", "PT-BR: Formata o número de Inscrição Estadual. EN-US: Mask the Inscrição Estadual number.") .option("-o --output <filepath>", "PT-BR: Salva o resultado (array) em um arquivo JSON. EN-US: Save the result (array) in a JSON file.") .option("-c, --copy", "PT-BR: Copia o resultado para a área de transferência. EN-US: Copy the result to the clipboard.") .action((estado, options) => { const { amount, mask, output, copy } = options; const strategy = ESTADOS_STRATEGY.get(estado); if (!strategy) { throw new Error("PT-BR: Estado inválido. EN-US: Invalid state."); } const inscricaoEstadualList = []; for (let i = 0; i < parseInt(amount); i++) { const inscricaoEstadual = mask ? strategy.generateMasked() : strategy.generate(); inscricaoEstadualList.push(inscricaoEstadual); } output_helper_1.OutputHelper.handleResultOutputBasedOnOptions(inscricaoEstadualList, { output, isJson: true, copyToClipboard: copy, }); }); inscricaoEstadual .command("mask <inscricaoEstadualList>") .description("PT-BR: Aplica uma máscara a um número de Inscrição Estadual. EN-US: Masks an Inscrição Estadual number.") .addArgument(new commander_1.Argument("<estado>", "Estado da Inscrição Estadual.").choices(Array.from(ESTADOS_STRATEGY.keys()))) .option("-s --sensitive", "PT-BR: Trata o número de Inscrição Estadual como sensível. Adicionando asteriscos no lugar de alguns caracteres. EN-US: Treat the Inscrição Estadual number as sensitive. Adding asterisks in place of some characters.") .option("-i, --input <filepath>", "PT-BR: Caminho do arquivo de input. EN-US: Input file path") .option("-o, --output <filepath>", "PT-BR: Caminho do arquivo de output. EN-US: Output file path") .option("-c, --copy", "PT-BR: Copia o resultado para a área de transferência. EN-US: Copy the result to the clipboard.") .action((inscricaoEstadualList, estado, options) => { const strategy = ESTADOS_STRATEGY.get(estado); if (!strategy) { throw new Error("PT-BR: Estado inválido. EN-US: Invalid state."); } const { sensitive, input, output, copy } = options; const inscricaoEstadualArray = input_helper_1.InputHelper.getArrayFromInputAlternativesOrFail(inscricaoEstadualList, { input, }); const result = inscricaoEstadualArray.map((inscricaoEstadual) => { return { value: inscricaoEstadual, masked: sensitive ? strategy.maskSensitive(inscricaoEstadual) : strategy.mask(inscricaoEstadual), }; }); output_helper_1.OutputHelper.handleResultOutputBasedOnOptions(result, { output, isJson: true, copyToClipboard: copy, }); }); inscricaoEstadual .command("unmask <inscricaoEstadualList>") .description("PT-BR: Remove a máscara de um número de Inscrição Estadual. EN-US: Removes the mask from an Inscrição Estadual number.") .addArgument(new commander_1.Argument("<estado>", "Estado da Inscrição Estadual.").choices(Array.from(ESTADOS_STRATEGY.keys()))) .option("-i, --input <filepath>", "PT-BR: Caminho do arquivo de input. EN-US: Input file path") .option("-o, --output <filepath>", "PT-BR: Caminho do arquivo de output. EN-US: Output file path") .option("-c, --copy", "PT-BR: Copia o resultado para a área de transferência. EN-US: Copy the result to the clipboard.") .action((inscricaoEstadualList, estado, options) => { const strategy = ESTADOS_STRATEGY.get(estado); if (!strategy) { throw new Error("PT-BR: Estado inválido. EN-US: Invalid state."); } const { input, output, copy } = options; const inscricaoEstadualArray = input_helper_1.InputHelper.getArrayFromInputAlternativesOrFail(inscricaoEstadualList, { input, }); const result = inscricaoEstadualArray.map((inscricaoEstadual) => { return { value: inscricaoEstadual, masked: strategy.unmask(inscricaoEstadual), }; }); output_helper_1.OutputHelper.handleResultOutputBasedOnOptions(result, { output, isJson: true, copyToClipboard: copy, }); }); //# sourceMappingURL=inscricao-estadual.js.map