UNPKG

com-tools

Version:

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

123 lines 3.95 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; /** * 获取路径的第 index + 1 个部件 * @param path - 路径字符串 * @param index - 部件的索引 * @param separator - 路径的分隔符 * @returns */ export declare function getPathPart(path: string, index: number, separator?: string): string; /** * 替换路径部件 * @param path - 路径 * @param index - 被替换的部件的索引 * @param replace - 替换的内容 * @param separator - 路径的分隔符 * @returns */ export declare function replacePathPart(path: string, index: number, replace: string, separator?: string): string; /** * 获取所有路径的第 index + 1 个的有效部件,会过滤掉为空的部件 * @param paths - 路径字符串数组 * @param index - 部件的索引 * @param separator - 路径的分隔符 * @returns */ export declare function getValidPathParts(paths: string[], index: number, separator?: string): string[]; //# sourceMappingURL=prop-path.d.ts.map