@brasil-interface/cli
Version:
153 lines • 7.79 kB
JavaScript
;
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