Sha256: afa4fdd843eb755292387fae0765428f4a61a7308784c45f4bc4cfc960499562
Contents?: true
Size: 1.14 KB
Versions: 26
Compression:
Stored size: 1.14 KB
Contents
"use strict"; const produceXMLSerialization = require("w3c-xmlserializer"); const parse5 = require("parse5"); const DOMException = require("../generated/DOMException"); const utils = require("../generated/utils"); const treeAdapter = require("./parse5-adapter-serialization"); const NODE_TYPE = require("../node-type"); module.exports.fragmentSerialization = (node, { outer, requireWellFormed, globalObject }) => { const contextDocument = node.nodeType === NODE_TYPE.DOCUMENT_NODE ? node : node._ownerDocument; if (contextDocument._parsingMode === "html") { const config = { ...contextDocument._parseOptions, treeAdapter }; return outer ? parse5.serializeOuter(node, config) : parse5.serialize(node, config); } const childNodes = outer ? [node] : node.childNodes; try { let serialized = ""; for (let i = 0; i < childNodes.length; ++i) { serialized += produceXMLSerialization( utils.wrapperForImpl(childNodes[i] || childNodes.item(i)), { requireWellFormed } ); } return serialized; } catch (e) { throw DOMException.create(globalObject, [e.message, "InvalidStateError"]); } };
Version data entries
26 entries across 26 versions & 1 rubygems