UNPKG

@designliquido/foles

Version:

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

55 lines (53 loc) 3.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validarValorCor = validarValorCor; const hexadecimal_cor_1 = require("../../valores/metodos/foles/hexadecimal-cor"); const cores_1 = require("../atributos/cores"); const globais_1 = require("../atributos/globais"); const capturar_valor_1 = require("./capturar-valor"); function validarValorCor(nomePropriedade, valores, valoresAceitos) { const valorModificador = (0, capturar_valor_1.capturarValor)(valores); const valoresCss = Object.values(cores_1.cores); const valoresGlobaisCss = Object.values(globais_1.valoresGlobais); valoresGlobaisCss.forEach((valor) => valoresCss.push(valor)); if (valorModificador.metodo) { if (valores[0] instanceof hexadecimal_cor_1.HexadecimalCor) { const codigoHexadecimal = valores[0]["codigo"]; if (codigoHexadecimal.length !== 3 && codigoHexadecimal.length !== 6 && codigoHexadecimal.length !== 8) { throw new Error(`Modificador ou variável '${nomePropriedade}' com hexadecimal inválido: '${codigoHexadecimal}'. Hexadecimais devem ter 3, 6 ou 8 caracteres após a cerquilha, sendo cada caracter de 0 até 9 ou de A até F.`); } } else if (!["rgb", "rgba", "hsl", "hsla"].includes(valores[0].constructor.name.toLowerCase())) { throw new Error(`Modificador ou variável '${nomePropriedade}' com método '${valores[0].constructor.name}' inválido. Métodos aceitos: rgb(), rgba(), hsl(), hsla().`); } } else { if (valoresAceitos === null || valoresAceitos === undefined) { if (!(valorModificador.valor in cores_1.cores) && !(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(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 cores_1.cores) && !(valoresCss.includes(valorModificador.valor)) && !(valorModificador.valor in valoresAceitos) && !(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(cores_1.cores).reduce((final, atual) => (final += `, ${atual}`))}, ${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}`))}.`); } } } } //# sourceMappingURL=cor.js.map