@vtj/base
Version:
VTJ 是一款基于 Vue3 + Typescript 的低代码页面可视化设计器。内置低代码引擎、渲染器和代码生成器,面向前端开发者,开箱即用。 无缝嵌入本地开发工程,不改变前端开发流程和编码习惯。
114 lines (113 loc) • 2.81 kB
TypeScript
/**
* 数组转Map
* @param data
* @param prop
* @returns
*/
export declare function arrayToMap<T>(data: T[], prop: keyof T): Map<any, T>;
/**
* Map转键值对
* @param map
* @returns
*/
export declare function mapToObject<V = any>(map: Map<any, V>): Record<any, V>;
/**
* 数组转键值对
* @param data
* @param key
* @param value
* @returns
*/
export declare function arrayToKv(data?: Record<string, any>[], key?: string, value?: string): Record<string, any>;
/**
* 键值对转数组
* @param data
* @param key
* @param value
* @returns
*/
export declare function kvToArray(data?: Record<string, any>, key?: string, value?: string): {
[key]: string;
[value]: any;
}[];
/**
* 数组去重
* @param array
* @param prop
* @returns
*/
export declare function dedupArray<T = any>(array: T[], prop?: keyof T): T[];
/**
* 转换数组
* @param maybeArray
* @returns
*/
export declare function toArray<T = any>(maybeArray?: T | T[]): T[];
/**
* 压缩对称,清除值为undefined或null的属性
* @param obj
* @returns
*/
export declare function zipObject(obj: Record<string, any>): Record<string, any>;
/**
* 对象排除属性
* @param target 需要处理的对象
* @param keys 需要排除的属性名称
* @returns
*/
export declare function omit<T extends Record<string, any>, K extends Record<string, any>>(target: T, keys: string[] | ((k: string, v: any) => boolean)): K;
/**
* 对象提取属性
* @param target
* @param keys
* @returns
*/
export declare function pick<T extends Record<string, any>, K extends Record<string, any>>(target: T, keys: string[] | ((k: string, v: any) => boolean)): K;
/**
* 递归对象或数组清除文本类型值的两边空格
* @param {Object|Array} obj
* @return {Object|Array}
*/
export declare function trim(obj: any): any;
/**
* 求合计
* @param list
* @param field
* @returns
*/
export declare function sum<T = any>(list?: T[], field?: keyof T): number;
/**
* 求平均值
* @param list
* @param field
* @returns
*/
export declare function avg<T = any>(list?: T[], field?: keyof T): number;
/**
* 字符串分隔转换成数组
* @param val
* @param flag
* @returns
*/
export declare function splitParser(val?: string, flag?: string): string[];
/**
* 数组转换为字符串分隔
* @param val
* @param flag
* @returns
*/
export declare function splitStringify(val?: string[], flag?: string): string;
/**
* 数组转换为树结构
* @param array
* @param id
* @param parentId
* @returns
*/
export declare function arrayToTree<T extends Record<string, any>>(array: T[], id?: keyof T, parentId?: keyof T, children?: string, root?: string | number): T[];
/**
* 树结构扁平化
* @param array
* @returns
*/
export declare function flatChildren(array?: any[]): any[];