@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
58 lines • 1.94 kB
TypeScript
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