Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | 49x 49x 49x 49x 531x 95x 95x 95x 304x 304x 6x 304x 189x 34x 29x 134x 294x 412x 9x 14x 14x 7x 15x 15x 7x 7x 7x 2x 2x 4x 2x 7x 14x | import { RendererOptions } from '@vue/runtime-core' export const svgNS = 'http://www.w3.org/2000/svg' const doc = (typeof document !== 'undefined' ? document : null) as Document const templateContainer = doc && /*#__PURE__*/ doc.createElement('template') export const nodeOps: Omit<RendererOptions<Node, Element>, 'patchProp'> = { insert: (child, parent, anchor) => { parent.insertBefore(child, anchor || null) }, remove: child => { const parent = child.parentNode if (parent) { parent.removeChild(child) } }, createElement: (tag, isSVG, is, props): Element => { const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : undefined) if (tag === 'select' && props && props.multiple != null) { ;(el as HTMLSelectElement).setAttribute('multiple', props.multiple) } return el }, createText: text => doc.createTextNode(text), createComment: text => doc.createComment(text), setText: (node, text) => { node.nodeValue = text }, setElementText: (el, text) => { el.textContent = text }, parentNode: node => node.parentNode as Element | null, nextSibling: node => node.nextSibling, querySelector: selector => doc.querySelector(selector), setScopeId(el, id) { el.setAttribute(id, '') }, // __UNSAFE__ // Reason: innerHTML. // Static content here can only come from compiled templates. // As long as the user only uses trusted templates, this is safe. insertStaticContent(content, parent, anchor, isSVG, start, end) { // <parent> before | first ... last | anchor </parent> const before = anchor ? anchor.previousSibling : parent.lastChild // #5308 can only take cached path if: // - has a single root node // - nextSibling info is still available if (start && (start === end || start.nextSibling)) { // cached while (true) { parent.insertBefore(start!.cloneNode(true), anchor) if (start === end || !(start = start!.nextSibling)) break } } else { // fresh insert templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content const template = templateContainer.content if (isSVG) { // remove outer svg wrapper const wrapper = template.firstChild! while (wrapper.firstChild) { template.appendChild(wrapper.firstChild) } template.removeChild(wrapper) } parent.insertBefore(template, anchor) } return [ // first before ? before.nextSibling! : parent.firstChild!, // last anchor ? anchor.previousSibling! : parent.lastChild! ] } } |