@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
39 lines • 1.25 kB
TypeScript
/**
* Tipos utilitários para árvores genéricas.
* Úteis para domínios que modelam árvores (RH, orgs, categorias, etc.).
*
* @fileoverview
* Utilitários de tipagem para representar nós de uma estrutura em árvore.
* Os tipos são intencionados a ser leves e reutilizáveis em múltiplos domínios.
*
* @public
*/
export interface TreeNode<T> {
/**
* Identificador único do nó dentro da árvore.
*
* Deve ser suficiente para diferenciar nós irmãos e permitir buscas/associações.
*/
id: string;
/**
* Payload associado a este nó.
*
* @typeParam T - Tipo dos dados armazenados no nó (p.ex. informações de cargo, categoria, metadata).
* Pode ser undefined quando o nó atua apenas como marcador estrutural.
*/
data?: T;
/**
* Identificador do nó pai.
*
* Pode ser undefined para nós raiz. Usado para reconstruir hierarquias a partir de listas planas.
*/
parentId?: string;
/**
* Filhos diretos deste nó.
*
* Opcional para permitir representações tanto em forma plana (lista com parentId)
* quanto em forma de árvore aninhada.
*/
children?: TreeNode<T>[];
}
//# sourceMappingURL=tree.interface.d.ts.map