@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
131 lines (130 loc) • 4.99 kB
JavaScript
;
/**
* @fileoverview
* Ponto de entrada principal da biblioteca @anpdgovbr/shared-types (BETA)
*
* @module shared-types
* @version 0.2.2-beta.0
* @author @lucianoedipo
*
* @beta Esta é uma versão beta em desenvolvimento. Use com cautela em produção.
*
* @remarks
* Este arquivo expõe o símbolo principal "shared-types" que reexporta os tipos,
* DTOs, enums, interfaces e contratos base do projeto. Consumidores devem importar
* os tipos diretamente deste módulo para garantir contratos consistentes entre
* diferentes pacotes e serviços da ANPD.
*
* Exemplo de uso:
* ```ts
* import { UserDto, TipoControlador } from "@anpdgovbr/shared-types";
* ```
*
* @public
* @packageDocumentation
*
* @see {@link ./dto} para Data Transfer Objects (DTOs)
* @see {@link ./enums} para enums utilizados no domínio
* @see {@link ./interfaces} para interfaces utilitárias e de resposta
* @see {@link ./base} para entidades e contratos base
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
// ============================================================================
// Data Transfer Objects (DTOs)
// ============================================================================
/**
* Exporta todos os Data Transfer Objects (DTOs) utilizados para transferência
* de dados entre camadas da aplicação.
*
* @remarks
* Os DTOs aqui reexportados definem contratos de entrada/saída entre
* serviços, controladores e camadas de persistência. Devem ser tipos
* leves e serializáveis, sem lógica de negócio.
*
* @public
* @since 0.1.7-beta-x
*/
__exportStar(require("./dto"), exports);
// ============================================================================
// Enums e Tipos de Domínio
// ============================================================================
/**
* Exporta enums que representam constantes e valores fixos utilizados no domínio da aplicação.
*
* @remarks
* Os enums reexportados centralizam valores constantes (ex.: status, tipos e ações)
* e incluem helpers de validação/asserção/coerção. Preferir usar os helpers
* tipados ao lidar com valores externos.
*
* @public
* @since 0.1.7-beta-x
*/
__exportStar(require("./enums"), exports);
// ============================================================================
// Interfaces Utilitárias
// ============================================================================
/**
* Exporta interfaces utilitárias e de resposta para padronização de contratos entre módulos.
*
* @remarks
* Estas interfaces incluem formatos de resposta padrão, interfaces auxiliares
* (p.ex. paginação, metadados) e contratos compartilhados que facilitam a
* interoperabilidade entre diferentes módulos da aplicação.
*
* @public
* @since 0.1.7-beta-x
*/
__exportStar(require("./interfaces"), exports);
// ============================================================================
// Entidades e Contratos Base
// ============================================================================
/**
* Exporta entidades e contratos base para reutilização e padronização de entidades de domínio.
*
* @remarks
* Contém classes/contratos base, tipos de entidade comum e utilitários de
* modelagem que devem ser reutilizados por módulos de domínio para manter
* consistência estrutural.
*
* @public
* @since 0.1.7-beta-x
*/
__exportStar(require("./base"), exports);
// ============================================================================
// Domínios Específicos
// ============================================================================
/**
* Exporta tipos canônicos para domínios específicos (ex.: RH).
*
* @remarks
* Inclui catálogos de cargos/funções e estruturas organizacionais, vocabulários e
* contratos usados por aplicativos de RH. Não inclui lógica de UI.
*
* @public
* @since 0.1.8
*/
__exportStar(require("./domain"), exports);
// ============================================================================
// Tipos Transversais (Integrações)
// ============================================================================
/**
* Exporta tipos transversais usados em integrações (ex.: Microsoft Graph).
*
* @public
* @since 0.1.8
*/
__exportStar(require("./transversal"), exports);