@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
41 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PosicaoDeslocamento = void 0;
const valores_1 = require("../valores");
const posicoes_1 = require("./atributos/posicoes");
const quantificadores_1 = require("./atributos/quantificadores");
const superclasse_1 = require("./superclasse");
const condicao_extra_1 = require("./validacoes/condicao-extra");
const numerica_1 = require("./validacoes/numerica");
class PosicaoDeslocamento extends superclasse_1.Modificador {
constructor(valores, pragmas, variavel) {
super(["posicao-deslocamento", "posição-deslocamento"], "offset-position", pragmas);
this.valoresAceitos = {
auto: "auto",
};
// No caso de múltiplos valores, pode receber tanto as posições básicas quanto número-quantificador
if (!variavel) {
if (valores.length > 1) {
valores.forEach((valor) => {
const arrayValores = [];
arrayValores.push(valor);
if (valor instanceof valores_1.ValorQualitativo) {
(0, condicao_extra_1.validarValoresAdicionais)("posição-deslocamento", arrayValores, posicoes_1.posicoesBasicas, this.valoresAceitos);
}
else if (valor instanceof valores_1.ValorNumerico) {
const valoresExtra = [];
Object.keys(posicoes_1.posicoesBasicas).forEach((posicao) => valoresExtra.push(posicao));
(0, numerica_1.validarValorNumerico)("posição-deslocamento", arrayValores, this.valoresAceitos, valoresExtra, quantificadores_1.unidadesMedida);
}
});
}
else {
(0, condicao_extra_1.validarValoresAdicionais)("posição-deslocamento", valores, posicoes_1.posicoesBasicas, this.valoresAceitos);
}
}
this.valores = valores;
this.variavel = variavel;
}
}
exports.PosicaoDeslocamento = PosicaoDeslocamento;
//# sourceMappingURL=posicao-deslocamento.js.map