{"version":3,"sources":["jsdelivr-header.js","/npm/dom-serialize@2.2.1/index.js"],"names":[],"mappings":"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","file":"/npm/dom-serialize@2.2.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/dom-serialize@2.2.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\n/**\n * Module dependencies.\n */\n\nvar extend = require('extend');\nvar encode = require('ent/encode');\nvar CustomEvent = require('custom-event');\nvar voidElements = require('void-elements');\n\n/**\n * Module exports.\n */\n\nexports = module.exports = serialize;\nexports.serializeElement = serializeElement;\nexports.serializeAttribute = serializeAttribute;\nexports.serializeText = serializeText;\nexports.serializeComment = serializeComment;\nexports.serializeDocument = serializeDocument;\nexports.serializeDoctype = serializeDoctype;\nexports.serializeDocumentFragment = serializeDocumentFragment;\nexports.serializeNodeList = serializeNodeList;\n\n/**\n * Serializes any DOM node. Returns a string.\n *\n * @param {Node} node - DOM Node to serialize\n * @param {String} [context] - optional arbitrary \"context\" string to use (useful for event listeners)\n * @param {Function} [fn] - optional callback function to use in the \"serialize\" event for this call\n * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the \"serialize\" event on (defaults to `node`)\n * return {String}\n * @public\n */\n\nfunction serialize (node, context, fn, eventTarget) {\n  if (!node) return '';\n  if ('function' === typeof context) {\n    fn = context;\n    context = null;\n  }\n  if (!context) context = null;\n\n  var rtn;\n  var nodeType = node.nodeType;\n\n  if (!nodeType && 'number' === typeof node.length) {\n    // assume it's a NodeList or Array of Nodes\n    rtn = exports.serializeNodeList(node, context, fn);\n  } else {\n\n    if ('function' === typeof fn) {\n      // one-time \"serialize\" event listener\n      node.addEventListener('serialize', fn, false);\n    }\n\n    // emit a custom \"serialize\" event on `node`, in case there\n    // are event listeners for custom serialization of this node\n    var e = new CustomEvent('serialize', {\n      bubbles: true,\n      cancelable: true,\n      detail: {\n        serialize: null,\n        context: context\n      }\n    });\n\n    e.serializeTarget = node;\n\n    var target = eventTarget || node;\n    var cancelled = !target.dispatchEvent(e);\n\n    // `e.detail.serialize` can be set to a:\n    //   String - returned directly\n    //   Node   - goes through serializer logic instead of `node`\n    //   Anything else - get Stringified first, and then returned directly\n    var s = e.detail.serialize;\n    if (s != null) {\n      if ('string' === typeof s) {\n        rtn = s;\n      } else if ('number' === typeof s.nodeType) {\n        // make it go through the serialization logic\n        rtn = serialize(s, context, null, target);\n      } else {\n        rtn = String(s);\n      }\n    } else if (!cancelled) {\n      // default serialization logic\n      switch (nodeType) {\n        case 1 /* element */:\n          rtn = exports.serializeElement(node, context, eventTarget);\n          break;\n        case 2 /* attribute */:\n          rtn = exports.serializeAttribute(node);\n          break;\n        case 3 /* text */:\n          rtn = exports.serializeText(node);\n          break;\n        case 8 /* comment */:\n          rtn = exports.serializeComment(node);\n          break;\n        case 9 /* document */:\n          rtn = exports.serializeDocument(node, context, eventTarget);\n          break;\n        case 10 /* doctype */:\n          rtn = exports.serializeDoctype(node);\n          break;\n        case 11 /* document fragment */:\n          rtn = exports.serializeDocumentFragment(node, context, eventTarget);\n          break;\n      }\n    }\n\n    if ('function' === typeof fn) {\n      node.removeEventListener('serialize', fn, false);\n    }\n  }\n\n  return rtn || '';\n}\n\n/**\n * Serialize an Attribute node.\n */\n\nfunction serializeAttribute (node, opts) {\n  return node.name + '=\"' + encode(node.value, extend({\n    named: true\n  }, opts)) + '\"';\n}\n\n/**\n * Serialize a DOM element.\n */\n\nfunction serializeElement (node, context, eventTarget) {\n  var c, i, l;\n  var name = node.nodeName.toLowerCase();\n\n  // opening tag\n  var r = '<' + name;\n\n  // attributes\n  for (i = 0, c = node.attributes, l = c.length; i < l; i++) {\n    r += ' ' + exports.serializeAttribute(c[i]);\n  }\n\n  r += '>';\n\n  // child nodes\n  r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);\n\n  // closing tag, only for non-void elements\n  if (!voidElements[name]) {\n    r += '</' + name + '>';\n  }\n\n  return r;\n}\n\n/**\n * Serialize a text node.\n */\n\nfunction serializeText (node, opts) {\n  return encode(node.nodeValue, extend({\n    named: true,\n    special: { '<': true, '>': true, '&': true }\n  }, opts));\n}\n\n/**\n * Serialize a comment node.\n */\n\nfunction serializeComment (node) {\n  return '<!--' + node.nodeValue + '-->';\n}\n\n/**\n * Serialize a Document node.\n */\n\nfunction serializeDocument (node, context, eventTarget) {\n  return exports.serializeNodeList(node.childNodes, context, null, eventTarget);\n}\n\n/**\n * Serialize a DOCTYPE node.\n * See: http://stackoverflow.com/a/10162353\n */\n\nfunction serializeDoctype (node) {\n  var r = '<!DOCTYPE ' + node.name;\n\n  if (node.publicId) {\n    r += ' PUBLIC \"' + node.publicId + '\"';\n  }\n\n  if (!node.publicId && node.systemId) {\n    r += ' SYSTEM';\n  }\n\n  if (node.systemId) {\n    r += ' \"' + node.systemId + '\"';\n  }\n\n  r += '>';\n  return r;\n}\n\n/**\n * Serialize a DocumentFragment instance.\n */\n\nfunction serializeDocumentFragment (node, context, eventTarget) {\n  return exports.serializeNodeList(node.childNodes, context, null, eventTarget);\n}\n\n/**\n * Serialize a NodeList/Array of nodes.\n */\n\nfunction serializeNodeList (list, context, fn, eventTarget) {\n  var r = '';\n  for (var i = 0, l = list.length; i < l; i++) {\n    r += serialize(list[i], context, fn, eventTarget);\n  }\n  return r;\n}\n"]}