@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
28 lines (27 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validarValorFonte = validarValorFonte;
const fontes_1 = require("../atributos/fontes");
const globais_1 = require("../atributos/globais");
const capturar_valor_1 = require("./capturar-valor");
function validarValorFonte(nomePropriedade, valores, valoresAceitos) {
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));
if (!(valorModificador.valor in fontes_1.fontes) &&
!(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(fontes_1.fontes).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=fonte.js.map