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 | 2x 2x 3303x 3303x 3303x 3303x 3303x 1196x 3278x 2107x 2107x 3303x 2x 2290x 2290x 2290x 2290x 2290x 2290x 2005x 2005x 2005x 285x 2290x 1196x 1196x 1196x 1196x 1196x 1196x 1196x 166x 166x 58x 108x 53x 55x 1196x 1196x 1196x 1196x 1196x 1196x 1196x 1196x 1196x 2107x 2107x 2107x 2107x 2107x 2107x 2107x 2107x 2107x 2107x | 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) ) } |