UNPKG

@anpdgovbr/shared-types

Version:

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

62 lines 2.75 kB
/** * @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