UNPKG

@anpdgovbr/shared-types

Version:

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

58 lines 1.94 kB
import type { AllowedField } from "./vocab.types"; /** * Configuração de um campo disponível na API/vocabulário de usuário. * * Contém metadados usados para mapear nomes da API para atributos do Active Directory, * validação de formato, limites de tamanho e descrição legível do campo. * * Propriedades: * - apiName: nome do campo exposto pela API. * - adAttribute: atributo correspondente no Active Directory. * - type: tipo primitivo esperado. * - allowEmpty: indica se strings vazias são permitidas. * - description: descrição curta do propósito do campo. * - maxLength: tamanho máximo (quando aplicável). * - validation: objeto opcional com padrão (RegExp) e mensagem de erro. * * @public */ export interface FieldConfig { apiName: AllowedField; adAttribute: string; type: "string" | "number" | "boolean"; allowEmpty: boolean; description: string; maxLength?: number; validation?: { pattern?: RegExp; message?: string; }; } /** * Mapa contendo a configuração de todos os campos permitidos. * * A chave é um valor de AllowedField e o valor é a configuração completa (FieldConfig). * Usado para centralizar regras de validação e mapeamentos entre API e AD. * * @public */ export declare const FIELD_CONFIGS: Record<AllowedField, FieldConfig>; /** * Mapeamento derivado que associa o nome do campo da API ao atributo do Active Directory. * * Construído automaticamente a partir de FIELD_CONFIGS e tipado como Record<AllowedField, string>. * Útil para conversões rápidas entre representação da API e atributos do AD. * * @public */ export declare const AD_FIELD_MAPPING: Record<AllowedField, string>; /** * Export default contendo o conjunto padrão de configurações de campo. * * @example * import FIELD_CONFIGS from './vocab.config' * * @public */ export default FIELD_CONFIGS; //# sourceMappingURL=vocab.config.d.ts.map