UNPKG

extra-dom

Version:
15 lines 571 B
import { clone, cloneNodes, copyNodesToChildNodes } from "./utils.js"; import { removeAllChildren } from "./remove-all-children.js"; export function flatMap(node, fn) { const newNodes = cloneNodes(fn(clone(node))); return newNodes.map(node => { const newChildNodes = []; for (const childNode of node.childNodes) { newChildNodes.push(...cloneNodes(flatMap(childNode, fn))); } removeAllChildren(node); copyNodesToChildNodes(newChildNodes, node); return node; }); } //# sourceMappingURL=flat-map.js.map