@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
43 lines • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validarValores = validarValores;
const metodo_css_1 = require("../../valores/metodos/css/metodo-css");
const metodo_1 = require("../../valores/metodos/foles/metodo");
const globais_1 = require("../atributos/globais");
function validarValores(nomePropriedade, valor, valoresAceitos, valoresExtra) {
let metodoResolvido = "";
if (valor instanceof metodo_1.Metodo) {
metodoResolvido = valor.traducao;
}
else if (valor instanceof metodo_css_1.MetodoCss) {
metodoResolvido = valor.traducao;
}
else {
metodoResolvido = valor;
}
if (valoresExtra === undefined) {
if (!(metodoResolvido in valoresAceitos) && !(metodoResolvido in globais_1.valoresGlobais)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor ${valor} inválido. Valores aceitos:
${Object.keys(valoresAceitos).reduce((final, atual) => (final += `, ${atual}`))},
${Object.keys(globais_1.valoresGlobais).reduce((final, atual) => (final += `, ${atual}`))}.`);
}
}
else {
let metodoValido = false;
for (let index = 0; index < valoresExtra.length; index++) {
metodoValido = valor === valoresExtra[index];
if (metodoValido) {
break;
}
}
if (!(metodoResolvido in valoresAceitos) &&
!metodoValido &&
!(metodoResolvido in globais_1.valoresGlobais)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor ${valor} inválido. Valores aceitos:
${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=comum.js.map