UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

26 lines 876 B
const traverseObject = (obj, cb, traversed = new WeakSet(), currentPath = []) => { if (Array.isArray(obj)) { if (traversed.has(obj)) return; traversed.add(obj); for (let i = 0; i < obj.length; ++i) { const v = obj[i]; const istr = i + ""; const newPath = [...currentPath, istr]; cb(istr, v, obj, newPath); traverseObject(v, cb, traversed, newPath); } } else if (obj && typeof obj === "object") { if (traversed.has(obj)) return; traversed.add(obj); for (const [k, v] of Object.entries(obj)) { const newPath = [...currentPath, k]; cb(k, v, obj, newPath); traverseObject(v, cb, traversed, newPath); } } }; export default traverseObject; //# sourceMappingURL=traverseObject.js.map