db-vendo-client/lib/find-in-tree.js
Jannis R 339d64e901
convert to ESM 💥📝
2022-11-18 19:20:03 +01:00

23 lines
463 B
JavaScript

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,
}