@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
91 lines • 2.91 kB
TypeScript
/**
* Utilitários para conversão e mapeamento de unidades organizacionais.
*
* @module departments.helpers
*
* @remarks
* Fornece helpers para:
* - converter listas planas de unidades em nós de árvore (DepartmentTreeNode);
* - listagem de filhos por sigla ou por código do pai;
* - mapeamento de UnidadeFlat para DTOs simples usados pela UI/clients.
*
* @public
*/
import type { DepartmentDto, DepartmentOptionDto } from "./dto/department.dto";
import type { UnidadeFlat } from "./departments.types";
import type { DepartmentTreeNode } from "./tree.types";
/**
* Converte uma lista plana de UnidadeFlat em uma lista de nós de árvore (DepartmentTreeNode),
* ligando cada nó ao seu pai pelo código e populando a propriedade children.
*
* @param items Lista plana de unidades. Quando não fornecida, usa o conjunto padrão `UNIDADES_FLAT`.
* @returns Array de nós raiz (ou seja, nós sem parentId) prontos para uso em estruturas em árvore.
*
* @example
* ```ts
* const roots = toTreeNodes(myUnidades)
* // cada root tem .children[] contendo os filhos diretos
* ```
*
* @public
*/
export declare function toTreeNodes(items?: UnidadeFlat[]): DepartmentTreeNode[];
/**
* Retorna os filhos diretos da unidade identificada pela sigla.
*
* @param sigla Sigla da unidade cujo filhos serão retornados.
* @returns Vetor de UnidadeFlat representando os filhos diretos; retorna [] se não encontrada.
*
* @example
* ```ts
* const filhos = listarFilhosPorSigla('DG')
* ```
*
* @public
*/
export declare function listarFilhosPorSigla(sigla: string): UnidadeFlat[];
/**
* Retorna todas as unidades cuja propriedade pai possua o código informado.
*
* @param codigo Código do pai a ser buscado.
* @returns Lista de UnidadeFlat cujo pai.codigo === codigo.
*
* @example
* ```ts
* const filhos = listarPorPaiCodigo('1000')
* ```
*
* @public
*/
export declare function listarPorPaiCodigo(codigo: string): UnidadeFlat[];
/**
* Mapeia uma UnidadeFlat para um objeto DepartmentDto leve, adequado para envio a clientes.
*
* @param u UnidadeFlat de origem.
* @returns DepartmentDto contendo os campos básicos e referências por sigla.
*
* @example
* ```ts
* const dto = mapToDepartmentDto(unidade)
* // { codigo, sigla, nome, tipo, nivel, paiSigla, filhosSiglas }
* ```
*
* @public
*/
export declare function mapToDepartmentDto(u: UnidadeFlat): DepartmentDto;
/**
* Converte uma UnidadeFlat em um DepartmentOptionDto usado em componentes de seleção (select/options).
*
* @param u UnidadeFlat a ser convertida.
* @returns DepartmentOptionDto com label formatado (ex: "SIG - Nome da Unidade").
*
* @example
* ```ts
* const option = mapToOption(unidade)
* // { codigo, sigla, nome, label: "SIG - Nome" }
* ```
*
* @public
*/
export declare function mapToOption(u: UnidadeFlat): DepartmentOptionDto;
//# sourceMappingURL=departments.helpers.d.ts.map