UNPKG

@designliquido/foles

Version:

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

74 lines (70 loc) 3.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validarMultiplosQualitativos = validarMultiplosQualitativos; const cores_1 = require("../atributos/cores"); const estilo_1 = require("../atributos/estilo"); const globais_1 = require("../atributos/globais"); const capturar_valor_1 = require("./capturar-valor"); const quantificador_1 = require("./quantificador"); function validarMultiplosQualitativos(nomePropriedade, valores, valoresAceitos, quantificadoresAceitos, quantificadoresAceitos2) { const valorModificador = (0, capturar_valor_1.capturarValor)(valores); const valorTipado = valores[0]; if (valorModificador.numerico && quantificadoresAceitos && valorTipado.quantificador) { if (quantificadoresAceitos2) quantificadoresAceitos = Object.assign(Object.assign({}, quantificadoresAceitos), quantificadoresAceitos2); (0, quantificador_1.validarQuantificador)(nomePropriedade, valorTipado.quantificador, quantificadoresAceitos); } let validaçõesCor = true; if (valorModificador.metodo) { validaçõesCor = false; } let valoresCss = []; if (valoresAceitos) { valoresCss = Object.values(valoresAceitos); } const valoresCorCss = Object.values(cores_1.cores); valoresCorCss.forEach((valor) => valoresCss.push(valor)); const valoresEstiloCss = Object.values(estilo_1.estilos); valoresEstiloCss.forEach((valor) => valoresCss.push(valor)); const valoresGlobaisCss = Object.values(globais_1.valoresGlobais); valoresGlobaisCss.forEach((valor) => valoresCss.push(valor)); // Eliminando valores duplicados valoresCss = [...new Set(valoresCss)]; if (valoresAceitos === null) { if (validaçõesCor && typeof valorModificador.valor !== 'number' && !(valorModificador.valor in estilo_1.estilos) && !(valorModificador.valor in cores_1.cores) && !(valorModificador.valor in globais_1.valoresGlobais) && !(valoresCss.includes(valorModificador.valor))) { throw new Error(`Modificador ou variável '${nomePropriedade}' com valor ${valorModificador.valor} inválido. Valores aceitos: número-quantificador (ex.: 12px); Valores FolEs aceitos: ${Object.keys(estilo_1.estilos).reduce((final, atual) => (final += `, ${atual}`))}, ${Object.keys(cores_1.cores).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 { if (!(valorModificador.valor in valoresAceitos) && validaçõesCor && typeof valorModificador.valor !== 'number' && !(valorModificador.valor in estilo_1.estilos) && !(valorModificador.valor in cores_1.cores) && !(valorModificador.valor in globais_1.valoresGlobais) && !(valoresCss.includes(valorModificador.valor))) { throw new Error(`Modificador ou variável '${nomePropriedade}' com valor ${valorModificador.valor} inválido. Valores aceitos: número-quantificador (ex.: 12px); Valores FolEs aceitos: ${Object.keys(valoresAceitos).reduce((final, atual) => (final += `, ${atual}`))}, ${Object.keys(estilo_1.estilos).reduce((final, atual) => (final += `, ${atual}`))}, ${Object.keys(cores_1.cores).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=multiplos-qualitativos.js.map