tav-ui
Version:
34 lines (33 loc) • 1.74 kB
TypeScript
interface TreeHelperConfig {
id: string;
children: string;
pid: string;
}
declare interface Fn<T = any, R = T> {
(...arg: T[]): R;
}
export declare function listToTree<T = any>(list: any[], config?: Partial<TreeHelperConfig>): T[];
export declare function treeToList<T = any>(tree: any, config?: Partial<TreeHelperConfig>, clearParentChildren?: boolean): T;
export declare function findNode<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T | null;
export declare function findNodeAll<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T[];
export declare function findPath<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T | T[] | null;
export declare function findPathAll(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): any[];
export declare function filter<T = any>(tree: T[], func: (n: T) => boolean | string, config?: Partial<TreeHelperConfig>): T[];
export declare function forEach<T = any>(tree: T[], func: (n: T) => any, config?: Partial<TreeHelperConfig>): void;
/**
* @description: Extract tree specified structure
*/
export declare function treeMap<T = any>(treeData: T[], opt: {
children?: string;
conversion: Fn;
}): T[];
/**
* @description: Extract tree specified structure
*/
export declare function treeMapEach(data: any, { children, conversion }: {
children?: string;
conversion: Fn;
}): any;
export declare function findChildrens<T = any>(tree: T[], childrenId: string | number, func: (n: T) => boolean | string, config?: Partial<TreeHelperConfig>): T[];
export declare function findParents<T = any>(tree: T[], parentId: string | number, func: (n: T) => boolean | string, config?: Partial<TreeHelperConfig>): T[];
export {};