@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
42 lines • 2.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validarValorNumerico = validarValorNumerico;
const globais_1 = require("../atributos/globais");
function validarValorNumerico(nomePropriedade, valor, valoresAceitos, valoresExtra) {
if (valoresAceitos === undefined && valoresExtra === undefined) {
if (Number.isNaN(parseInt(valor)) && !(valor in globais_1.valoresGlobais)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor ${valor} inválido. Valores aceitos:
número-quantificador,
${Object.keys(globais_1.valoresGlobais).reduce((final, atual) => (final += `, ${atual}`))}.`);
}
}
if (valoresAceitos !== undefined && valoresExtra === undefined) {
if (Number.isNaN(parseInt(valor)) &&
!(valor in valoresAceitos) &&
!(valor in globais_1.valoresGlobais)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor ${valor} inválido. Valores aceitos:
número-quantificador,
${Object.keys(valoresAceitos).reduce((final, atual) => (final += `, ${atual}`))},
${Object.keys(globais_1.valoresGlobais).reduce((final, atual) => (final += `, ${atual}`))}.`);
}
}
if (valoresAceitos !== undefined && valoresExtra !== undefined) {
let metodoValido = false;
for (let index = 0; index < valoresExtra.length; index++) {
if (metodoValido === false) {
metodoValido = valor["traducao"] === valoresExtra[index];
}
}
if (Number.isNaN(parseInt(valor)) &&
!(valor in valoresAceitos) &&
!metodoValido &&
!(valor in globais_1.valoresGlobais)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor ${valor} inválido. Valores aceitos:
número-quantificador,
${Object.keys(valoresAceitos).reduce((final, atual) => (final += `, ${atual}`))},
${valoresExtra.reduce((final, atual) => (final += `, ${atual}`))},
${Object.keys(globais_1.valoresGlobais).reduce((final, atual) => (final += `, ${atual}`))}.`);
}
}
}
//# sourceMappingURL=numerica.js.map