@szydlovski/deep-object
Version:
utility functions for deeply nested objects
14 lines (13 loc) • 2.12 kB
TypeScript
import { StringIndexed } from './core.js';
declare type DeepObjectCallback<T> = (value: any, key: string, path: string[], object: object, target: object) => T;
declare function deepObjectMap<T = StringIndexed>(target: StringIndexed, callback: DeepObjectCallback<any>, includeIntermediate?: boolean, depthFirst?: boolean): T;
declare function deepObjectFilter<T = StringIndexed>(target: StringIndexed, callback: DeepObjectCallback<boolean>, includeIntermediate?: boolean, depthFirst?: boolean): T;
declare function deepObjectFind<T = any>(target: StringIndexed, callback: DeepObjectCallback<boolean>, includeIntermediate?: boolean, depthFirst?: boolean): T | undefined;
declare function deepObjectSome(target: StringIndexed, callback: DeepObjectCallback<boolean>, includeIntermediate?: boolean, depthFirst?: boolean): boolean;
declare function deepObjectEvery(target: StringIndexed, callback: DeepObjectCallback<boolean>, includeIntermediate?: boolean, depthFirst?: boolean): boolean;
declare function deepObjectForEach(target: StringIndexed, callback: DeepObjectCallback<void>, includeIntermediate?: boolean, depthFirst?: boolean): void;
declare function deepObjectValues<T extends any[] = any[]>(target: StringIndexed, includeIntermediate?: boolean, depthFirst?: boolean): T;
declare function deepObjectPaths(target: StringIndexed, includeIntermediate?: boolean, depthFirst?: boolean): string[][];
declare function deepObjectKeys(target: StringIndexed, includeIntermediate?: boolean, depthFirst?: boolean): string[];
declare function deepObjectEntries(target: StringIndexed, includeIntermediate?: boolean, depthFirst?: boolean): [string, any, string[]][];
export { deepObjectForEach, deepObjectMap, deepObjectFilter, deepObjectFind, deepObjectSome, deepObjectEvery, deepObjectValues, deepObjectPaths, deepObjectKeys, deepObjectEntries, deepObjectForEach as forEach, deepObjectMap as map, deepObjectFilter as filter, deepObjectFind as find, deepObjectSome as some, deepObjectEvery as every, deepObjectValues as values, deepObjectPaths as paths, deepObjectKeys as keys, deepObjectEntries as entries, };