mobx-bonsai
Version:
A fast lightweight alternative to MobX-State-Tree + Y.js two-way binding
16 lines (15 loc) • 855 B
TypeScript
import { FoundParentPath } from './FoundParentPath';
/**
* Iterates through all the parents (from the nearest until the root)
* until one of them matches the given predicate.
* If the predicate is matched it will return the found node plus the
* path to get from the parent to the child.
* If none is found it will return undefined.
*
* @template T Parent object type.
* @param child Target node.
* @param predicate Function that will be run for every parent of the target node, from immediate parent to the root.
* @param maxDepth Max depth, or 0 for infinite.
* @returns The found parent node and the path to get from the parent to the child, or undefined if not found.
*/
export declare function findParentPath<T extends object>(child: object, predicate: (parentNode: object) => boolean, maxDepth?: number): FoundParentPath<T> | undefined;