From 3f7590817faeb6da6680c3449620d3d77bd6da0d Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Mon, 26 Aug 2019 08:02:43 -0700 Subject: [PATCH] Decompose findParentNodeOfType --- modern/src/utils.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modern/src/utils.js b/modern/src/utils.js index c3ba15b6..832cbbed 100644 --- a/modern/src/utils.js +++ b/modern/src/utils.js @@ -135,15 +135,21 @@ export function findInTree(node, predicate) { return null; } -// Operations on trees -export function findParentNodeOfType(node, type) { +export function findParent(node, predicate) { let n = node; while (n.parent) { n = n.parent; - if (type.has(n.name)) { + if (predicate(n)) { return n; } } + + return null; +} + +// Operations on trees +export function findParentNodeOfType(node, type) { + return findParent(node, node => type.has(node.name)); } export function findParentOrCurrentNodeOfType(node, type) {