@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
34 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validarIdentificacaoPersonalizada = validarIdentificacaoPersonalizada;
function validarIdentificacaoPersonalizada(nomePropriedade, valor) {
// Regex para um identificador CSS válido
const validarIdentificador = /^-?[_a-zA-Z][-_a-zA-Z0-9]*$/;
// Listagem de valores globais (não permitidos)
const valoresGlobais = [
'herdar',
'inicial',
'reverter',
'reverter-camada',
'desarmar',
];
// Validações de um valor <custom-indent> válido
const validacoesIdentificador = typeof valor === "string"
&& validarIdentificador.test(valor)
&& !(valoresGlobais.includes(valor))
&& !(valor.startsWith("--"));
// Retorna erro caso não passe nas validações acima
if (!(validacoesIdentificador)) {
throw new Error(`Propriedade '${nomePropriedade}' com valor personalizado ${valor} inválido.
O valor deve seguir as regras de sintaxe de uma identificação personalizada (<custom-indent>).`);
}
}
/**
Regras principais para um <custom-ident> válido:
- Não pode ser um valor global (herdar, inicial, reverter)
- Não pode começar com um dígito.
- Não pode começar com --.
- Pode conter letras, números, traços e sublinhados.
- Pode começar com - ou _.
*/
//# sourceMappingURL=identificacao-personalizada.js.map