UNPKG

@anpdgovbr/shared-types

Version:

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

91 lines 2.91 kB
/** * 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