import objectScan from 'object-scan' const createFindInTree = (needles) => { const scanner = objectScan(needles, { filterFn: ({ value, parents, matchedBy, context }) => { matchedBy.forEach((needle) => { context[needle].push([value, parents]) }) } }) return (haystack) => { const context = Object.create(null) needles.forEach((needle) => { context[needle] = [] }) return scanner(haystack, context) } } export { createFindInTree, }