UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

75 lines 2.73 kB
import type { AllowedField } from "./vocab.types"; /** * Erro de validação para um campo do vocabulário. * * Representa um problema encontrado ao validar um valor enviado para um campo * permitido pela API. Contém o nome do campo (conforme AllowedField) e uma * mensagem legível explicando o erro. * * @public */ export interface ValidationError { field: AllowedField; message: string; } /** * Valida um único valor contra a configuração do campo. * * Aplica regras definidas em FIELD_CONFIGS (tipo, obrigatoriedade, tamanho, * padrões regexp). Retorna um ValidationError quando a validação falha ou * null quando o valor é válido. * * @param apiName Nome do campo exposto pela API (AllowedField). * @param value Valor a ser validado (pode ser undefined/null). * @returns ValidationError | null - erro de validação ou null se válido. * @public */ export declare function validateFieldValue(apiName: AllowedField, value: unknown): ValidationError | null; /** * Valida um payload parcial (mapa apiName -> valor). * * Percorre as chaves do payload, assegura que cada campo é permitido e usa * validateFieldValue para validar os valores. Retorna uma lista de erros (vazia * quando não há problemas). * * @param payload Objeto contendo pares nomeDoCampo -> valor (parcial). * @returns ValidationError[] - lista de erros encontrados (pode ser vazia). * @public */ export declare function validatePayload(payload: Record<string, unknown>): ValidationError[]; /** * Converte um payload da API para atributos compatíveis com Active Directory. * * Primeiro valida o payload usando validatePayload. Se houver erros, retorna * { ok: false, errors }. Caso contrário, mapeia os nomes dos campos da API * para os nomes de atributos do AD conforme AD_FIELD_MAPPING e retorna * { ok: true, attrs }. * * @param payload Objeto contendo pares nomeDoCampo -> valor a serem convertidos. * @returns { ok: true, attrs: Record<string, unknown> } em caso de sucesso ou * { ok: false, errors: ValidationError[] } quando há erros de validação. * @public */ export declare function toAdAttributes(payload: Record<string, unknown>): { ok: boolean; errors: ValidationError[]; attrs?: never; } | { ok: boolean; attrs: Record<string, unknown>; errors?: never; }; /** * Coleção padrão de utilitários para validar e converter vocabulário. * * Exporta as funções principais para uso em outros módulos. * * @public */ declare const _default: { validateFieldValue: typeof validateFieldValue; validatePayload: typeof validatePayload; toAdAttributes: typeof toAdAttributes; }; export default _default; //# sourceMappingURL=vocab.utils.d.ts.map