com-tools
Version:
com-tools 提供了一些通用的工具函数;
98 lines • 3.05 kB
TypeScript
/**
* 获取成员值
* @param target - 目标对象
* @param propPath - 属性路径
* @returns 成员值
*/
export declare function getMember(target: any, propPath: PropertyKey[]): any;
/**
* 设置成员值
* @remarks
* 对于数字类型的路径,会使用数组作该属性所属的对象
* @param target - 目标对象
* @param propPath - 属性路径
* @param value
*/
export declare function setMember(target: any, propPath: PropertyKey[], value: any): void;
/**
* 获得默认值
*/
export type GetDefaultValue = () => any;
/**
* 获取成员值
* @param target
* @param propPath
* @param defaultValue
* @returns
*/
export declare function getMemberWithDefault(target: any, propPath: PropertyKey[], defaultValue?: GetDefaultValue | any): any;
/**
* 获取成员值
* @param target
* @param propPath
* @param defaultValue
* @returns 如果 defaultValue 返回的是 Promise ,则该函数也返回 Promise,其它
*/
export declare function getMemberWithAsyncDefault(target: any, propPath: PropertyKey[], defaultValue?: GetDefaultValue | any): any;
/**
* 删除成员
* @param target - 目标对象
* @param propPath - 属性路径
* @returns 是否执行了删除操作
*/
export declare function deleteMember(target: any, propPath: PropertyKey[]): boolean;
/**
* 移除根级 undefined 属性
* @param obj
* @returns
*/
export declare function removeUndefined(obj: any): any;
/**
* 移除根级 undefined 和 null 属性
* @param obj
* @returns
*/
export declare function removeNull(obj: any): any;
/**
* 提取根级成员
* @param obj
* @param keys
* @returns 返回一个只包含指定key的新对象
*/
export declare function pickMembers<Obj = any, Key extends keyof Obj = keyof Obj>(obj: Obj, keys: Key[]): Pick<Obj, Key>;
/**
* 剔除根级成员,删除根级成员
* @remarks
* 会改变原对象
* @param obj
* @param keys
* @returns 返回原来的对象,但删除了指定的成员
*/
export declare function omitMembers<Obj = any, Key extends keyof Obj = keyof Obj>(obj: Obj, keys: Key[]): Omit<Obj, Key>;
/**
* 通过属性路径提取成员
* @param obj
* @param propPaths
* @returns 返回一个只包含指定key的新对象
*/
export declare function pickMembersByPath(obj: any, propPaths: PropertyKey[][]): any;
/**
* 通过属性路径剔除成员,删除成员
* @remarks
* 会改变原对象
* @param obj
* @param propPaths
* @returns 返回原来的对象,但删除了指定的成员
*/
export declare function omitMembersByPath(obj: any, propPaths: PropertyKey[][]): any;
/**
* 将路径数组转成路径字符串
* @remarks
* 会自动将数组尾部的空值给移除,中间的空值转为占位符 placeholder
* @param path 路径数组
* @param separator 分隔符,默认是 "/"
* @param placeholder 占位符,默认是 "-"
* @returns
*/
export declare function pathString(path: (string | number | null | undefined)[], separator?: string | null, placeholder?: string | null): string;
//# sourceMappingURL=prop-path.d.ts.map