xiaohejs
Version:
🎈 小何同学的JavaScript工具箱
38 lines (37 loc) • 1.08 kB
TypeScript
import { IObjectRecord } from "../types.js";
/**
* 树形结构数组转扁平数组-配置项
*
* @since 0.0.4
*/
interface ITree2FlatOptions<T> {
/**
* 子节点集合属性名
*/
readonly childrenKey?: string;
/**
* 节点数据处理器
*
* @param item 当前节点
*/
readonly processor?: (item: T) => T;
}
/**
* 树形结构数组转扁平数组-默认配置项
*
* @since 0.0.4
*/
declare const DefaultTree2FlatOptions: ITree2FlatOptions<any>;
/**
* 树形结构数组转扁平数组
*
* @since 0.0.4
* @template T
* @param [array] 树形结构数组
* @param [options] 配置项
* @param [options.childrenKey="children"] 子节点集合属性名
* @param [options.processor=(item)=>(item)] 节点数据处理器
* @returns {T[]} 扁平数组
*/
declare function tree2flat<T extends IObjectRecord>(array: T[], options?: ITree2FlatOptions<T>): T[];
export { ITree2FlatOptions, DefaultTree2FlatOptions, tree2flat };