as-services/libs/utils/object/traverse.js

10 lines
299 B
JavaScript

module.exports = function traverse(o, fn, keys = []) {
for (const [k, v] of Object.entries(o)) {
const keysBranch = [...keys]
keysBranch.push(k)
fn.apply(this, [k, v, o, keysBranch])
if (o[k] !== null && typeof o[k] === "object") {
traverse(o[k], fn, keysBranch)
}
}
}