UNPKG

@designliquido/foles

Version:

Linguagem de folhas de estilo para documentos em geral em português

51 lines (49 loc) 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validarValores = validarValores; const globais_1 = require("../atributos/globais"); const capturar_valor_1 = require("./capturar-valor"); function validarValores(nomePropriedade, valores, valoresAceitos, valoresExtra) { const valorModificador = (0, capturar_valor_1.capturarValor)(valores); let valoresCss = []; if (valoresAceitos) { valoresCss = Object.values(valoresAceitos); } const valoresGlobaisCss = Object.values(globais_1.valoresGlobais); valoresGlobaisCss.forEach((valor) => valoresCss.push(valor)); // Eliminando valores duplicados valoresCss = [...new Set(valoresCss)]; if (valoresExtra === null || valoresExtra === undefined) { if (!(valorModificador.valor in valoresAceitos) && !(valoresCss.includes(valorModificador.valor)) && !(valorModificador.valor in globais_1.valoresGlobais)) { throw new Error(`Modificador ou variável '${nomePropriedade}' com valor ${valorModificador.valor} inválido. Valores FolES aceitos: ${Object.keys(valoresAceitos).reduce((final, atual) => (final += `, ${atual}`))}, ${Object.keys(globais_1.valoresGlobais).reduce((final, atual) => (final += `, ${atual}`))}. Valores CSS aceitos: ${valoresCss.reduce((final, atual) => (final += `, ${atual}`))}.`); } } else { let metodoValido = false; if (valorModificador.metodo) { for (let index = 0; index < valoresExtra.length; index++) { metodoValido = valorModificador.valor === valoresExtra[index]; if (metodoValido) break; } } if (!(valorModificador.valor in valoresAceitos) && !(valorModificador.valor in valoresCss) && !metodoValido && !(valorModificador.valor in globais_1.valoresGlobais)) { throw new Error(`Modificador ou variável '${nomePropriedade}' com valor ${valorModificador.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}`))}. Valores CSS aceitos: ${valoresCss.reduce((final, atual) => (final += `, ${atual}`))}.`); } } } //# sourceMappingURL=comum.js.map