import { RendererOptions } from '@vue/runtime-core' import { patchProp } from './patchProp' const svgNS = 'http://www.w3.org/2000/svg' export const DOMRendererOptions: RendererOptions = { patchProp, insert: (child: Node, parent: Node, anchor?: Node) => { if (anchor != null) { parent.insertBefore(child, anchor) } else { parent.appendChild(child) } }, remove: (child: Node) => { if (!child) debugger const parent = child.parentNode if (parent != null) { parent.removeChild(child) } }, createElement: (tag: string, isSVG?: boolean): Element => isSVG ? document.createElementNS(svgNS, tag) : document.createElement(tag), createText: (text: string): Text => document.createTextNode(text), createComment: (text: string): Comment => document.createComment(text), setText: (node: Text, text: string) => { node.nodeValue = text }, setElementText: (el: HTMLElement, text: string) => { el.textContent = text }, parentNode: (node: Node): Node | null => node.parentNode, nextSibling: (node: Node): Node | null => node.nextSibling }