{"version":3,"sources":["jsdelivr-header.js","/npm/fast-xml-parser-seq@2.6.2/bin/parser.js"],"names":[],"mappings":"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","file":"/npm/fast-xml-parser-seq@2.6.2/bin/parser.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/fast-xml-parser-seq@2.6.2/bin/parser.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var getAllMatches = require(\"./util\").getAllMatches;\r\n\r\nvar xmlNode = function(tagname,parent,val){\r\n    this.tagname = tagname;\r\n    this.parent = parent;\r\n    this.child = [];\r\n    this.val = val;\r\n    this.addChild = function (child){\r\n        this.child.push(child);\r\n    };\r\n};\r\n\r\n//var tagsRegx = new RegExp(\"<(\\\\/?[a-zA-Z0-9_:]+)([^>\\\\/]*)(\\\\/?)>([^<]+)?\",\"g\");\r\n//var tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:-]+)([^>]*)>([^<]+)?\",\"g\");\r\nvar cdataRegx = \"<!\\\\[CDATA\\\\[([^\\\\]\\\\]]*)\\\\]\\\\]>\";\r\nvar tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(<!\\\\[CDATA\\\\[([^\\\\]\\\\]]*)\\\\]\\\\]>)*([^<]+)?\",\"g\");\r\n\r\nvar defaultOptions = {\r\n    attrPrefix : \"@_\",\r\n    textNodeName : \"#text\",\r\n    ignoreNonTextNodeAttr : true,\r\n    ignoreTextNodeAttr : true,\r\n    ignoreNameSpace : false,\r\n    ignoreRootElement : false,\r\n    textNodeConversion : true,\r\n    textAttrConversion : false\r\n};\r\n\r\nvar buildOptions = function (options){\r\n    if(!options) options = {};\r\n    var props = [\"attrPrefix\",\"ignoreNonTextNodeAttr\",\"ignoreTextNodeAttr\",\"ignoreNameSpace\",\"ignoreRootElement\",\"textNodeName\",\"textNodeConversion\",\"textAttrConversion\"];\r\n    for (var i = 0; i < props.length; i++) {\r\n        if(options[props[i]] === undefined){\r\n            options[props[i]] = defaultOptions[props[i]];\r\n        }\r\n    }\r\n    return options;\r\n};\r\n\r\nvar getTraversalObj =function (xmlData,options){\r\n    options = buildOptions(options);\r\n    //xmlData = xmlData.replace(/>(\\s+)/g, \">\");//Remove spaces and make it single line.\r\n    var tags = getAllMatches(xmlData,tagsRegx);\r\n    var xmlObj = new xmlNode('!xml');\r\n    var currentNode = xmlObj;\r\n\r\n    for (var i = 0; i < tags.length ; i++) {\r\n        var tag = resolveNameSpace(tags[i][1],options.ignoreNameSpace),\r\n            nexttag = i+1 < tags.length ? resolveNameSpace(tags[i+1][1],options.ignoreNameSpace) : undefined,\r\n            attrsStr = tags[i][2], attrs,\r\n            val = tags[i][4] ===  undefined ? tags[i][5] :  simplifyCDATA(tags[i][0]);\r\n\r\n        if(tag.indexOf(\"/\") === 0){//ending tag\r\n            currentNode = currentNode.parent;\r\n            continue;\r\n        }\r\n\r\n        var selfClosingTag = attrsStr.charAt(attrsStr.length-1) === '/';\r\n        var childNode = new xmlNode(tag,currentNode);\r\n\r\n        if(selfClosingTag){\r\n            attrs = buildAttributesArr(attrsStr,options.ignoreTextNodeAttr,options.attrPrefix,options.ignoreNameSpace,options.textAttrConversion);\r\n            childNode.val = attrs || \"\";\r\n            currentNode.addChild(childNode);\r\n        }else if( (\"/\" + tag) === nexttag){ //Text node\r\n            attrs = buildAttributesArr(attrsStr,options.ignoreTextNodeAttr,options.attrPrefix,options.ignoreNameSpace,options.textAttrConversion);\r\n            val = parseValue(val,options.textNodeConversion);\r\n            if(attrs){\r\n                attrs[options.textNodeName] = val;\r\n                childNode.val = attrs;\r\n            }else{\r\n                childNode.val = val || \"\";\r\n            }\r\n            currentNode.addChild(childNode);\r\n            i++;\r\n        }else{//starting tag\r\n            attrs = buildAttributesArr(attrsStr,options.ignoreNonTextNodeAttr,options.attrPrefix,options.ignoreNameSpace,options.textAttrConversion);\r\n            if(attrs){\r\n                for (var prop in attrs) {\r\n                  if(attrs.hasOwnProperty(prop)){\r\n                    childNode.addChild(new xmlNode(prop,childNode,attrs[prop]));\r\n                  }\r\n                }\r\n            }\r\n            currentNode.addChild(childNode);\r\n            currentNode = childNode;\r\n        }\r\n    }\r\n    return xmlObj;\r\n};\r\n\r\nvar xml2json = function (xmlData,options){\r\n    return convertToJson(getTraversalObj(xmlData,options));\r\n};\r\n\r\nvar cdRegx = new RegExp(\"<!\\\\[CDATA\\\\[([^\\\\]\\\\]]*)\\\\]\\\\]>\",\"g\");\r\n\r\nfunction simplifyCDATA(cdata){\r\n    var result = getAllMatches(cdata,cdRegx);\r\n    var val = \"\";\r\n    for (var i = 0; i < result.length ; i++) {\r\n        val+=result[i][1];\r\n    }\r\n    return val;\r\n}\r\n\r\nfunction resolveNameSpace(tagname,ignore){\r\n    if(ignore){\r\n        var tags = tagname.split(\":\");\r\n        var prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\r\n        if(tags.length === 2) {\r\n            tagname = prefix + tags[1];\r\n        }\r\n    }\r\n    return tagname;\r\n}\r\n\r\nfunction parseValue(val,conversion){\r\n    if(val){\r\n        if(!conversion || isNaN(val)){\r\n            val = \"\" + val ;\r\n        }else{\r\n            if(val.indexOf(\".\") !== -1){\r\n                val = Number.parseFloat(val);\r\n            }else{\r\n                val = Number.parseInt(val,10);\r\n            }\r\n        }\r\n    }else{\r\n        val = \"\";\r\n    }\r\n    return val;\r\n}\r\n\r\n//var attrsRegx = new RegExp(\"(\\\\S+)=\\\\s*[\\\"']?((?:.(?![\\\"']?\\\\s+(?:\\\\S+)=|[>\\\"']))+.)[\\\"']?\",\"g\");\r\n//var attrsRegx = new RegExp(\"(\\\\S+)=\\\\s*(['\\\"])((?:.(?!\\\\2))*.)\",\"g\");\r\nvar attrsRegx = new RegExp(\"(\\\\S+)\\\\s*=\\\\s*(['\\\"])(.*?)\\\\2\",\"g\");\r\nfunction buildAttributesArr(attrStr,ignore,prefix,ignoreNS,conversion){\r\n    attrStr = attrStr || attrStr.trim();\r\n\r\n    if(!ignore && attrStr.length > 3){\r\n\r\n        var matches = getAllMatches(attrStr,attrsRegx);\r\n        var attrs = {};\r\n        for (var i = 0; i < matches.length; i++) {\r\n            var attrName = prefix + resolveNameSpace( matches[i][1],ignoreNS);\r\n            attrs[attrName] = parseValue(matches[i][3],conversion);\r\n        }\r\n        return attrs;\r\n    }\r\n}\r\n\r\nvar convertToJson = function (node){\r\n    var jObj = {};\r\n    if(node.val || node.val === \"\") {\r\n        return node.val;\r\n    }else{\r\n        for (var index = 0; index < node.child.length; index++) {\r\n            var prop = node.child[index].tagname;\r\n            var obj = convertToJson(node.child[index]);\r\n            if(jObj[prop] !== undefined){\r\n                if(!Array.isArray(jObj[prop])){\r\n                    var swap = jObj[prop];\r\n                    jObj[prop] = [];\r\n                    jObj[prop].push(swap);\r\n                }\r\n                jObj[prop].push(obj);\r\n            }else{\r\n                obj['seq'] = (index+1)\r\n                jObj[prop] = obj;\r\n            }\r\n        }\r\n    }\r\n    return jObj;\r\n};\r\n\r\nexports.parse = xml2json;\r\nexports.getTraversalObj = getTraversalObj;\r\nexports.convertToJson = convertToJson;\r\nexports.validate = require(\"./validator\").validate;\r\n"]}