UNPKG

com-tools

Version:

com-tools 提供了一些通用的工具函数;

98 lines 3.05 kB
/** * 获取成员值 * @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