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 | 3x 3x 3359x 3359x 3359x 3359x 3359x 1209x 3334x 2150x 2150x 3359x 3x 2316x 2316x 2316x 2316x 2316x 2316x 2031x 2031x 2031x 285x 2316x 1209x 1209x 1209x 1209x 1209x 1209x 1209x 166x 166x 58x 108x 53x 55x 1209x 1209x 1209x 1209x 1209x 1209x 1209x 1209x 1209x 2150x 2150x 2150x 2150x 2150x 2150x 2150x 2150x 2150x 2150x | import { type TestComment, type TestElement, type TestNode, TestNodeTypes, type TestText, } from './nodeOps' import { isOn } from '@vue/shared' export function serialize( node: TestNode, indent: number = 0, depth: number = 0, ): string { if (node.type === TestNodeTypes.ELEMENT) { return serializeElement(node, indent, depth) } else { return serializeText(node, indent, depth) } } export function serializeInner( node: TestElement, indent: number = 0, depth: number = 0, ): string { const newLine = indent ? `\n` : `` return node.children.length ? newLine + node.children.map(c => serialize(c, indent, depth + 1)).join(newLine) + newLine : `` } function serializeElement( node: TestElement, indent: number, depth: number, ): string { const props = Object.keys(node.props) .map(key => { const value = node.props[key] return isOn(key) || value == null ? `` : value === `` ? key : `${key}=${JSON.stringify(value)}` }) .filter(Boolean) .join(' ') const padding = indent ? ` `.repeat(indent).repeat(depth) : `` return ( `${padding}<${node.tag}${props ? ` ${props}` : ``}>` + `${serializeInner(node, indent, depth)}` + `${padding}</${node.tag}>` ) } function serializeText( node: TestText | TestComment, indent: number, depth: number, ): string { const padding = indent ? ` `.repeat(indent).repeat(depth) : `` return ( padding + (node.type === TestNodeTypes.COMMENT ? `<!--${node.text}-->` : node.text) ) } |