UNPKG

@newbiz/common-libs

Version:

신사업개발실 서비스/어드민 프론트엔드 공통 라이브러리

27 lines (26 loc) 851 B
export interface IBranchItem<E> { id: string | number; label: string; parent: string[] | number[]; extra?: E; } export interface IBranchItemTree<E> extends IBranchItem<E> { depth: number; children?: this[]; [key: string]: any; } type BranchOption = { childrenKey: string; }; export declare class Branch<E> { private readonly rawData; private readonly builtData; private readonly option; private readonly isValidRawData; constructor(rawData: IBranchItem<E>[], option?: BranchOption); build<R extends IBranchItemTree<E>>(): R | IBranchItemTree<E>; getTree<R extends IBranchItemTree<E>>(): R | IBranchItemTree<E> | null; getRawList<R extends IBranchItem<E>>(): R[] | IBranchItem<E>[]; getNodes<R extends IBranchItemTree<E>>(id?: string): R[] | IBranchItemTree<E>[] | null; } export {};