@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
62 lines • 2.75 kB
TypeScript
/**
* @module Base
*
* @remarks
* Este módulo reexporta as interfaces base utilizadas em todo o projeto, incluindo entidades base,
* entidades nomeadas, suporte a exclusão lógica (soft delete), contexto de auditoria e entidades auditáveis.
*
* @packageDocumentation
*/
/**
* Reexporta o tipo UUID e utilitários relacionados.
*
* @remarks
* UUID v4 é o padrão adotado para identificadores únicos a partir da versão 0.2.0.
*
* @since 0.2.0
* @packageDocumentation
*/
export type { UUID } from "./uuid.type";
export { UUID_V4_PATTERN, isUUID, assertUUID } from "./uuid.type";
/**
* Reexporta as interfaces base do módulo "base".
*
* @remarks
* Inclui tipos fundamentais como BaseEntity, NamedEntity, suporte a soft-delete,
* contexto de auditoria (AuditContext) e a entidade auditável (AuditedEntity).
* Útil para importar rapidamente os contratos de domínio em outros módulos.
*
* @packageDocumentation
*/
export type { BaseEntity } from "./base-entity.interface";
export type { NamedEntity } from "./named-entity.interface";
export type { SoftDelete } from "./soft-delete.interface";
export type { SoftDeleteExtended } from "./soft-delete-extended.interface";
export type { AuditContext } from "./audit-context.interface";
export type { AuditedEntity } from "./audited-entity.interface";
export type { CorrelationIds } from "./correlation-ids.interface";
/**
* Reexporta utilitários de tipos (type helpers).
*
* @remarks
* Contém tipos auxiliares para manipulação de payloads (Create/Update),
* transformação de datas e utilitários para obrigatoriedade/opcionalidade de campos.
*/
export type { AuditFields, WithoutAudit, WithoutId, CreatePayload, UpdatePayload, CreatePayloadWithSoftDelete, RequiredFields, RequireFields, OptionalFields, DateFields, SerializeDates, } from "./type-helpers";
/**
* Reexporta validadores de tipo (type guards).
*
* @remarks
* Funções que permitem verificar em tempo de execução se um valor implementa
* determinada interface do domínio (ex.: isBaseEntity, isAuditedEntity).
*/
export { isBaseEntity, isNamedEntity, isSoftDelete, isActive, isInactive, isAuditContext, isCorrelationIds, isAuditedEntity, isRecentlyCreated, isRecentlyUpdated, isNonEmptyArray, isNonEmptyString, } from "./type-guards";
/**
* Reexporta constantes e configurações globais do módulo base.
*
* @remarks
* Inclui limites de paginação, formatos de data, padrões de regex, mensagens de erro
* e outras constantes utilizadas ao longo do sistema.
*/
export { PAGINATION_LIMITS, SORT_ORDER, STRING_LIMITS, DATE_FORMATS, HTTP_STATUS, AUDIT_CONFIG, REGEX_PATTERNS, ERROR_MESSAGES, CACHE_CONFIG, type SortOrderType, } from "./constants";
//# sourceMappingURL=index.d.ts.map