mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-30 01:07:01 +08:00
Add one more deps "@typescript-eslint/utils" to top level to be used in our own custom rules (also needed override if I didn't). Bug: none Change-Id: I130415d1ec5f096ca51200df3eb688dadd963d0f Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6343232 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
26 lines
527 B
JavaScript
26 lines
527 B
JavaScript
import eachNodeUpToRoot, { STOP } from './eachNodeUpToRoot.mjs';
|
|
|
|
/** @import { Node } from 'postcss' */
|
|
|
|
/**
|
|
* Finds the node satisfying the specified predicate up to the root node.
|
|
*
|
|
* @param {Node} node
|
|
* @param {(node: Node) => boolean} predicate
|
|
* @returns {Node | undefined}
|
|
*/
|
|
export default function findNodeUpToRoot(node, predicate) {
|
|
/** @type {Node | undefined} */
|
|
let found;
|
|
|
|
eachNodeUpToRoot(node, (current) => {
|
|
if (predicate(current)) {
|
|
found = current;
|
|
|
|
return STOP;
|
|
}
|
|
});
|
|
|
|
return found;
|
|
}
|