@loaders.gl/xml 4.3.2 → 4.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.dev.js CHANGED
@@ -3284,8 +3284,8 @@ Actual: ${this.attribValue}`
3284
3284
  return text.startsWith("<?xml");
3285
3285
  }
3286
3286
 
3287
- // ../loader-utils/src/lib/option-utils/merge-loader-options.ts
3288
- function mergeLoaderOptions(baseOptions, newOptions) {
3287
+ // ../loader-utils/src/lib/option-utils/merge-options.ts
3288
+ function mergeOptions(baseOptions, newOptions) {
3289
3289
  return mergeOptionsRecursively(baseOptions || {}, newOptions);
3290
3290
  }
3291
3291
  function mergeOptionsRecursively(baseOptions, newOptions, level = 0) {
@@ -3322,7 +3322,7 @@ Actual: ${this.attribValue}`
3322
3322
  return text.startsWith("<html");
3323
3323
  }
3324
3324
  function parseTextSync(text, options) {
3325
- options = mergeLoaderOptions(options, {
3325
+ options = mergeOptions(options, {
3326
3326
  xml: {
3327
3327
  _parser: "fast-xml-parser",
3328
3328
  _fastXML: {
package/dist/dist.min.js CHANGED
@@ -4,10 +4,10 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Gt=Object.create;var C=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,kt=Object.prototype.hasOwnProperty;var Yt=(e,t,i)=>t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var m=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xt=(e,t)=>{for(var i in t)C(e,i,{get:t[i],enumerable:!0})},B=(e,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of qt(t))!kt.call(e,r)&&r!==i&&C(e,r,{get:()=>t[r],enumerable:!(s=$t(t,r))||s.enumerable});return e},M=(e,t,i)=>(B(e,t,"default"),i&&B(i,t,"default")),Z=(e,t,i)=>(i=e!=null?Gt(Wt(e)):{},B(t||!e||!e.__esModule?C(i,"default",{value:e,enumerable:!0}):i,e)),Qt=e=>B(C({},"__esModule",{value:!0}),e);var J=(e,t,i)=>(Yt(e,typeof t!="symbol"?t+"":t,i),i);var D=m((ds,j)=>{j.exports=globalThis.loaders});var R=m(E=>{"use strict";var et=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",jt=et+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",st="["+et+"]["+jt+"]*",Dt=new RegExp("^"+st+"$"),te=function(e,t){let i=[],s=t.exec(e);for(;s;){let r=[];r.startIndex=t.lastIndex-s[0].length;let n=s.length;for(let a=0;a<n;a++)r.push(s[a]);i.push(r),s=t.exec(e)}return i},ee=function(e){let t=Dt.exec(e);return!(t===null||typeof t>"u")};E.isExist=function(e){return typeof e<"u"};E.isEmptyObject=function(e){return Object.keys(e).length===0};E.merge=function(e,t,i){if(t){let s=Object.keys(t),r=s.length;for(let n=0;n<r;n++)i==="strict"?e[s[n]]=[t[s[n]]]:e[s[n]]=t[s[n]]}};E.getValue=function(e){return E.isExist(e)?e:""};E.isName=ee;E.getAllMatches=te;E.nameRegexp=st});var G=m(at=>{"use strict";var U=R(),se={allowBooleanAttributes:!1,unpairedTags:[]};at.validate=function(e,t){t=Object.assign({},se,t);let i=[],s=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=rt(e,n),n.err)return n}else if(e[n]==="<"){let a=n;if(n++,e[n]==="!"){n=nt(e,n);continue}else{let h=!1;e[n]==="/"&&(h=!0,n++);let o="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
7
+ "use strict";var __exports__=(()=>{var Gt=Object.create;var C=Object.defineProperty;var qt=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,kt=Object.prototype.hasOwnProperty;var Yt=(e,t,i)=>t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var m=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xt=(e,t)=>{for(var i in t)C(e,i,{get:t[i],enumerable:!0})},B=(e,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of $t(t))!kt.call(e,r)&&r!==i&&C(e,r,{get:()=>t[r],enumerable:!(s=qt(t,r))||s.enumerable});return e},M=(e,t,i)=>(B(e,t,"default"),i&&B(i,t,"default")),Z=(e,t,i)=>(i=e!=null?Gt(Wt(e)):{},B(t||!e||!e.__esModule?C(i,"default",{value:e,enumerable:!0}):i,e)),Qt=e=>B(C({},"__esModule",{value:!0}),e);var J=(e,t,i)=>(Yt(e,typeof t!="symbol"?t+"":t,i),i);var D=m((ds,j)=>{j.exports=globalThis.loaders});var R=m(E=>{"use strict";var et=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",jt=et+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",st="["+et+"]["+jt+"]*",Dt=new RegExp("^"+st+"$"),te=function(e,t){let i=[],s=t.exec(e);for(;s;){let r=[];r.startIndex=t.lastIndex-s[0].length;let n=s.length;for(let a=0;a<n;a++)r.push(s[a]);i.push(r),s=t.exec(e)}return i},ee=function(e){let t=Dt.exec(e);return!(t===null||typeof t>"u")};E.isExist=function(e){return typeof e<"u"};E.isEmptyObject=function(e){return Object.keys(e).length===0};E.merge=function(e,t,i){if(t){let s=Object.keys(t),r=s.length;for(let n=0;n<r;n++)i==="strict"?e[s[n]]=[t[s[n]]]:e[s[n]]=t[s[n]]}};E.getValue=function(e){return E.isExist(e)?e:""};E.isName=ee;E.getAllMatches=te;E.nameRegexp=st});var G=m(at=>{"use strict";var U=R(),se={allowBooleanAttributes:!1,unpairedTags:[]};at.validate=function(e,t){t=Object.assign({},se,t);let i=[],s=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=rt(e,n),n.err)return n}else if(e[n]==="<"){let a=n;if(n++,e[n]==="!"){n=nt(e,n);continue}else{let h=!1;e[n]==="/"&&(h=!0,n++);let o="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
8
8
  `&&e[n]!=="\r";n++)o+=e[n];if(o=o.trim(),o[o.length-1]==="/"&&(o=o.substring(0,o.length-1),n--),!ue(o)){let l;return o.trim().length===0?l="Invalid space after '<'.":l="Tag '"+o+"' is an invalid name.",g("InvalidTag",l,T(e,n))}let c=ne(e,n);if(c===!1)return g("InvalidAttr","Attributes for '"+o+"' have open quote.",T(e,n));let u=c.value;if(n=c.index,u[u.length-1]==="/"){let l=n-u.length;u=u.substring(0,u.length-1);let p=ot(u,t);if(p===!0)s=!0;else return g(p.err.code,p.err.msg,T(e,l+p.err.line))}else if(h)if(c.tagClosed){if(u.trim().length>0)return g("InvalidTag","Closing tag '"+o+"' can't have attributes or invalid starting.",T(e,a));if(i.length===0)return g("InvalidTag","Closing tag '"+o+"' has not been opened.",T(e,a));{let l=i.pop();if(o!==l.tagName){let p=T(e,l.tagStartPos);return g("InvalidTag","Expected closing tag '"+l.tagName+"' (opened in line "+p.line+", col "+p.col+") instead of closing tag '"+o+"'.",T(e,a))}i.length==0&&(r=!0)}}else return g("InvalidTag","Closing tag '"+o+"' doesn't have proper closing.",T(e,n));else{let l=ot(u,t);if(l!==!0)return g(l.err.code,l.err.msg,T(e,n-u.length+l.err.line));if(r===!0)return g("InvalidXml","Multiple possible root nodes found.",T(e,n));t.unpairedTags.indexOf(o)!==-1||i.push({tagName:o,tagStartPos:a}),s=!0}for(n++;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="!"){n++,n=nt(e,n);continue}else if(e[n+1]==="?"){if(n=rt(e,++n),n.err)return n}else break;else if(e[n]==="&"){let l=he(e,n);if(l==-1)return g("InvalidChar","char '&' is not expected.",T(e,n));n=l}else if(r===!0&&!it(e[n]))return g("InvalidXml","Extra text at the end",T(e,n));e[n]==="<"&&n--}}else{if(it(e[n]))continue;return g("InvalidChar","char '"+e[n]+"' is not expected.",T(e,n))}if(s){if(i.length==1)return g("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",T(e,i[0].tagStartPos));if(i.length>0)return g("InvalidXml","Invalid '"+JSON.stringify(i.map(n=>n.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return g("InvalidXml","Start tag expected.",1);return!0};function it(e){return e===" "||e===" "||e===`
9
- `||e==="\r"}function rt(e,t){let i=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let s=e.substr(i,t-i);if(t>5&&s==="xml")return g("InvalidXml","XML declaration allowed only at the start of the document.",T(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function nt(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let i=1;for(t+=8;t<e.length;t++)if(e[t]==="<")i++;else if(e[t]===">"&&(i--,i===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var ie='"',re="'";function ne(e,t){let i="",s="",r=!1;for(;t<e.length;t++){if(e[t]===ie||e[t]===re)s===""?s=e[t]:s!==e[t]||(s="");else if(e[t]===">"&&s===""){r=!0;break}i+=e[t]}return s!==""?!1:{value:i,index:t,tagClosed:r}}var oe=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function ot(e,t){let i=U.getAllMatches(e,oe),s={};for(let r=0;r<i.length;r++){if(i[r][1].length===0)return g("InvalidAttr","Attribute '"+i[r][2]+"' has no space in starting.",P(i[r]));if(i[r][3]!==void 0&&i[r][4]===void 0)return g("InvalidAttr","Attribute '"+i[r][2]+"' is without value.",P(i[r]));if(i[r][3]===void 0&&!t.allowBooleanAttributes)return g("InvalidAttr","boolean attribute '"+i[r][2]+"' is not allowed.",P(i[r]));let n=i[r][2];if(!ce(n))return g("InvalidAttr","Attribute '"+n+"' is an invalid name.",P(i[r]));if(!s.hasOwnProperty(n))s[n]=1;else return g("InvalidAttr","Attribute '"+n+"' is repeated.",P(i[r]))}return!0}function ae(e,t){let i=/\d/;for(e[t]==="x"&&(t++,i=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(i))break}return-1}function he(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,ae(e,t);let i=0;for(;t<e.length;t++,i++)if(!(e[t].match(/\w/)&&i<20)){if(e[t]===";")break;return-1}return t}function g(e,t,i){return{err:{code:e,msg:t,line:i.line||i,col:i.col}}}function ce(e){return U.isName(e)}function ue(e){return U.isName(e)}function T(e,t){let i=e.substring(0,t).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function P(e){return e.startIndex+e[1].length}});var ct=m($=>{var ht={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,i){return e}},le=function(e){return Object.assign({},ht,e)};$.buildOptions=le;$.defaultOptions=ht});var lt=m((Ss,ut)=>{"use strict";var q=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,i){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:i})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};ut.exports=q});var pt=m((As,ft)=>{var fe=R();function pe(e,t){let i={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let s=1,r=!1,n=!1,a="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&Ne(e,t))t+=7,[entityName,val,t]=de(e,t+1),val.indexOf("&")===-1&&(i[be(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&Te(e,t))t+=8;else if(r&&me(e,t))t+=8;else if(r&&Ee(e,t))t+=9;else if(ge)n=!0;else throw new Error("Invalid DOCTYPE");s++,a=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,s--):s--,s===0)break}else e[t]==="["?r=!0:a+=e[t];if(s!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:t}}function de(e,t){let i="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)i+=e[t];if(i=i.trim(),i.indexOf(" ")!==-1)throw new Error("External entites are not supported");let s=e[t++],r="";for(;t<e.length&&e[t]!==s;t++)r+=e[t];return[i,r,t]}function ge(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Ne(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function Te(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function me(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function Ee(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function be(e){if(fe.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}ft.exports=pe});var gt=m((Is,dt)=>{var Se=/^[-+]?0x[a-fA-F0-9]+$/,Ae=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Ie={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function ye(e,t={}){if(t=Object.assign({},Ie,t),!e||typeof e!="string")return e;let i=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(i))return e;if(t.hex&&Se.test(i))return Number.parseInt(i,16);{let s=Ae.exec(i);if(s){let r=s[1],n=s[2],a=xe(s[3]),h=s[4]||s[6];if(!t.leadingZeros&&n.length>0&&r&&i[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&i[1]!==".")return e;{let o=Number(i),c=""+o;return c.search(/[eE]/)!==-1||h?t.eNotation?o:e:i.indexOf(".")!==-1?c==="0"&&a===""||c===a||r&&c==="-"+a?o:e:n?a===c||r+a===c?o:e:i===c||i===r+c?o:e}}else return e}}function xe(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}dt.exports=ye});var W=m((ys,Nt)=>{function Fe(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let i of e)if(typeof i=="string"&&t===i||i instanceof RegExp&&i.test(t))return!0}:()=>!1}Nt.exports=Fe});var Et=m((xs,mt)=>{"use strict";var Tt=R(),w=lt(),Ce=pt(),Oe=gt(),_e=W(),k=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(i,s)=>String.fromCharCode(Number.parseInt(s,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(i,s)=>String.fromCharCode(Number.parseInt(s,16))}},this.addExternalEntities=Pe,this.parseXml=Re,this.parseTextData=we,this.resolveNameSpace=Le,this.buildAttributesMap=Me,this.isItStopNode=Ge,this.replaceEntitiesValue=ve,this.readStopNodeData=qe,this.saveTextToParentTag=Ue,this.addChild=Ve,this.ignoreAttributesFn=_e(this.options.ignoreAttributes)}};function Pe(e){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=t[i];this.lastEntities[s]={regex:new RegExp("&"+s+";","g"),val:e[s]}}}function we(e,t,i,s,r,n,a){if(e!==void 0&&(this.options.trimValues&&!s&&(e=e.trim()),e.length>0)){a||(e=this.replaceEntitiesValue(e));let h=this.options.tagValueProcessor(t,e,i,r,n);return h==null?e:typeof h!=typeof e||h!==e?h:this.options.trimValues?X(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?X(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Le(e){if(this.options.removeNSPrefix){let t=e.split(":"),i=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=i+t[1])}return e}var Be=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Me(e,t,i){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let s=Tt.getAllMatches(e,Be),r=s.length,n={};for(let a=0;a<r;a++){let h=this.resolveNameSpace(s[a][1]);if(this.ignoreAttributesFn(h,t))continue;let o=s[a][4],c=this.options.attributeNamePrefix+h;if(h.length)if(this.options.transformAttributeName&&(c=this.options.transformAttributeName(c)),c==="__proto__"&&(c="#__proto__"),o!==void 0){this.options.trimValues&&(o=o.trim()),o=this.replaceEntitiesValue(o);let u=this.options.attributeValueProcessor(h,o,t);u==null?n[c]=o:typeof u!=typeof o||u!==o?n[c]=u:n[c]=X(o,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[c]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=n,a}return n}}var Re=function(e){e=e.replace(/\r\n?/g,`
10
- `);let t=new w("!xml"),i=t,s="",r="";for(let n=0;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="/"){let h=I(e,">",n,"Closing Tag is not closed."),o=e.substring(n+2,h).trim();if(this.options.removeNSPrefix){let l=o.indexOf(":");l!==-1&&(o=o.substr(l+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(s=this.saveTextToParentTag(s,i,r));let c=r.substring(r.lastIndexOf(".")+1);if(o&&this.options.unpairedTags.indexOf(o)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);let u=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(u=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=r.lastIndexOf("."),r=r.substring(0,u),i=this.tagsNodeStack.pop(),s="",n=h}else if(e[n+1]==="?"){let h=Y(e,n,!1,"?>");if(!h)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,i,r),!(this.options.ignoreDeclaration&&h.tagName==="?xml"||this.options.ignorePiTags)){let o=new w(h.tagName);o.add(this.options.textNodeName,""),h.tagName!==h.tagExp&&h.attrExpPresent&&(o[":@"]=this.buildAttributesMap(h.tagExp,r,h.tagName)),this.addChild(i,o,r)}n=h.closeIndex+1}else if(e.substr(n+1,3)==="!--"){let h=I(e,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(n+4,h-2);s=this.saveTextToParentTag(s,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}n=h}else if(e.substr(n+1,2)==="!D"){let h=Ce(e,n);this.docTypeEntities=h.entities,n=h.i}else if(e.substr(n+1,2)==="!["){let h=I(e,"]]>",n,"CDATA is not closed.")-2,o=e.substring(n+9,h);s=this.saveTextToParentTag(s,i,r);let c=this.parseTextData(o,i.tagname,r,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,c),n=h+2}else{let h=Y(e,n,this.options.removeNSPrefix),o=h.tagName,c=h.rawTagName,u=h.tagExp,l=h.attrExpPresent,p=h.closeIndex;this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&s&&i.tagname!=="!xml"&&(s=this.saveTextToParentTag(s,i,r,!1));let N=i;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),o!==t.tagname&&(r+=r?"."+o:o),this.isItStopNode(this.options.stopNodes,r,o)){let d="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)o[o.length-1]==="/"?(o=o.substr(0,o.length-1),r=r.substr(0,r.length-1),u=o):u=u.substr(0,u.length-1),n=h.closeIndex;else if(this.options.unpairedTags.indexOf(o)!==-1)n=h.closeIndex;else{let b=this.readStopNodeData(e,c,p+1);if(!b)throw new Error(`Unexpected end of ${c}`);n=b.i,d=b.tagContent}let F=new w(o);o!==u&&l&&(F[":@"]=this.buildAttributesMap(u,r,o)),d&&(d=this.parseTextData(d,o,r,!0,l,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),F.add(this.options.textNodeName,d),this.addChild(i,F,r)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){o[o.length-1]==="/"?(o=o.substr(0,o.length-1),r=r.substr(0,r.length-1),u=o):u=u.substr(0,u.length-1),this.options.transformTagName&&(o=this.options.transformTagName(o));let d=new w(o);o!==u&&l&&(d[":@"]=this.buildAttributesMap(u,r,o)),this.addChild(i,d,r),r=r.substr(0,r.lastIndexOf("."))}else{let d=new w(o);this.tagsNodeStack.push(i),o!==u&&l&&(d[":@"]=this.buildAttributesMap(u,r,o)),this.addChild(i,d,r),i=d}s="",n=p}}else s+=e[n];return t.child};function Ve(e,t,i){let s=this.options.updateTag(t.tagname,i,t[":@"]);s===!1||(typeof s=="string"&&(t.tagname=s),e.addChild(t))}var ve=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let i=this.docTypeEntities[t];e=e.replace(i.regx,i.val)}for(let t in this.lastEntities){let i=this.lastEntities[t];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let i=this.htmlEntities[t];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function Ue(e,t,i,s){return e&&(s===void 0&&(s=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,i,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,s),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function Ge(e,t,i){let s="*."+i;for(let r in e){let n=e[r];if(s===n||t===n)return!0}return!1}function $e(e,t,i=">"){let s,r="";for(let n=t;n<e.length;n++){let a=e[n];if(s)a===s&&(s="");else if(a==='"'||a==="'")s=a;else if(a===i[0])if(i[1]){if(e[n+1]===i[1])return{data:r,index:n}}else return{data:r,index:n};else a===" "&&(a=" ");r+=a}}function I(e,t,i,s){let r=e.indexOf(t,i);if(r===-1)throw new Error(s);return r+t.length-1}function Y(e,t,i,s=">"){let r=$e(e,t+1,s);if(!r)return;let n=r.data,a=r.index,h=n.search(/\s/),o=n,c=!0;h!==-1&&(o=n.substring(0,h),n=n.substring(h+1).trimStart());let u=o;if(i){let l=o.indexOf(":");l!==-1&&(o=o.substr(l+1),c=o!==r.data.substr(l+1))}return{tagName:o,tagExp:n,closeIndex:a,attrExpPresent:c,rawTagName:u}}function qe(e,t,i){let s=i,r=1;for(;i<e.length;i++)if(e[i]==="<")if(e[i+1]==="/"){let n=I(e,">",i,`${t} is not closed`);if(e.substring(i+2,n).trim()===t&&(r--,r===0))return{tagContent:e.substring(s,i),i:n};i=n}else if(e[i+1]==="?")i=I(e,"?>",i+1,"StopNode is not closed.");else if(e.substr(i+1,3)==="!--")i=I(e,"-->",i+3,"StopNode is not closed.");else if(e.substr(i+1,2)==="![")i=I(e,"]]>",i,"StopNode is not closed.")-2;else{let n=Y(e,i,">");n&&((n&&n.tagName)===t&&n.tagExp[n.tagExp.length-1]!=="/"&&r++,i=n.closeIndex)}}function X(e,t,i){if(t&&typeof e=="string"){let s=e.trim();return s==="true"?!0:s==="false"?!1:Oe(e,i)}else return Tt.isExist(e)?e:""}mt.exports=k});var At=m(St=>{"use strict";function We(e,t){return bt(e,t)}function bt(e,t,i){let s,r={};for(let n=0;n<e.length;n++){let a=e[n],h=ke(a),o="";if(i===void 0?o=h:o=i+"."+h,h===t.textNodeName)s===void 0?s=a[h]:s+=""+a[h];else{if(h===void 0)continue;if(a[h]){let c=bt(a[h],t,o),u=Xe(c,t);a[":@"]?Ye(c,a[":@"],o,t):Object.keys(c).length===1&&c[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?c=c[t.textNodeName]:Object.keys(c).length===0&&(t.alwaysCreateTextNode?c[t.textNodeName]="":c=""),r[h]!==void 0&&r.hasOwnProperty(h)?(Array.isArray(r[h])||(r[h]=[r[h]]),r[h].push(c)):t.isArray(h,o,u)?r[h]=[c]:r[h]=c}}}return typeof s=="string"?s.length>0&&(r[t.textNodeName]=s):s!==void 0&&(r[t.textNodeName]=s),r}function ke(e){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=t[i];if(s!==":@")return s}}function Ye(e,t,i,s){if(t){let r=Object.keys(t),n=r.length;for(let a=0;a<n;a++){let h=r[a];s.isArray(h,i+"."+h,!0,!0)?e[h]=[t[h]]:e[h]=t[h]}}}function Xe(e,t){let{textNodeName:i}=t,s=Object.keys(e).length;return!!(s===0||s===1&&(e[i]||typeof e[i]=="boolean"||e[i]===0))}St.prettify=We});var yt=m((Cs,It)=>{var{buildOptions:Qe}=ct(),He=Et(),{prettify:ze}=At(),Ke=G(),Q=class{constructor(t){this.externalEntities={},this.options=Qe(t)}parse(t,i){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let n=Ke.validate(t,i);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let s=new He(this.options);s.addExternalEntities(this.externalEntities);let r=s.parseXml(t);return this.options.preserveOrder||r===void 0?r:ze(r,this.options)}addEntity(t,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=i}};It.exports=Q});var _t=m((Os,Ot)=>{var Ze=`
9
+ `||e==="\r"}function rt(e,t){let i=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let s=e.substr(i,t-i);if(t>5&&s==="xml")return g("InvalidXml","XML declaration allowed only at the start of the document.",T(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function nt(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let i=1;for(t+=8;t<e.length;t++)if(e[t]==="<")i++;else if(e[t]===">"&&(i--,i===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var ie='"',re="'";function ne(e,t){let i="",s="",r=!1;for(;t<e.length;t++){if(e[t]===ie||e[t]===re)s===""?s=e[t]:s!==e[t]||(s="");else if(e[t]===">"&&s===""){r=!0;break}i+=e[t]}return s!==""?!1:{value:i,index:t,tagClosed:r}}var oe=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function ot(e,t){let i=U.getAllMatches(e,oe),s={};for(let r=0;r<i.length;r++){if(i[r][1].length===0)return g("InvalidAttr","Attribute '"+i[r][2]+"' has no space in starting.",P(i[r]));if(i[r][3]!==void 0&&i[r][4]===void 0)return g("InvalidAttr","Attribute '"+i[r][2]+"' is without value.",P(i[r]));if(i[r][3]===void 0&&!t.allowBooleanAttributes)return g("InvalidAttr","boolean attribute '"+i[r][2]+"' is not allowed.",P(i[r]));let n=i[r][2];if(!ce(n))return g("InvalidAttr","Attribute '"+n+"' is an invalid name.",P(i[r]));if(!s.hasOwnProperty(n))s[n]=1;else return g("InvalidAttr","Attribute '"+n+"' is repeated.",P(i[r]))}return!0}function ae(e,t){let i=/\d/;for(e[t]==="x"&&(t++,i=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(i))break}return-1}function he(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,ae(e,t);let i=0;for(;t<e.length;t++,i++)if(!(e[t].match(/\w/)&&i<20)){if(e[t]===";")break;return-1}return t}function g(e,t,i){return{err:{code:e,msg:t,line:i.line||i,col:i.col}}}function ce(e){return U.isName(e)}function ue(e){return U.isName(e)}function T(e,t){let i=e.substring(0,t).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function P(e){return e.startIndex+e[1].length}});var ct=m(q=>{var ht={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,i){return e}},le=function(e){return Object.assign({},ht,e)};q.buildOptions=le;q.defaultOptions=ht});var lt=m((Ss,ut)=>{"use strict";var $=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,i){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:i})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};ut.exports=$});var pt=m((As,ft)=>{var fe=R();function pe(e,t){let i={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let s=1,r=!1,n=!1,a="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&Ne(e,t))t+=7,[entityName,val,t]=de(e,t+1),val.indexOf("&")===-1&&(i[be(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&Te(e,t))t+=8;else if(r&&me(e,t))t+=8;else if(r&&Ee(e,t))t+=9;else if(ge)n=!0;else throw new Error("Invalid DOCTYPE");s++,a=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,s--):s--,s===0)break}else e[t]==="["?r=!0:a+=e[t];if(s!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:t}}function de(e,t){let i="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)i+=e[t];if(i=i.trim(),i.indexOf(" ")!==-1)throw new Error("External entites are not supported");let s=e[t++],r="";for(;t<e.length&&e[t]!==s;t++)r+=e[t];return[i,r,t]}function ge(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Ne(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function Te(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function me(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function Ee(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function be(e){if(fe.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}ft.exports=pe});var gt=m((Is,dt)=>{var Se=/^[-+]?0x[a-fA-F0-9]+$/,Ae=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Ie={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function ye(e,t={}){if(t=Object.assign({},Ie,t),!e||typeof e!="string")return e;let i=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(i))return e;if(t.hex&&Se.test(i))return Number.parseInt(i,16);{let s=Ae.exec(i);if(s){let r=s[1],n=s[2],a=xe(s[3]),h=s[4]||s[6];if(!t.leadingZeros&&n.length>0&&r&&i[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&i[1]!==".")return e;{let o=Number(i),c=""+o;return c.search(/[eE]/)!==-1||h?t.eNotation?o:e:i.indexOf(".")!==-1?c==="0"&&a===""||c===a||r&&c==="-"+a?o:e:n?a===c||r+a===c?o:e:i===c||i===r+c?o:e}}else return e}}function xe(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}dt.exports=ye});var W=m((ys,Nt)=>{function Fe(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let i of e)if(typeof i=="string"&&t===i||i instanceof RegExp&&i.test(t))return!0}:()=>!1}Nt.exports=Fe});var Et=m((xs,mt)=>{"use strict";var Tt=R(),w=lt(),Ce=pt(),Oe=gt(),_e=W(),k=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(i,s)=>String.fromCharCode(Number.parseInt(s,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(i,s)=>String.fromCharCode(Number.parseInt(s,16))}},this.addExternalEntities=Pe,this.parseXml=Re,this.parseTextData=we,this.resolveNameSpace=Le,this.buildAttributesMap=Me,this.isItStopNode=Ge,this.replaceEntitiesValue=ve,this.readStopNodeData=$e,this.saveTextToParentTag=Ue,this.addChild=Ve,this.ignoreAttributesFn=_e(this.options.ignoreAttributes)}};function Pe(e){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=t[i];this.lastEntities[s]={regex:new RegExp("&"+s+";","g"),val:e[s]}}}function we(e,t,i,s,r,n,a){if(e!==void 0&&(this.options.trimValues&&!s&&(e=e.trim()),e.length>0)){a||(e=this.replaceEntitiesValue(e));let h=this.options.tagValueProcessor(t,e,i,r,n);return h==null?e:typeof h!=typeof e||h!==e?h:this.options.trimValues?X(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?X(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Le(e){if(this.options.removeNSPrefix){let t=e.split(":"),i=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=i+t[1])}return e}var Be=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Me(e,t,i){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let s=Tt.getAllMatches(e,Be),r=s.length,n={};for(let a=0;a<r;a++){let h=this.resolveNameSpace(s[a][1]);if(this.ignoreAttributesFn(h,t))continue;let o=s[a][4],c=this.options.attributeNamePrefix+h;if(h.length)if(this.options.transformAttributeName&&(c=this.options.transformAttributeName(c)),c==="__proto__"&&(c="#__proto__"),o!==void 0){this.options.trimValues&&(o=o.trim()),o=this.replaceEntitiesValue(o);let u=this.options.attributeValueProcessor(h,o,t);u==null?n[c]=o:typeof u!=typeof o||u!==o?n[c]=u:n[c]=X(o,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[c]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=n,a}return n}}var Re=function(e){e=e.replace(/\r\n?/g,`
10
+ `);let t=new w("!xml"),i=t,s="",r="";for(let n=0;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="/"){let h=I(e,">",n,"Closing Tag is not closed."),o=e.substring(n+2,h).trim();if(this.options.removeNSPrefix){let l=o.indexOf(":");l!==-1&&(o=o.substr(l+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(s=this.saveTextToParentTag(s,i,r));let c=r.substring(r.lastIndexOf(".")+1);if(o&&this.options.unpairedTags.indexOf(o)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);let u=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(u=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=r.lastIndexOf("."),r=r.substring(0,u),i=this.tagsNodeStack.pop(),s="",n=h}else if(e[n+1]==="?"){let h=Y(e,n,!1,"?>");if(!h)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,i,r),!(this.options.ignoreDeclaration&&h.tagName==="?xml"||this.options.ignorePiTags)){let o=new w(h.tagName);o.add(this.options.textNodeName,""),h.tagName!==h.tagExp&&h.attrExpPresent&&(o[":@"]=this.buildAttributesMap(h.tagExp,r,h.tagName)),this.addChild(i,o,r)}n=h.closeIndex+1}else if(e.substr(n+1,3)==="!--"){let h=I(e,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(n+4,h-2);s=this.saveTextToParentTag(s,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}n=h}else if(e.substr(n+1,2)==="!D"){let h=Ce(e,n);this.docTypeEntities=h.entities,n=h.i}else if(e.substr(n+1,2)==="!["){let h=I(e,"]]>",n,"CDATA is not closed.")-2,o=e.substring(n+9,h);s=this.saveTextToParentTag(s,i,r);let c=this.parseTextData(o,i.tagname,r,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,c),n=h+2}else{let h=Y(e,n,this.options.removeNSPrefix),o=h.tagName,c=h.rawTagName,u=h.tagExp,l=h.attrExpPresent,p=h.closeIndex;this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&s&&i.tagname!=="!xml"&&(s=this.saveTextToParentTag(s,i,r,!1));let N=i;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),o!==t.tagname&&(r+=r?"."+o:o),this.isItStopNode(this.options.stopNodes,r,o)){let d="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)o[o.length-1]==="/"?(o=o.substr(0,o.length-1),r=r.substr(0,r.length-1),u=o):u=u.substr(0,u.length-1),n=h.closeIndex;else if(this.options.unpairedTags.indexOf(o)!==-1)n=h.closeIndex;else{let b=this.readStopNodeData(e,c,p+1);if(!b)throw new Error(`Unexpected end of ${c}`);n=b.i,d=b.tagContent}let F=new w(o);o!==u&&l&&(F[":@"]=this.buildAttributesMap(u,r,o)),d&&(d=this.parseTextData(d,o,r,!0,l,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),F.add(this.options.textNodeName,d),this.addChild(i,F,r)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){o[o.length-1]==="/"?(o=o.substr(0,o.length-1),r=r.substr(0,r.length-1),u=o):u=u.substr(0,u.length-1),this.options.transformTagName&&(o=this.options.transformTagName(o));let d=new w(o);o!==u&&l&&(d[":@"]=this.buildAttributesMap(u,r,o)),this.addChild(i,d,r),r=r.substr(0,r.lastIndexOf("."))}else{let d=new w(o);this.tagsNodeStack.push(i),o!==u&&l&&(d[":@"]=this.buildAttributesMap(u,r,o)),this.addChild(i,d,r),i=d}s="",n=p}}else s+=e[n];return t.child};function Ve(e,t,i){let s=this.options.updateTag(t.tagname,i,t[":@"]);s===!1||(typeof s=="string"&&(t.tagname=s),e.addChild(t))}var ve=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let i=this.docTypeEntities[t];e=e.replace(i.regx,i.val)}for(let t in this.lastEntities){let i=this.lastEntities[t];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let i=this.htmlEntities[t];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function Ue(e,t,i,s){return e&&(s===void 0&&(s=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,i,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,s),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function Ge(e,t,i){let s="*."+i;for(let r in e){let n=e[r];if(s===n||t===n)return!0}return!1}function qe(e,t,i=">"){let s,r="";for(let n=t;n<e.length;n++){let a=e[n];if(s)a===s&&(s="");else if(a==='"'||a==="'")s=a;else if(a===i[0])if(i[1]){if(e[n+1]===i[1])return{data:r,index:n}}else return{data:r,index:n};else a===" "&&(a=" ");r+=a}}function I(e,t,i,s){let r=e.indexOf(t,i);if(r===-1)throw new Error(s);return r+t.length-1}function Y(e,t,i,s=">"){let r=qe(e,t+1,s);if(!r)return;let n=r.data,a=r.index,h=n.search(/\s/),o=n,c=!0;h!==-1&&(o=n.substring(0,h),n=n.substring(h+1).trimStart());let u=o;if(i){let l=o.indexOf(":");l!==-1&&(o=o.substr(l+1),c=o!==r.data.substr(l+1))}return{tagName:o,tagExp:n,closeIndex:a,attrExpPresent:c,rawTagName:u}}function $e(e,t,i){let s=i,r=1;for(;i<e.length;i++)if(e[i]==="<")if(e[i+1]==="/"){let n=I(e,">",i,`${t} is not closed`);if(e.substring(i+2,n).trim()===t&&(r--,r===0))return{tagContent:e.substring(s,i),i:n};i=n}else if(e[i+1]==="?")i=I(e,"?>",i+1,"StopNode is not closed.");else if(e.substr(i+1,3)==="!--")i=I(e,"-->",i+3,"StopNode is not closed.");else if(e.substr(i+1,2)==="![")i=I(e,"]]>",i,"StopNode is not closed.")-2;else{let n=Y(e,i,">");n&&((n&&n.tagName)===t&&n.tagExp[n.tagExp.length-1]!=="/"&&r++,i=n.closeIndex)}}function X(e,t,i){if(t&&typeof e=="string"){let s=e.trim();return s==="true"?!0:s==="false"?!1:Oe(e,i)}else return Tt.isExist(e)?e:""}mt.exports=k});var At=m(St=>{"use strict";function We(e,t){return bt(e,t)}function bt(e,t,i){let s,r={};for(let n=0;n<e.length;n++){let a=e[n],h=ke(a),o="";if(i===void 0?o=h:o=i+"."+h,h===t.textNodeName)s===void 0?s=a[h]:s+=""+a[h];else{if(h===void 0)continue;if(a[h]){let c=bt(a[h],t,o),u=Xe(c,t);a[":@"]?Ye(c,a[":@"],o,t):Object.keys(c).length===1&&c[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?c=c[t.textNodeName]:Object.keys(c).length===0&&(t.alwaysCreateTextNode?c[t.textNodeName]="":c=""),r[h]!==void 0&&r.hasOwnProperty(h)?(Array.isArray(r[h])||(r[h]=[r[h]]),r[h].push(c)):t.isArray(h,o,u)?r[h]=[c]:r[h]=c}}}return typeof s=="string"?s.length>0&&(r[t.textNodeName]=s):s!==void 0&&(r[t.textNodeName]=s),r}function ke(e){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=t[i];if(s!==":@")return s}}function Ye(e,t,i,s){if(t){let r=Object.keys(t),n=r.length;for(let a=0;a<n;a++){let h=r[a];s.isArray(h,i+"."+h,!0,!0)?e[h]=[t[h]]:e[h]=t[h]}}}function Xe(e,t){let{textNodeName:i}=t,s=Object.keys(e).length;return!!(s===0||s===1&&(e[i]||typeof e[i]=="boolean"||e[i]===0))}St.prettify=We});var yt=m((Cs,It)=>{var{buildOptions:Qe}=ct(),He=Et(),{prettify:ze}=At(),Ke=G(),Q=class{constructor(t){this.externalEntities={},this.options=Qe(t)}parse(t,i){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let n=Ke.validate(t,i);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let s=new He(this.options);s.addExternalEntities(this.externalEntities);let r=s.parseXml(t);return this.options.preserveOrder||r===void 0?r:ze(r,this.options)}addEntity(t,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=i}};It.exports=Q});var _t=m((Os,Ot)=>{var Ze=`
11
11
  `;function Je(e,t){let i="";return t.format&&t.indentBy.length>0&&(i=Ze),Ft(e,t,"",i)}function Ft(e,t,i,s){let r="",n=!1;for(let a=0;a<e.length;a++){let h=e[a],o=je(h);if(o===void 0)continue;let c="";if(i.length===0?c=o:c=`${i}.${o}`,o===t.textNodeName){let d=h[o];De(c,t)||(d=t.tagValueProcessor(o,d),d=Ct(d,t)),n&&(r+=s),r+=d,n=!1;continue}else if(o===t.cdataPropName){n&&(r+=s),r+=`<![CDATA[${h[o][0][t.textNodeName]}]]>`,n=!1;continue}else if(o===t.commentPropName){r+=s+`<!--${h[o][0][t.textNodeName]}-->`,n=!0;continue}else if(o[0]==="?"){let d=xt(h[":@"],t),F=o==="?xml"?"":s,b=h[o][0][t.textNodeName];b=b.length!==0?" "+b:"",r+=F+`<${o}${b}${d}?>`,n=!0;continue}let u=s;u!==""&&(u+=t.indentBy);let l=xt(h[":@"],t),p=s+`<${o}${l}`,N=Ft(h[o],t,c,u);t.unpairedTags.indexOf(o)!==-1?t.suppressUnpairedNode?r+=p+">":r+=p+"/>":(!N||N.length===0)&&t.suppressEmptyNode?r+=p+"/>":N&&N.endsWith(">")?r+=p+`>${N}${s}</${o}>`:(r+=p+">",N&&s!==""&&(N.includes("/>")||N.includes("</"))?r+=s+t.indentBy+N+s:r+=N,r+=`</${o}>`),n=!0}return r}function je(e){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=t[i];if(e.hasOwnProperty(s)&&s!==":@")return s}}function xt(e,t){let i="";if(e&&!t.ignoreAttributes)for(let s in e){if(!e.hasOwnProperty(s))continue;let r=t.attributeValueProcessor(s,e[s]);r=Ct(r,t),r===!0&&t.suppressBooleanAttributes?i+=` ${s.substr(t.attributeNamePrefix.length)}`:i+=` ${s.substr(t.attributeNamePrefix.length)}="${r}"`}return i}function De(e,t){e=e.substr(0,e.length-t.textNodeName.length-1);let i=e.substr(e.lastIndexOf(".")+1);for(let s in t.stopNodes)if(t.stopNodes[s]===e||t.stopNodes[s]==="*."+i)return!0;return!1}function Ct(e,t){if(e&&e.length>0&&t.processEntities)for(let i=0;i<t.entities.length;i++){let s=t.entities[i];e=e.replace(s.regex,s.val)}return e}Ot.exports=Je});var wt=m((_s,Pt)=>{"use strict";var ts=_t(),es=W(),ss={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function S(e){this.options=Object.assign({},ss,e),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=es(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=ns),this.processTextOrObjNode=is,this.options.format?(this.indentate=rs,this.tagEndChar=`>
12
12
  `,this.newLine=`
13
13
  `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}S.prototype.build=function(e){return this.options.preserveOrder?ts(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)};S.prototype.j2x=function(e,t,i){let s="",r="",n=i.join(".");for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a))if(typeof e[a]>"u")this.isAttribute(a)&&(r+="");else if(e[a]===null)this.isAttribute(a)?r+="":a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(e[a]instanceof Date)r+=this.buildTextValNode(e[a],a,"",t);else if(typeof e[a]!="object"){let h=this.isAttribute(a);if(h&&!this.ignoreAttributesFn(h,n))s+=this.buildAttrPairStr(h,""+e[a]);else if(!h)if(a===this.options.textNodeName){let o=this.options.tagValueProcessor(a,""+e[a]);r+=this.replaceEntitiesValue(o)}else r+=this.buildTextValNode(e[a],a,"",t)}else if(Array.isArray(e[a])){let h=e[a].length,o="",c="";for(let u=0;u<h;u++){let l=e[a][u];if(!(typeof l>"u"))if(l===null)a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(typeof l=="object")if(this.options.oneListGroup){let p=this.j2x(l,t+1,i.concat(a));o+=p.val,this.options.attributesGroupName&&l.hasOwnProperty(this.options.attributesGroupName)&&(c+=p.attrStr)}else o+=this.processTextOrObjNode(l,a,t,i);else if(this.options.oneListGroup){let p=this.options.tagValueProcessor(a,l);p=this.replaceEntitiesValue(p),o+=p}else o+=this.buildTextValNode(l,a,"",t)}this.options.oneListGroup&&(o=this.buildObjectNode(o,a,c,t)),r+=o}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){let h=Object.keys(e[a]),o=h.length;for(let c=0;c<o;c++)s+=this.buildAttrPairStr(h[c],""+e[a][h[c]])}else r+=this.processTextOrObjNode(e[a],a,t,i);return{attrStr:s,val:r}};S.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+e:" "+e+'="'+t+'"'};function is(e,t,i,s){let r=this.j2x(e,i+1,s.concat(t));return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,i):this.buildObjectNode(r.val,t,r.attrStr,i)}S.prototype.buildObjectNode=function(e,t,i,s){if(e==="")return t[0]==="?"?this.indentate(s)+"<"+t+i+"?"+this.tagEndChar:this.indentate(s)+"<"+t+i+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,n="";return t[0]==="?"&&(n="?",r=""),(i||i==="")&&e.indexOf("<")===-1?this.indentate(s)+"<"+t+i+n+">"+e+r:this.options.commentPropName!==!1&&t===this.options.commentPropName&&n.length===0?this.indentate(s)+`<!--${e}-->`+this.newLine:this.indentate(s)+"<"+t+i+n+this.tagEndChar+e+this.indentate(s)+r}};S.prototype.closeTag=function(e){let t="";return this.options.unpairedTags.indexOf(e)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${e}`,t};S.prototype.buildTextValNode=function(e,t,i,s){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(s)+`<![CDATA[${e}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(s)+`<!--${e}-->`+this.newLine;if(t[0]==="?")return this.indentate(s)+"<"+t+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),r===""?this.indentate(s)+"<"+t+i+this.closeTag(t)+this.tagEndChar:this.indentate(s)+"<"+t+i+">"+r+"</"+t+this.tagEndChar}};S.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let i=this.options.entities[t];e=e.replace(i.regex,i.val)}return e};function rs(e){return this.options.indentBy.repeat(e)}function ns(e){return e.startsWith(this.options.attributeNamePrefix)&&e!==this.options.textNodeName?e.substr(this.attrPrefixLen):!1}Pt.exports=S});var Bt=m((Ps,Lt)=>{"use strict";var os=G(),as=yt(),hs=wt();Lt.exports={XMLParser:as,XMLValidator:os,XMLBuilder:hs}});var L={};Xt(L,{HTMLLoader:()=>vt,SAXParser:()=>A,XMLLoader:()=>y,_uncapitalize:()=>v,_uncapitalizeKeys:()=>x,convertXMLFieldToArrayInPlace:()=>Ut,convertXMLValueToArray:()=>K});M(L,Z(D(),1));var tt={ontext:()=>{},onprocessinginstruction:()=>{},onsgmldeclaration:()=>{},ondoctype:()=>{},oncomment:()=>{},onopentagstart:()=>{},onattribute:()=>{},onopentag:()=>{},onclosetag:()=>{},onopencdata:()=>{},oncdata:()=>{},onclosecdata:()=>{},onerror:()=>{},onend:()=>{},onready:()=>{},onscript:()=>{},onopennamespace:()=>{},onclosenamespace:()=>{}},Ht={...tt,strict:!1,MAX_BUFFER_LENGTH:64*1024,lowercase:!1,lowercasetags:!1,noscript:!1,strictEntities:!1,xmlns:void 0,position:void 0,trim:void 0,normalize:void 0},zt=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Kt=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"],O=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,V=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,Zt=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Jt=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,_={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(_).forEach(e=>{let t=_[e];_[e]=typeof t=="number"?String.fromCharCode(t):t});var f=class{EVENTS=zt;ENTITIES={..._};XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};S=0;opt;trackPosition=!1;column=0;line=0;c="";error;q="";bufferCheckPosition;closed=!1;tags=[];looseCase="";closedRoot=!1;sawRoot=!1;strict=!1;tag;strictEntities;state;noscript=!1;attribList=[];ns;position=0;STATE={BEGIN:this.S++,BEGIN_WHITESPACE:this.S++,TEXT:this.S++,TEXT_ENTITY:this.S++,OPEN_WAKA:this.S++,SGML_DECL:this.S++,SGML_DECL_QUOTED:this.S++,DOCTYPE:this.S++,DOCTYPE_QUOTED:this.S++,DOCTYPE_DTD:this.S++,DOCTYPE_DTD_QUOTED:this.S++,COMMENT_STARTING:this.S++,COMMENT:this.S++,COMMENT_ENDING:this.S++,COMMENT_ENDED:this.S++,CDATA:this.S++,CDATA_ENDING:this.S++,CDATA_ENDING_2:this.S++,PROC_INST:this.S++,PROC_INST_BODY:this.S++,PROC_INST_ENDING:this.S++,OPEN_TAG:this.S++,OPEN_TAG_SLASH:this.S++,ATTRIB:this.S++,ATTRIB_NAME:this.S++,ATTRIB_NAME_SAW_WHITE:this.S++,ATTRIB_VALUE:this.S++,ATTRIB_VALUE_QUOTED:this.S++,ATTRIB_VALUE_CLOSED:this.S++,ATTRIB_VALUE_UNQUOTED:this.S++,ATTRIB_VALUE_ENTITY_Q:this.S++,ATTRIB_VALUE_ENTITY_U:this.S++,CLOSE_TAG:this.S++,CLOSE_TAG_SAW_WHITE:this.S++,SCRIPT:this.S++,SCRIPT_ENDING:this.S++};BUFFERS=Kt;CDATA="[CDATA[";DOCTYPE="DOCTYPE";XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/";rootNS={xml:this.XML_NAMESPACE,xmlns:this.XMLNS_NAMESPACE};comment;sgmlDecl;textNode="";tagName;doctype;procInstName;procInstBody;entity="";attribName;attribValue;cdata="";script="";startTagPosition=0;constructor(){this.S=0;for(let t in this.STATE)this.STATE.hasOwnProperty(t)&&(this.STATE[this.STATE[t]]=t);this.S=this.STATE}static charAt(t,i){let s="";return i<t.length&&(s=t.charAt(i)),s}static isWhitespace(t){return t===" "||t===`
@@ -18,6 +18,6 @@ Line: ${this.line}
18
18
  Column: ${this.column}
19
19
  Char: ${this.c}`);let i=new Error(t);return this.error=i,this.emit("onerror",i),this}attrib(){if(this.strict||(this.attribName=this.attribName[this.looseCase]()),this.attribList.indexOf(this.attribName)!==-1||this.tag.attributes.hasOwnProperty(this.attribName)){this.attribName=this.attribValue="";return}if(this.opt.xmlns){let t=f.qname(this.attribName,!0),i=t.prefix,s=t.local;if(i==="xmlns")if(s==="xml"&&this.attribValue!==this.XML_NAMESPACE)this.strictFail(`xml: prefix must be bound to ${this.XML_NAMESPACE}
20
20
  Actual: ${this.attribValue}`);else if(s==="xmlns"&&this.attribValue!==this.XMLNS_NAMESPACE)this.strictFail(`xmlns: prefix must be bound to ${this.XMLNS_NAMESPACE}
21
- Actual: ${this.attribValue}`);else{let r=this.tag,n=this.tags[this.tags.length-1]||this;r.ns===n.ns&&(r.ns=Object.create(n.ns)),r.ns[s]=this.attribValue}this.attribList.push([this.attribName,this.attribValue])}else this.tag.attributes[this.attribName]=this.attribValue,this.emitNode("onattribute",{name:this.attribName,value:this.attribValue});this.attribName=this.attribValue=""}newTag(){this.strict||(this.tagName=this.tagName[this.looseCase]());let t=this.tags[this.tags.length-1]||this,i=this.tag={name:this.tagName,attributes:{}};this.opt.xmlns&&(i.ns=t.ns),this.attribList.length=0,this.emitNode("onopentagstart",i)}parseEntity(){let t=this.entity,i=t.toLowerCase(),s=NaN,r="";return this.ENTITIES[t]?this.ENTITIES[t]:this.ENTITIES[i]?this.ENTITIES[i]:(t=i,t.charAt(0)==="#"&&(t.charAt(1)==="x"?(t=t.slice(2),s=parseInt(t,16),r=s.toString(16)):(t=t.slice(1),s=parseInt(t,10),r=s.toString(10))),t=t.replace(/^0+/,""),isNaN(s)||r.toLowerCase()!==t?(this.strictFail("Invalid character entity"),`&${this.entity};`):String.fromCodePoint(s))}beginWhiteSpace(t){t==="<"?(this.state=this.S.OPEN_WAKA,this.startTagPosition=this.position):f.isWhitespace(t)||(this.strictFail("Non-whitespace before first tag."),this.textNode=t,this.state=this.S.TEXT)}strictFail(t){if(typeof this!="object"||!(this instanceof A))throw new Error("bad call to strictFail");this.strict&&this.errorFunction(t)}textApplyOptions(t){return this.opt.trim&&(t=t.trim()),this.opt.normalize&&(t=t.replace(/\s+/g," ")),t}emitNode(t,i){this.textNode&&this.closeText(),this.emit(t,i)}closeText(){this.textNode=this.textApplyOptions(this.textNode),this.textNode!==void 0&&this.textNode!==""&&this.textNode!=="undefined"&&this.emit("ontext",this.textNode),this.textNode=""}checkBufferLength(){let t=Math.max(this.opt.MAX_BUFFER_LENGTH,10),i=0;for(let r=0,n=this.BUFFERS.length;r<n;r++){let a=this[this.BUFFERS[r]]?.length||0;if(a>t)switch(this.BUFFERS[r]){case"textNode":this.closeText();break;case"cdata":this.emitNode("oncdata",this.cdata),this.cdata="";break;case"script":this.emitNode("onscript",this.script),this.script="";break;default:this.errorFunction(`Max buffer length exceeded: ${this.BUFFERS[r]}`)}i=Math.max(i,a)}let s=this.opt.MAX_BUFFER_LENGTH-i;this.bufferCheckPosition=s+this.position}openTag(t){if(this.opt.xmlns){let i=this.tag,s=f.qname(this.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(this.tagName)}`),i.uri=s.prefix);let r=this.tags[this.tags.length-1]||this;if(i.ns&&r.ns!==i.ns){let n=this;Object.keys(i.ns).forEach(a=>{n.emitNode("onopennamespace",{prefix:a,uri:i.ns[a]})})}for(let n=0,a=this.attribList.length;n<a;n++){let h=this.attribList[n],o=h[0],c=h[1],u=f.qname(o,!0),l=u.prefix,p=u.local,N=l===""?"":i.ns[l]||"",d={name:o,value:c,prefix:l,local:p,uri:N};l&&l!=="xmlns"&&!N&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(l)}`),d.uri=l),this.tag.attributes[o]=d,this.emitNode("onattribute",d)}this.attribList.length=0}this.tag.isSelfClosing=Boolean(t),this.sawRoot=!0,this.tags.push(this.tag),this.emitNode("onopentag",this.tag),t||(!this.noscript&&this.tagName.toLowerCase()==="script"?this.state=this.S.SCRIPT:this.state=this.S.TEXT,this.tag=null,this.tagName=""),this.attribName=this.attribValue="",this.attribList.length=0}closeTag(){if(!this.tagName){this.strictFail("Weird empty close tag."),this.textNode+="</>",this.state=this.S.TEXT;return}if(this.script){if(this.tagName!=="script"){this.script+=`</${this.tagName}>`,this.tagName="",this.state=this.S.SCRIPT;return}this.emitNode("onscript",this.script),this.script=""}let t=this.tags.length,i=this.tagName;for(this.strict||(i=i[this.looseCase]());t--&&this.tags[t].name!==i;)this.strictFail("Unexpected close tag");if(t<0){this.strictFail(`Unmatched closing tag: ${this.tagName}`),this.textNode+=`</${this.tagName}>`,this.state=this.S.TEXT;return}this.tagName=i;let s=this.tags.length;for(;s-- >t;){let r=this.tag=this.tags.pop();this.tagName=this.tag.name,this.emitNode("onclosetag",this.tagName);let n={};for(let h in r.ns)r.ns.hasOwnProperty(h)&&(n[h]=r.ns[h]);let a=this.tags[this.tags.length-1]||this;if(this.opt.xmlns&&r.ns!==a.ns){let h=this;Object.keys(r.ns).forEach(o=>{let c=r.ns[o];h.emitNode("onclosenamespace",{prefix:o,uri:c})})}}t===0&&(this.closedRoot=!0),this.tagName=this.attribValue=this.attribName="",this.attribList.length=0,this.state=this.S.TEXT}},A=class extends f{opt=Ht;events=tt;constructor(t){super(),this.clearBuffers(),this.opt=t={...this.opt,...t},this.events={...this.events,...t},this.q=this.c="",this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.bufferCheckPosition=this.opt.MAX_BUFFER_LENGTH,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=Boolean(this.opt.strict),this.noscript=Boolean(this.opt.strict||this.opt.noscript),this.state=this.S.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(this.XML_ENTITIES):Object.create(this.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(this.rootNS)),this.trackPosition=this.opt.position!==!1,this.trackPosition&&(this.position=this.line=this.column=0),this.emit("onready")}resume(){return this.error=null,this}close(){return this.write(null)}flush(){this.flushBuffers()}};J(A,"ENTITIES",_);function v(e){return typeof e=="string"?e.charAt(0).toLowerCase()+e.slice(1):e}function x(e){if(Array.isArray(e))return e.map(t=>x(t));if(e&&typeof e=="object"){let t={};for(let[i,s]of Object.entries(e))t[v(i)]=x(s);return t}return e}var Mt=Z(Bt(),1);function H(e,t){if(t?._parser&&t._parser!=="fast-xml-parser")throw new Error(t?._parser);let i={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:t?.removeNSPrefix,textNodeName:t?.textNodeName,isArray:(r,n,a,h)=>Boolean(t?.arrayPaths?.some(c=>n===c)),...t?._fastXML},s=cs(e,i);return t?.uncapitalizeKeys?x(s):s}function cs(e,t){return new Mt.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...t}).parse(e)}var us="4.3.1",y={dataType:null,batchType:null,name:"XML",id:"xml",module:"xml",version:us,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:ls,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(e,t)=>H(new TextDecoder().decode(e),{...y.options.xml,...t?.xml}),parseTextSync:(e,t)=>H(e,{...y.options.xml,...t?.xml})};function ls(e){return e.startsWith("<?xml")}function z(e,t){return Rt(e||{},t)}function Rt(e,t,i=0){if(i>3)return t;let s={...e};for(let[r,n]of Object.entries(t))n&&typeof n=="object"&&!Array.isArray(n)?s[r]=Rt(s[r]||{},t[r],i+1):s[r]=t[r];return s}var vt={...y,name:"HTML",id:"html",extensions:["html","htm"],mimeTypes:["text/html"],testText:fs,parse:async(e,t)=>Vt(new TextDecoder().decode(e),t),parseTextSync:(e,t)=>Vt(e,t)};function fs(e){return e.startsWith("<html")}function Vt(e,t){return t=z(t,{xml:{_parser:"fast-xml-parser",_fastXML:{htmlEntities:!0}}}),y.parseTextSync?.(e,t)}function K(e){return Array.isArray(e)?e:(e&&typeof e=="object"&&e[0],e?[e]:[])}function Ut(e,t){e[t]=K(e[t])}return Qt(L);})();
21
+ Actual: ${this.attribValue}`);else{let r=this.tag,n=this.tags[this.tags.length-1]||this;r.ns===n.ns&&(r.ns=Object.create(n.ns)),r.ns[s]=this.attribValue}this.attribList.push([this.attribName,this.attribValue])}else this.tag.attributes[this.attribName]=this.attribValue,this.emitNode("onattribute",{name:this.attribName,value:this.attribValue});this.attribName=this.attribValue=""}newTag(){this.strict||(this.tagName=this.tagName[this.looseCase]());let t=this.tags[this.tags.length-1]||this,i=this.tag={name:this.tagName,attributes:{}};this.opt.xmlns&&(i.ns=t.ns),this.attribList.length=0,this.emitNode("onopentagstart",i)}parseEntity(){let t=this.entity,i=t.toLowerCase(),s=NaN,r="";return this.ENTITIES[t]?this.ENTITIES[t]:this.ENTITIES[i]?this.ENTITIES[i]:(t=i,t.charAt(0)==="#"&&(t.charAt(1)==="x"?(t=t.slice(2),s=parseInt(t,16),r=s.toString(16)):(t=t.slice(1),s=parseInt(t,10),r=s.toString(10))),t=t.replace(/^0+/,""),isNaN(s)||r.toLowerCase()!==t?(this.strictFail("Invalid character entity"),`&${this.entity};`):String.fromCodePoint(s))}beginWhiteSpace(t){t==="<"?(this.state=this.S.OPEN_WAKA,this.startTagPosition=this.position):f.isWhitespace(t)||(this.strictFail("Non-whitespace before first tag."),this.textNode=t,this.state=this.S.TEXT)}strictFail(t){if(typeof this!="object"||!(this instanceof A))throw new Error("bad call to strictFail");this.strict&&this.errorFunction(t)}textApplyOptions(t){return this.opt.trim&&(t=t.trim()),this.opt.normalize&&(t=t.replace(/\s+/g," ")),t}emitNode(t,i){this.textNode&&this.closeText(),this.emit(t,i)}closeText(){this.textNode=this.textApplyOptions(this.textNode),this.textNode!==void 0&&this.textNode!==""&&this.textNode!=="undefined"&&this.emit("ontext",this.textNode),this.textNode=""}checkBufferLength(){let t=Math.max(this.opt.MAX_BUFFER_LENGTH,10),i=0;for(let r=0,n=this.BUFFERS.length;r<n;r++){let a=this[this.BUFFERS[r]]?.length||0;if(a>t)switch(this.BUFFERS[r]){case"textNode":this.closeText();break;case"cdata":this.emitNode("oncdata",this.cdata),this.cdata="";break;case"script":this.emitNode("onscript",this.script),this.script="";break;default:this.errorFunction(`Max buffer length exceeded: ${this.BUFFERS[r]}`)}i=Math.max(i,a)}let s=this.opt.MAX_BUFFER_LENGTH-i;this.bufferCheckPosition=s+this.position}openTag(t){if(this.opt.xmlns){let i=this.tag,s=f.qname(this.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(this.tagName)}`),i.uri=s.prefix);let r=this.tags[this.tags.length-1]||this;if(i.ns&&r.ns!==i.ns){let n=this;Object.keys(i.ns).forEach(a=>{n.emitNode("onopennamespace",{prefix:a,uri:i.ns[a]})})}for(let n=0,a=this.attribList.length;n<a;n++){let h=this.attribList[n],o=h[0],c=h[1],u=f.qname(o,!0),l=u.prefix,p=u.local,N=l===""?"":i.ns[l]||"",d={name:o,value:c,prefix:l,local:p,uri:N};l&&l!=="xmlns"&&!N&&(this.strictFail(`Unbound namespace prefix: ${JSON.stringify(l)}`),d.uri=l),this.tag.attributes[o]=d,this.emitNode("onattribute",d)}this.attribList.length=0}this.tag.isSelfClosing=Boolean(t),this.sawRoot=!0,this.tags.push(this.tag),this.emitNode("onopentag",this.tag),t||(!this.noscript&&this.tagName.toLowerCase()==="script"?this.state=this.S.SCRIPT:this.state=this.S.TEXT,this.tag=null,this.tagName=""),this.attribName=this.attribValue="",this.attribList.length=0}closeTag(){if(!this.tagName){this.strictFail("Weird empty close tag."),this.textNode+="</>",this.state=this.S.TEXT;return}if(this.script){if(this.tagName!=="script"){this.script+=`</${this.tagName}>`,this.tagName="",this.state=this.S.SCRIPT;return}this.emitNode("onscript",this.script),this.script=""}let t=this.tags.length,i=this.tagName;for(this.strict||(i=i[this.looseCase]());t--&&this.tags[t].name!==i;)this.strictFail("Unexpected close tag");if(t<0){this.strictFail(`Unmatched closing tag: ${this.tagName}`),this.textNode+=`</${this.tagName}>`,this.state=this.S.TEXT;return}this.tagName=i;let s=this.tags.length;for(;s-- >t;){let r=this.tag=this.tags.pop();this.tagName=this.tag.name,this.emitNode("onclosetag",this.tagName);let n={};for(let h in r.ns)r.ns.hasOwnProperty(h)&&(n[h]=r.ns[h]);let a=this.tags[this.tags.length-1]||this;if(this.opt.xmlns&&r.ns!==a.ns){let h=this;Object.keys(r.ns).forEach(o=>{let c=r.ns[o];h.emitNode("onclosenamespace",{prefix:o,uri:c})})}}t===0&&(this.closedRoot=!0),this.tagName=this.attribValue=this.attribName="",this.attribList.length=0,this.state=this.S.TEXT}},A=class extends f{opt=Ht;events=tt;constructor(t){super(),this.clearBuffers(),this.opt=t={...this.opt,...t},this.events={...this.events,...t},this.q=this.c="",this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.bufferCheckPosition=this.opt.MAX_BUFFER_LENGTH,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=Boolean(this.opt.strict),this.noscript=Boolean(this.opt.strict||this.opt.noscript),this.state=this.S.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(this.XML_ENTITIES):Object.create(this.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(this.rootNS)),this.trackPosition=this.opt.position!==!1,this.trackPosition&&(this.position=this.line=this.column=0),this.emit("onready")}resume(){return this.error=null,this}close(){return this.write(null)}flush(){this.flushBuffers()}};J(A,"ENTITIES",_);function v(e){return typeof e=="string"?e.charAt(0).toLowerCase()+e.slice(1):e}function x(e){if(Array.isArray(e))return e.map(t=>x(t));if(e&&typeof e=="object"){let t={};for(let[i,s]of Object.entries(e))t[v(i)]=x(s);return t}return e}var Mt=Z(Bt(),1);function H(e,t){if(t?._parser&&t._parser!=="fast-xml-parser")throw new Error(t?._parser);let i={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:t?.removeNSPrefix,textNodeName:t?.textNodeName,isArray:(r,n,a,h)=>Boolean(t?.arrayPaths?.some(c=>n===c)),...t?._fastXML},s=cs(e,i);return t?.uncapitalizeKeys?x(s):s}function cs(e,t){return new Mt.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...t}).parse(e)}var us="4.4.0-alpha.0",y={dataType:null,batchType:null,name:"XML",id:"xml",module:"xml",version:us,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:ls,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(e,t)=>H(new TextDecoder().decode(e),{...y.options.xml,...t?.xml}),parseTextSync:(e,t)=>H(e,{...y.options.xml,...t?.xml})};function ls(e){return e.startsWith("<?xml")}function z(e,t){return Rt(e||{},t)}function Rt(e,t,i=0){if(i>3)return t;let s={...e};for(let[r,n]of Object.entries(t))n&&typeof n=="object"&&!Array.isArray(n)?s[r]=Rt(s[r]||{},t[r],i+1):s[r]=t[r];return s}var vt={...y,name:"HTML",id:"html",extensions:["html","htm"],mimeTypes:["text/html"],testText:fs,parse:async(e,t)=>Vt(new TextDecoder().decode(e),t),parseTextSync:(e,t)=>Vt(e,t)};function fs(e){return e.startsWith("<html")}function Vt(e,t){return t=z(t,{xml:{_parser:"fast-xml-parser",_fastXML:{htmlEntities:!0}}}),y.parseTextSync?.(e,t)}function K(e){return Array.isArray(e)?e:(e&&typeof e=="object"&&e[0],e?[e]:[])}function Ut(e,t){e[t]=K(e[t])}return Qt(L);})();
22
22
  return __exports__;
23
23
  });
@@ -1,7 +1,7 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { mergeLoaderOptions } from '@loaders.gl/loader-utils';
4
+ import { mergeOptions } from '@loaders.gl/loader-utils';
5
5
  import { XMLLoader } from "./xml-loader.js";
6
6
  /**
7
7
  * Loader for HTML files
@@ -27,7 +27,7 @@ function parseTextSync(text, options) {
27
27
  // fast-xml-parser can recognize HTML entities
28
28
  // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#htmlentities
29
29
  // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/5.Entities.md
30
- options = mergeLoaderOptions(options, {
30
+ options = mergeOptions(options, {
31
31
  xml: {
32
32
  _parser: 'fast-xml-parser',
33
33
  _fastXML: {
package/dist/index.cjs CHANGED
@@ -1472,7 +1472,7 @@ function fastParseXML(text, options) {
1472
1472
  }
1473
1473
 
1474
1474
  // dist/xml-loader.js
1475
- var VERSION = true ? "4.3.1" : "latest";
1475
+ var VERSION = true ? "4.4.0-alpha.0" : "latest";
1476
1476
  var XMLLoader = {
1477
1477
  dataType: null,
1478
1478
  batchType: null,
@@ -1520,7 +1520,7 @@ function testHTMLFile(text) {
1520
1520
  }
1521
1521
  function parseTextSync(text, options) {
1522
1522
  var _a, _b;
1523
- options = (0, import_loader_utils.mergeLoaderOptions)(options, {
1523
+ options = (0, import_loader_utils.mergeOptions)(options, {
1524
1524
  xml: {
1525
1525
  _parser: "fast-xml-parser",
1526
1526
  _fastXML: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.js", "sax-ts/sax.js", "lib/xml-utils/uncapitalize.js", "lib/parsers/parse-xml.js", "xml-loader.js", "html-loader.js", "lib/xml-utils/xml-utils.js"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport { XMLLoader } from \"./xml-loader.js\";\nexport { HTMLLoader } from \"./html-loader.js\";\nexport { SAXParser as SAXParser } from \"./sax-ts/sax.js\";\n// Utilities\nexport { convertXMLValueToArray, convertXMLFieldToArrayInPlace } from \"./lib/xml-utils/xml-utils.js\";\n// Experimental\nexport { uncapitalize as _uncapitalize, uncapitalizeKeys as _uncapitalizeKeys } from \"./lib/xml-utils/uncapitalize.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nconst DEFAULT_SAX_EVENTS = {\n ontext: () => { },\n onprocessinginstruction: () => { },\n onsgmldeclaration: () => { },\n ondoctype: () => { },\n oncomment: () => { },\n onopentagstart: () => { },\n onattribute: () => { },\n onopentag: () => { },\n onclosetag: () => { },\n onopencdata: () => { },\n oncdata: () => { },\n onclosecdata: () => { },\n onerror: () => { },\n onend: () => { },\n onready: () => { },\n onscript: () => { },\n onopennamespace: () => { },\n onclosenamespace: () => { }\n};\nconst DEFAULT_SAX_PARSER_OPTIONS = {\n ...DEFAULT_SAX_EVENTS,\n strict: false,\n MAX_BUFFER_LENGTH: 64 * 1024,\n lowercase: false,\n lowercasetags: false,\n noscript: false,\n strictEntities: false,\n xmlns: undefined,\n position: undefined,\n trim: undefined,\n normalize: undefined\n};\nconst EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n];\nconst BUFFERS = [\n 'comment',\n 'sgmlDecl',\n 'textNode',\n 'tagName',\n 'doctype',\n 'procInstName',\n 'procInstBody',\n 'entity',\n 'attribName',\n 'attribValue',\n 'cdata',\n 'script'\n];\nconst nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\nconst nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\nconst entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\nconst entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\nexport const ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830\n};\nObject.keys(ENTITIES).forEach((key) => {\n const e = ENTITIES[key];\n ENTITIES[key] = typeof e === 'number' ? String.fromCharCode(e) : e;\n});\n/**\n * Internal helper class\n */\nclass SAX {\n EVENTS = EVENTS;\n ENTITIES = {\n // TODO: make it readonly, needed for entity-mega test\n // amp, gt, lt, quot and apos are resolved to strings instead of numerical\n // codes, IDK why\n ...ENTITIES\n };\n XML_ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\"\n };\n S = 0;\n opt;\n trackPosition = false;\n column = 0;\n line = 0;\n c = '';\n error;\n q = '';\n bufferCheckPosition;\n closed = false;\n tags = [];\n looseCase = '';\n closedRoot = false;\n sawRoot = false;\n strict = false;\n tag;\n strictEntities;\n state;\n noscript = false;\n attribList = [];\n ns;\n position = 0;\n STATE = {\n BEGIN: this.S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: this.S++, // leading whitespace\n TEXT: this.S++, // general stuff\n TEXT_ENTITY: this.S++, // &amp and such.\n OPEN_WAKA: this.S++, // <\n SGML_DECL: this.S++, // <!BLARG\n SGML_DECL_QUOTED: this.S++, // <!BLARG foo \"bar\n DOCTYPE: this.S++, // <!DOCTYPE\n DOCTYPE_QUOTED: this.S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: this.S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: this.S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: this.S++, // <!-\n COMMENT: this.S++, // <!--\n COMMENT_ENDING: this.S++, // <!-- blah -\n COMMENT_ENDED: this.S++, // <!-- blah --\n CDATA: this.S++, // <![CDATA[ something\n CDATA_ENDING: this.S++, // ]\n CDATA_ENDING_2: this.S++, // ]]\n PROC_INST: this.S++, // <?hi\n PROC_INST_BODY: this.S++, // <?hi there\n PROC_INST_ENDING: this.S++, // <?hi \"there\" ?\n OPEN_TAG: this.S++, // <strong\n OPEN_TAG_SLASH: this.S++, // <strong /\n ATTRIB: this.S++, // <a\n ATTRIB_NAME: this.S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: this.S++, // <a foo _\n ATTRIB_VALUE: this.S++, // <a foo=\n ATTRIB_VALUE_QUOTED: this.S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: this.S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: this.S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: this.S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: this.S++, // <foo bar=&quot\n CLOSE_TAG: this.S++, // </a\n CLOSE_TAG_SAW_WHITE: this.S++, // </a >\n SCRIPT: this.S++, // <script> ...\n SCRIPT_ENDING: this.S++ // <script> ... <\n };\n BUFFERS = BUFFERS;\n // private parser: (strict: boolean, opt: any) => SAXParser;\n CDATA = '[CDATA[';\n DOCTYPE = 'DOCTYPE';\n XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\n XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/';\n rootNS = {\n xml: this.XML_NAMESPACE,\n xmlns: this.XMLNS_NAMESPACE\n };\n comment;\n sgmlDecl;\n textNode = '';\n tagName;\n doctype;\n procInstName;\n procInstBody;\n entity = '';\n attribName;\n attribValue;\n cdata = '';\n script = '';\n startTagPosition = 0;\n constructor() {\n this.S = 0;\n for (const s in this.STATE) {\n if (this.STATE.hasOwnProperty(s)) {\n this.STATE[this.STATE[s]] = s;\n }\n }\n // shorthand\n this.S = this.STATE;\n }\n static charAt(chunk, i) {\n let result = '';\n if (i < chunk.length) {\n result = chunk.charAt(i);\n }\n return result;\n }\n static isWhitespace(c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t';\n }\n static isQuote(c) {\n return c === '\"' || c === \"'\";\n }\n static isAttribEnd(c) {\n return c === '>' || SAX.isWhitespace(c);\n }\n static isMatch(regex, c) {\n return regex.test(c);\n }\n static notMatch(regex, c) {\n return !SAX.isMatch(regex, c);\n }\n static qname(name, attribute) {\n const i = name.indexOf(':');\n const qualName = i < 0 ? ['', name] : name.split(':');\n let prefix = qualName[0];\n let local = qualName[1];\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns';\n local = '';\n }\n return { prefix, local };\n }\n write(chunk) {\n if (this.error) {\n throw this.error;\n }\n if (this.closed) {\n return this.errorFunction('Cannot write after close. Assign an onready handler.');\n }\n if (chunk === null) {\n return this.end();\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString();\n }\n let i = 0;\n let c;\n while (true) {\n c = SAX.charAt(chunk, i++);\n this.c = c;\n if (!c) {\n break;\n }\n if (this.trackPosition) {\n this.position++;\n if (c === '\\n') {\n this.line++;\n this.column = 0;\n }\n else {\n this.column++;\n }\n }\n switch (this.state) {\n case this.S.BEGIN:\n this.state = this.S.BEGIN_WHITESPACE;\n if (c === '\\uFEFF') {\n continue;\n }\n this.beginWhiteSpace(c);\n continue;\n case this.S.BEGIN_WHITESPACE:\n this.beginWhiteSpace(c);\n continue;\n case this.S.TEXT:\n if (this.sawRoot && !this.closedRoot) {\n const starti = i - 1;\n while (c && c !== '<' && c !== '&') {\n c = SAX.charAt(chunk, i++);\n if (c && this.trackPosition) {\n this.position++;\n if (c === '\\n') {\n this.line++;\n this.column = 0;\n }\n else {\n this.column++;\n }\n }\n }\n this.textNode += chunk.substring(starti, i - 1);\n }\n if (c === '<' && !(this.sawRoot && this.closedRoot && !this.strict)) {\n this.state = this.S.OPEN_WAKA;\n this.startTagPosition = this.position;\n }\n else {\n if (!SAX.isWhitespace(c) && (!this.sawRoot || this.closedRoot)) {\n this.strictFail('Text data outside of root node.');\n }\n if (c === '&') {\n this.state = this.S.TEXT_ENTITY;\n }\n else {\n this.textNode += c;\n }\n }\n continue;\n case this.S.SCRIPT:\n // only non-strict\n if (c === '<') {\n this.state = this.S.SCRIPT_ENDING;\n }\n else {\n this.script += c;\n }\n continue;\n case this.S.SCRIPT_ENDING:\n if (c === '/') {\n this.state = this.S.CLOSE_TAG;\n }\n else {\n this.script += `<${c}`;\n this.state = this.S.SCRIPT;\n }\n continue;\n case this.S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n this.state = this.S.SGML_DECL;\n this.sgmlDecl = '';\n }\n else if (SAX.isWhitespace(c)) {\n // wait for it...\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.state = this.S.OPEN_TAG;\n this.tagName = c;\n }\n else if (c === '/') {\n this.state = this.S.CLOSE_TAG;\n this.tagName = '';\n }\n else if (c === '?') {\n this.state = this.S.PROC_INST;\n this.procInstName = this.procInstBody = '';\n }\n else {\n this.strictFail('Unencoded <');\n // if there was some whitespace, then add that in.\n if (this.startTagPosition + 1 < this.position) {\n const pad = this.position - this.startTagPosition;\n c = new Array(pad).join(' ') + c;\n }\n this.textNode += `<${c}`;\n this.state = this.S.TEXT;\n }\n continue;\n case this.S.SGML_DECL:\n if ((this.sgmlDecl + c).toUpperCase() === this.CDATA) {\n this.emitNode('onopencdata');\n this.state = this.S.CDATA;\n this.sgmlDecl = '';\n this.cdata = '';\n }\n else if (this.sgmlDecl + c === '--') {\n this.state = this.S.COMMENT;\n this.comment = '';\n this.sgmlDecl = '';\n }\n else if ((this.sgmlDecl + c).toUpperCase() === this.DOCTYPE) {\n this.state = this.S.DOCTYPE;\n if (this.doctype || this.sawRoot) {\n this.strictFail('Inappropriately located doctype declaration');\n }\n this.doctype = '';\n this.sgmlDecl = '';\n }\n else if (c === '>') {\n this.emitNode('onsgmldeclaration', this.sgmlDecl);\n this.sgmlDecl = '';\n this.state = this.S.TEXT;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.SGML_DECL_QUOTED;\n this.sgmlDecl += c;\n }\n else {\n this.sgmlDecl += c;\n }\n continue;\n case this.S.SGML_DECL_QUOTED:\n if (c === this.q) {\n this.state = this.S.SGML_DECL;\n this.q = '';\n }\n this.sgmlDecl += c;\n continue;\n case this.S.DOCTYPE:\n if (c === '>') {\n this.state = this.S.TEXT;\n this.emitNode('ondoctype', this.doctype);\n this.doctype = true; // just remember that we saw it.\n }\n else {\n this.doctype += c;\n if (c === '[') {\n this.state = this.S.DOCTYPE_DTD;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.DOCTYPE_QUOTED;\n this.q = c;\n }\n }\n continue;\n case this.S.DOCTYPE_QUOTED:\n this.doctype += c;\n if (c === this.q) {\n this.q = '';\n this.state = this.S.DOCTYPE;\n }\n continue;\n case this.S.DOCTYPE_DTD:\n this.doctype += c;\n if (c === ']') {\n this.state = this.S.DOCTYPE;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.DOCTYPE_DTD_QUOTED;\n this.q = c;\n }\n continue;\n case this.S.DOCTYPE_DTD_QUOTED:\n this.doctype += c;\n if (c === this.q) {\n this.state = this.S.DOCTYPE_DTD;\n this.q = '';\n }\n continue;\n case this.S.COMMENT:\n if (c === '-') {\n this.state = this.S.COMMENT_ENDING;\n }\n else {\n this.comment += c;\n }\n continue;\n case this.S.COMMENT_ENDING:\n if (c === '-') {\n this.state = this.S.COMMENT_ENDED;\n this.comment = this.textApplyOptions(this.comment);\n if (this.comment) {\n this.emitNode('oncomment', this.comment);\n }\n this.comment = '';\n }\n else {\n this.comment += `-${c}`;\n this.state = this.S.COMMENT;\n }\n continue;\n case this.S.COMMENT_ENDED:\n if (c !== '>') {\n this.strictFail('Malformed comment');\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n this.comment += `--${c}`;\n this.state = this.S.COMMENT;\n }\n else {\n this.state = this.S.TEXT;\n }\n continue;\n case this.S.CDATA:\n if (c === ']') {\n this.state = this.S.CDATA_ENDING;\n }\n else {\n this.cdata += c;\n }\n continue;\n case this.S.CDATA_ENDING:\n if (c === ']') {\n this.state = this.S.CDATA_ENDING_2;\n }\n else {\n this.cdata += `]${c}`;\n this.state = this.S.CDATA;\n }\n continue;\n case this.S.CDATA_ENDING_2:\n if (c === '>') {\n if (this.cdata) {\n this.emitNode('oncdata', this.cdata);\n }\n this.emitNode('onclosecdata');\n this.cdata = '';\n this.state = this.S.TEXT;\n }\n else if (c === ']') {\n this.cdata += ']';\n }\n else {\n this.cdata += `]]${c}`;\n this.state = this.S.CDATA;\n }\n continue;\n case this.S.PROC_INST:\n if (c === '?') {\n this.state = this.S.PROC_INST_ENDING;\n }\n else if (SAX.isWhitespace(c)) {\n this.state = this.S.PROC_INST_BODY;\n }\n else {\n this.procInstName += c;\n }\n continue;\n case this.S.PROC_INST_BODY:\n if (!this.procInstBody && SAX.isWhitespace(c)) {\n continue;\n }\n else if (c === '?') {\n this.state = this.S.PROC_INST_ENDING;\n }\n else {\n this.procInstBody += c;\n }\n continue;\n case this.S.PROC_INST_ENDING:\n if (c === '>') {\n this.emitNode('onprocessinginstruction', {\n name: this.procInstName,\n body: this.procInstBody\n });\n this.procInstName = this.procInstBody = '';\n this.state = this.S.TEXT;\n }\n else {\n this.procInstBody += `?${c}`;\n this.state = this.S.PROC_INST_BODY;\n }\n continue;\n case this.S.OPEN_TAG:\n if (SAX.isMatch(nameBody, c)) {\n this.tagName += c;\n }\n else {\n this.newTag();\n if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else {\n if (!SAX.isWhitespace(c)) {\n this.strictFail('Invalid character in tag name');\n }\n this.state = this.S.ATTRIB;\n }\n }\n continue;\n case this.S.OPEN_TAG_SLASH:\n if (c === '>') {\n this.openTag(true);\n this.closeTag();\n }\n else {\n this.strictFail('Forward-slash in opening tag not followed by >');\n this.state = this.S.ATTRIB;\n }\n continue;\n case this.S.ATTRIB:\n // haven't read the attribute name yet.\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.attribName = c;\n this.attribValue = '';\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_NAME:\n if (c === '=') {\n this.state = this.S.ATTRIB_VALUE;\n }\n else if (c === '>') {\n this.strictFail('Attribute without value');\n this.attribValue = this.attribName;\n this.attrib();\n this.openTag();\n }\n else if (SAX.isWhitespace(c)) {\n this.state = this.S.ATTRIB_NAME_SAW_WHITE;\n }\n else if (SAX.isMatch(nameBody, c)) {\n this.attribName += c;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n this.state = this.S.ATTRIB_VALUE;\n }\n else if (SAX.isWhitespace(c)) {\n continue;\n }\n else {\n this.strictFail('Attribute without value');\n this.tag.attributes[this.attribName] = '';\n this.attribValue = '';\n this.emitNode('onattribute', {\n name: this.attribName,\n value: ''\n });\n this.attribName = '';\n if (c === '>') {\n this.openTag();\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.attribName = c;\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n this.state = this.S.ATTRIB;\n }\n }\n continue;\n case this.S.ATTRIB_VALUE:\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (SAX.isQuote(c)) {\n this.q = c;\n this.state = this.S.ATTRIB_VALUE_QUOTED;\n }\n else {\n this.strictFail('Unquoted attribute value');\n this.state = this.S.ATTRIB_VALUE_UNQUOTED;\n this.attribValue = c;\n }\n continue;\n case this.S.ATTRIB_VALUE_QUOTED:\n if (c !== this.q) {\n if (c === '&') {\n this.state = this.S.ATTRIB_VALUE_ENTITY_Q;\n }\n else {\n this.attribValue += c;\n }\n continue;\n }\n this.attrib();\n this.q = '';\n this.state = this.S.ATTRIB_VALUE_CLOSED;\n continue;\n case this.S.ATTRIB_VALUE_CLOSED:\n if (SAX.isWhitespace(c)) {\n this.state = this.S.ATTRIB;\n }\n else if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.strictFail('No whitespace between attributes');\n this.attribName = c;\n this.attribValue = '';\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_VALUE_UNQUOTED:\n if (!SAX.isAttribEnd(c)) {\n if (c === '&') {\n this.state = this.S.ATTRIB_VALUE_ENTITY_U;\n }\n else {\n this.attribValue += c;\n }\n continue;\n }\n this.attrib();\n if (c === '>') {\n this.openTag();\n }\n else {\n this.state = this.S.ATTRIB;\n }\n continue;\n case this.S.CLOSE_TAG:\n if (!this.tagName) {\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (SAX.notMatch(nameStart, c)) {\n if (this.script) {\n this.script += `</${c}`;\n this.state = this.S.SCRIPT;\n }\n else {\n this.strictFail('Invalid tagname in closing tag.');\n }\n }\n else {\n this.tagName = c;\n }\n }\n else if (c === '>') {\n this.closeTag();\n }\n else if (SAX.isMatch(nameBody, c)) {\n this.tagName += c;\n }\n else if (this.script) {\n this.script += `</${this.tagName}`;\n this.tagName = '';\n this.state = this.S.SCRIPT;\n }\n else {\n if (!SAX.isWhitespace(c)) {\n this.strictFail('Invalid tagname in closing tag');\n }\n this.state = this.S.CLOSE_TAG_SAW_WHITE;\n }\n continue;\n case this.S.CLOSE_TAG_SAW_WHITE:\n if (SAX.isWhitespace(c)) {\n continue;\n }\n if (c === '>') {\n this.closeTag();\n }\n else {\n this.strictFail('Invalid characters in closing tag');\n }\n continue;\n case this.S.TEXT_ENTITY:\n case this.S.ATTRIB_VALUE_ENTITY_Q:\n case this.S.ATTRIB_VALUE_ENTITY_U:\n let returnState;\n let buffer;\n switch (this.state) {\n case this.S.TEXT_ENTITY:\n returnState = this.S.TEXT;\n buffer = 'textNode';\n break;\n case this.S.ATTRIB_VALUE_ENTITY_Q:\n returnState = this.S.ATTRIB_VALUE_QUOTED;\n buffer = 'attribValue';\n break;\n case this.S.ATTRIB_VALUE_ENTITY_U:\n returnState = this.S.ATTRIB_VALUE_UNQUOTED;\n buffer = 'attribValue';\n break;\n default:\n throw new Error(`Unknown state: ${this.state}`);\n }\n if (c === ';') {\n this[buffer] += this.parseEntity();\n this.entity = '';\n this.state = returnState;\n }\n else if (SAX.isMatch(this.entity.length ? entityBody : entityStart, c)) {\n this.entity += c;\n }\n else {\n this.strictFail('Invalid character in entity name');\n this[buffer] += `&${this.entity}${c}`;\n this.entity = '';\n this.state = returnState;\n }\n continue;\n default:\n throw new Error(`Unknown state: ${this.state}`);\n }\n } // while\n if (this.position >= this.bufferCheckPosition) {\n this.checkBufferLength();\n }\n return this;\n }\n emit(event, data) {\n if (this.events.hasOwnProperty(event)) {\n const eventName = event.replace(/^on/, '');\n this.events[event](data, eventName, this);\n }\n }\n clearBuffers() {\n for (let i = 0, l = this.BUFFERS.length; i < l; i++) {\n this[this[i]] = '';\n }\n }\n flushBuffers() {\n this.closeText();\n if (this.cdata !== '') {\n this.emitNode('oncdata', this.cdata);\n this.cdata = '';\n }\n if (this.script !== '') {\n this.emitNode('onscript', this.script);\n this.script = '';\n }\n }\n end() {\n if (this.sawRoot && !this.closedRoot)\n this.strictFail('Unclosed root tag');\n if (this.state !== this.S.BEGIN &&\n this.state !== this.S.BEGIN_WHITESPACE &&\n this.state !== this.S.TEXT) {\n this.errorFunction('Unexpected end');\n }\n this.closeText();\n this.c = '';\n this.closed = true;\n this.emit('onend');\n return new SAXParser(this.opt);\n }\n errorFunction(er) {\n this.closeText();\n if (this.trackPosition) {\n er += `\\nLine: ${this.line}\\nColumn: ${this.column}\\nChar: ${this.c}`;\n }\n const error = new Error(er);\n this.error = error;\n this.emit('onerror', error);\n return this;\n }\n attrib() {\n if (!this.strict) {\n this.attribName = this.attribName[this.looseCase]();\n }\n if (this.attribList.indexOf(this.attribName) !== -1 ||\n this.tag.attributes.hasOwnProperty(this.attribName)) {\n this.attribName = this.attribValue = '';\n return;\n }\n if (this.opt.xmlns) {\n const qn = SAX.qname(this.attribName, true);\n const prefix = qn.prefix;\n const local = qn.local;\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && this.attribValue !== this.XML_NAMESPACE) {\n this.strictFail(`xml: prefix must be bound to ${this.XML_NAMESPACE}\\n` + `Actual: ${this.attribValue}`);\n }\n else if (local === 'xmlns' && this.attribValue !== this.XMLNS_NAMESPACE) {\n this.strictFail(`xmlns: prefix must be bound to ${this.XMLNS_NAMESPACE}\\n` +\n `Actual: ${this.attribValue}`);\n }\n else {\n const tag = this.tag;\n const parent = this.tags[this.tags.length - 1] || this;\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns);\n }\n tag.ns[local] = this.attribValue;\n }\n }\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n this.attribList.push([this.attribName, this.attribValue]);\n }\n else {\n // in non-xmlns mode, we can emit the event right away\n this.tag.attributes[this.attribName] = this.attribValue;\n this.emitNode('onattribute', {\n name: this.attribName,\n value: this.attribValue\n });\n }\n this.attribName = this.attribValue = '';\n }\n newTag() {\n if (!this.strict)\n this.tagName = this.tagName[this.looseCase]();\n const parent = this.tags[this.tags.length - 1] || this;\n const tag = (this.tag = { name: this.tagName, attributes: {} });\n // will be overridden if tag contains an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (this.opt.xmlns) {\n tag.ns = parent.ns;\n }\n this.attribList.length = 0;\n this.emitNode('onopentagstart', tag);\n }\n parseEntity() {\n let entity = this.entity;\n const entityLC = entity.toLowerCase();\n let num = NaN;\n let numStr = '';\n if (this.ENTITIES[entity]) {\n return this.ENTITIES[entity];\n }\n if (this.ENTITIES[entityLC]) {\n return this.ENTITIES[entityLC];\n }\n entity = entityLC;\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2);\n // TODO: remove tslint:disable\n // tslint:disable-next-line\n num = parseInt(entity, 16);\n numStr = num.toString(16);\n }\n else {\n entity = entity.slice(1);\n // TODO: remove tslint:disable\n // tslint:disable-next-line\n num = parseInt(entity, 10);\n numStr = num.toString(10);\n }\n }\n entity = entity.replace(/^0+/, '');\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n this.strictFail('Invalid character entity');\n return `&${this.entity};`;\n }\n return String.fromCodePoint(num);\n }\n beginWhiteSpace(c) {\n if (c === '<') {\n this.state = this.S.OPEN_WAKA;\n this.startTagPosition = this.position;\n }\n else if (!SAX.isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n this.strictFail('Non-whitespace before first tag.');\n this.textNode = c;\n this.state = this.S.TEXT;\n }\n else {\n }\n }\n strictFail(message) {\n if (typeof this !== 'object' || !(this instanceof SAXParser)) {\n throw new Error('bad call to strictFail');\n }\n if (this.strict) {\n this.errorFunction(message);\n }\n }\n textApplyOptions(text) {\n if (this.opt.trim)\n text = text.trim();\n if (this.opt.normalize)\n text = text.replace(/\\s+/g, ' ');\n return text;\n }\n emitNode(nodeType, data) {\n if (this.textNode)\n this.closeText();\n this.emit(nodeType, data);\n }\n closeText() {\n this.textNode = this.textApplyOptions(this.textNode);\n // TODO: figure out why this.textNode can be \"\" and \"undefined\"\n if (this.textNode !== undefined && this.textNode !== '' && this.textNode !== 'undefined') {\n this.emit('ontext', this.textNode);\n }\n this.textNode = '';\n }\n checkBufferLength() {\n const maxAllowed = Math.max(this.opt.MAX_BUFFER_LENGTH, 10);\n let maxActual = 0;\n for (let i = 0, l = this.BUFFERS.length; i < l; i++) {\n const len = this[this.BUFFERS[i]]?.length || 0;\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (this.BUFFERS[i]) {\n case 'textNode':\n this.closeText();\n break;\n case 'cdata':\n this.emitNode('oncdata', this.cdata);\n this.cdata = '';\n break;\n case 'script':\n this.emitNode('onscript', this.script);\n this.script = '';\n break;\n default:\n this.errorFunction(`Max buffer length exceeded: ${this.BUFFERS[i]}`);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n // schedule the next check for the earliest possible buffer overrun.\n const m = this.opt.MAX_BUFFER_LENGTH - maxActual;\n this.bufferCheckPosition = m + this.position;\n }\n openTag(selfClosing) {\n if (this.opt.xmlns) {\n // emit namespace binding events\n const tag = this.tag;\n // add namespace info to tag\n const qn = SAX.qname(this.tagName);\n tag.prefix = qn.prefix;\n tag.local = qn.local;\n tag.uri = tag.ns[qn.prefix] || '';\n if (tag.prefix && !tag.uri) {\n this.strictFail(`Unbound namespace prefix: ${JSON.stringify(this.tagName)}`);\n tag.uri = qn.prefix;\n }\n const parent = this.tags[this.tags.length - 1] || this;\n if (tag.ns && parent.ns !== tag.ns) {\n const that = this;\n Object.keys(tag.ns).forEach((p) => {\n that.emitNode('onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n });\n });\n }\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (let i = 0, l = this.attribList.length; i < l; i++) {\n const nv = this.attribList[i];\n const name = nv[0];\n const value = nv[1];\n const qualName = SAX.qname(name, true);\n const prefix = qualName.prefix;\n const local = qualName.local;\n const uri = prefix === '' ? '' : tag.ns[prefix] || '';\n const a = {\n name,\n value,\n prefix,\n local,\n uri\n };\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n this.strictFail(`Unbound namespace prefix: ${JSON.stringify(prefix)}`);\n a.uri = prefix;\n }\n this.tag.attributes[name] = a;\n this.emitNode('onattribute', a);\n }\n this.attribList.length = 0;\n }\n this.tag.isSelfClosing = Boolean(selfClosing);\n // process the tag\n this.sawRoot = true;\n this.tags.push(this.tag);\n this.emitNode('onopentag', this.tag);\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!this.noscript && this.tagName.toLowerCase() === 'script') {\n this.state = this.S.SCRIPT;\n }\n else {\n this.state = this.S.TEXT;\n }\n this.tag = null;\n this.tagName = '';\n }\n this.attribName = this.attribValue = '';\n this.attribList.length = 0;\n }\n closeTag() {\n if (!this.tagName) {\n this.strictFail('Weird empty close tag.');\n this.textNode += '</>';\n this.state = this.S.TEXT;\n return;\n }\n if (this.script) {\n if (this.tagName !== 'script') {\n this.script += `</${this.tagName}>`;\n this.tagName = '';\n this.state = this.S.SCRIPT;\n return;\n }\n this.emitNode('onscript', this.script);\n this.script = '';\n }\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n let t = this.tags.length;\n let tagName = this.tagName;\n if (!this.strict) {\n tagName = tagName[this.looseCase]();\n }\n while (t--) {\n const close = this.tags[t];\n if (close.name !== tagName) {\n // fail the first time in strict mode\n this.strictFail('Unexpected close tag');\n }\n else {\n break;\n }\n }\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n this.strictFail(`Unmatched closing tag: ${this.tagName}`);\n this.textNode += `</${this.tagName}>`;\n this.state = this.S.TEXT;\n return;\n }\n this.tagName = tagName;\n let s = this.tags.length;\n while (s-- > t) {\n const tag = (this.tag = this.tags.pop());\n this.tagName = this.tag.name;\n this.emitNode('onclosetag', this.tagName);\n const x = {};\n for (const i in tag.ns) {\n if (tag.ns.hasOwnProperty(i)) {\n x[i] = tag.ns[i];\n }\n }\n const parent = this.tags[this.tags.length - 1] || this;\n if (this.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n const that = this;\n Object.keys(tag.ns).forEach((p) => {\n const n = tag.ns[p];\n that.emitNode('onclosenamespace', { prefix: p, uri: n });\n });\n }\n }\n if (t === 0)\n this.closedRoot = true;\n this.tagName = this.attribValue = this.attribName = '';\n this.attribList.length = 0;\n this.state = this.S.TEXT;\n }\n}\n/**\n *\n * @todo Weird inheritance, with some variables initialized in subclass\n */\nexport class SAXParser extends SAX {\n static ENTITIES = ENTITIES;\n opt = DEFAULT_SAX_PARSER_OPTIONS;\n events = DEFAULT_SAX_EVENTS;\n constructor(opt) {\n super();\n this.clearBuffers();\n this.opt = opt = { ...this.opt, ...opt };\n this.events = { ...this.events, ...opt };\n this.q = this.c = '';\n this.opt.lowercase = this.opt.lowercase || this.opt.lowercasetags;\n this.bufferCheckPosition = this.opt.MAX_BUFFER_LENGTH;\n this.looseCase = this.opt.lowercase ? 'toLowerCase' : 'toUpperCase';\n this.tags = [];\n this.closed = this.closedRoot = this.sawRoot = false;\n this.tag = this.error = null;\n this.strict = Boolean(this.opt.strict);\n this.noscript = Boolean(this.opt.strict || this.opt.noscript);\n this.state = this.S.BEGIN;\n this.strictEntities = this.opt.strictEntities;\n this.ENTITIES = this.strictEntities\n ? Object.create(this.XML_ENTITIES)\n : Object.create(this.ENTITIES);\n this.attribList = [];\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (this.opt.xmlns) {\n this.ns = Object.create(this.rootNS);\n }\n // mostly just for error reporting\n this.trackPosition = this.opt.position !== false;\n if (this.trackPosition) {\n this.position = this.line = this.column = 0;\n }\n this.emit('onready');\n }\n resume() {\n this.error = null;\n return this;\n }\n close() {\n return this.write(null);\n }\n flush() {\n this.flushBuffers();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n/**\n * Uncapitalize first letter of a string\n * @param str\n * @returns\n */\nexport function uncapitalize(str) {\n return typeof str === 'string' ? str.charAt(0).toLowerCase() + str.slice(1) : str;\n}\n/**\n * Recursively uncapitalize all keys in a nested object\n * @param object\n * @returns\n */\nexport function uncapitalizeKeys(object) {\n if (Array.isArray(object)) {\n return object.map((element) => uncapitalizeKeys(element));\n }\n if (object && typeof object === 'object') {\n const newObject = {};\n for (const [key, value] of Object.entries(object)) {\n newObject[uncapitalize(key)] = uncapitalizeKeys(value);\n }\n return newObject;\n }\n return object;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { StreamingXMLParser } from \"./streaming-xml-parser.js\";\nimport { uncapitalizeKeys } from \"../xml-utils/uncapitalize.js\";\nimport { XMLParser as FastXMLParser } from 'fast-xml-parser';\nexport function parseXMLSync(text, options) {\n if (options?._parser && options._parser !== 'fast-xml-parser') {\n throw new Error(options?._parser);\n }\n const fastXMLOptions = {\n // Default FastXML options\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#allowbooleanattributes\n allowBooleanAttributes: true,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#ignoredeclaration\n ignoreDeclaration: true,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#removensprefix\n removeNSPrefix: options?.removeNSPrefix,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#textnodename\n textNodeName: options?.textNodeName,\n // Let's application specify keys that are always arrays\n isArray: (name, jpath, isLeafNode, isAttribute) => {\n const array = Boolean(options?.arrayPaths?.some((path) => jpath === path));\n return array;\n },\n // Application overrides\n ...options?._fastXML\n };\n const xml = fastParseXML(text, fastXMLOptions);\n // Note - could be done with FastXML tag processing\n return options?.uncapitalizeKeys ? uncapitalizeKeys(xml) : xml;\n}\nexport function fastParseXML(text, options) {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n ...options\n });\n const parsedXML = parser.parse(text);\n return parsedXML;\n}\n/**\n * @todo Build a streaming XML parser based on sax-js\n * @param text\n * @param options\n * @returns\n */\nexport function parseXMLInBatches(text, options = {}) {\n const parser = new StreamingXMLParser({\n ...options,\n strict: true\n });\n parser.write(text);\n parser.close();\n return parser.result;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseXMLSync } from \"./lib/parsers/parse-xml.js\";\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.3.1\" !== 'undefined' ? \"4.3.1\" : 'latest';\n/**\n * Loader for XML files\n */\nexport const XMLLoader = {\n dataType: null,\n batchType: null,\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {\n _parser: 'fast-xml-parser',\n uncapitalizeKeys: false,\n removeNSPrefix: false,\n textNodeName: 'value',\n arrayPaths: []\n }\n },\n parse: async (arrayBuffer, options) => parseXMLSync(new TextDecoder().decode(arrayBuffer), {\n ...XMLLoader.options.xml,\n ...options?.xml\n }),\n parseTextSync: (text, options) => parseXMLSync(text, { ...XMLLoader.options.xml, ...options?.xml })\n};\nfunction testXMLFile(text) {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { mergeLoaderOptions } from '@loaders.gl/loader-utils';\nimport { XMLLoader } from \"./xml-loader.js\";\n/**\n * Loader for HTML files\n * Essentially a copy of the XMLLoader with different mime types, file extensions and content tests.\n * This split enables applications can control whether they want HTML responses to be parsed by the XML loader or not.\n * This loader does not have any additional understanding of the structure of HTML or the document.\n */\nexport const HTMLLoader = {\n ...XMLLoader,\n name: 'HTML',\n id: 'html',\n extensions: ['html', 'htm'],\n mimeTypes: ['text/html'],\n testText: testHTMLFile,\n parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text, options) => parseTextSync(text, options)\n};\nfunction testHTMLFile(text) {\n // TODO - There could be space first.\n return text.startsWith('<html');\n}\nfunction parseTextSync(text, options) {\n // fast-xml-parser can recognize HTML entities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#htmlentities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/5.Entities.md\n options = mergeLoaderOptions(options, {\n xml: {\n _parser: 'fast-xml-parser',\n _fastXML: {\n htmlEntities: true\n }\n }\n });\n return XMLLoader.parseTextSync?.(text, options);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// TODO - these utilities could be moved to the XML parser.\n// uncapitalizeKeys could be an XMLLoader option\n/**\n * Extracts a value or array and always return an array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLValueToArray(xmlValue) {\n if (Array.isArray(xmlValue)) {\n return xmlValue;\n }\n if (xmlValue && typeof xmlValue === 'object' && xmlValue['0']) {\n // Error this is an objectified array\n }\n if (xmlValue) {\n return [xmlValue];\n }\n return [];\n}\n/**\n * Mutates a field in place, converting it to array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLFieldToArrayInPlace(xml, key) {\n xml[key] = convertXMLValueToArray(xml[key]);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport { XMLLoader } from \"./xml-loader.js\";\nexport { HTMLLoader } from \"./html-loader.js\";\nexport { SAXParser as SAXParser } from \"./sax-ts/sax.js\";\n// Utilities\nexport { convertXMLValueToArray, convertXMLFieldToArrayInPlace } from \"./lib/xml-utils/xml-utils.js\";\n// Experimental\nexport { uncapitalize as _uncapitalize, uncapitalizeKeys as _uncapitalizeKeys } from \"./lib/xml-utils/uncapitalize.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nconst DEFAULT_SAX_EVENTS = {\n ontext: () => { },\n onprocessinginstruction: () => { },\n onsgmldeclaration: () => { },\n ondoctype: () => { },\n oncomment: () => { },\n onopentagstart: () => { },\n onattribute: () => { },\n onopentag: () => { },\n onclosetag: () => { },\n onopencdata: () => { },\n oncdata: () => { },\n onclosecdata: () => { },\n onerror: () => { },\n onend: () => { },\n onready: () => { },\n onscript: () => { },\n onopennamespace: () => { },\n onclosenamespace: () => { }\n};\nconst DEFAULT_SAX_PARSER_OPTIONS = {\n ...DEFAULT_SAX_EVENTS,\n strict: false,\n MAX_BUFFER_LENGTH: 64 * 1024,\n lowercase: false,\n lowercasetags: false,\n noscript: false,\n strictEntities: false,\n xmlns: undefined,\n position: undefined,\n trim: undefined,\n normalize: undefined\n};\nconst EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n];\nconst BUFFERS = [\n 'comment',\n 'sgmlDecl',\n 'textNode',\n 'tagName',\n 'doctype',\n 'procInstName',\n 'procInstBody',\n 'entity',\n 'attribName',\n 'attribValue',\n 'cdata',\n 'script'\n];\nconst nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\nconst nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\nconst entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\nconst entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\nexport const ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830\n};\nObject.keys(ENTITIES).forEach((key) => {\n const e = ENTITIES[key];\n ENTITIES[key] = typeof e === 'number' ? String.fromCharCode(e) : e;\n});\n/**\n * Internal helper class\n */\nclass SAX {\n EVENTS = EVENTS;\n ENTITIES = {\n // TODO: make it readonly, needed for entity-mega test\n // amp, gt, lt, quot and apos are resolved to strings instead of numerical\n // codes, IDK why\n ...ENTITIES\n };\n XML_ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\"\n };\n S = 0;\n opt;\n trackPosition = false;\n column = 0;\n line = 0;\n c = '';\n error;\n q = '';\n bufferCheckPosition;\n closed = false;\n tags = [];\n looseCase = '';\n closedRoot = false;\n sawRoot = false;\n strict = false;\n tag;\n strictEntities;\n state;\n noscript = false;\n attribList = [];\n ns;\n position = 0;\n STATE = {\n BEGIN: this.S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: this.S++, // leading whitespace\n TEXT: this.S++, // general stuff\n TEXT_ENTITY: this.S++, // &amp and such.\n OPEN_WAKA: this.S++, // <\n SGML_DECL: this.S++, // <!BLARG\n SGML_DECL_QUOTED: this.S++, // <!BLARG foo \"bar\n DOCTYPE: this.S++, // <!DOCTYPE\n DOCTYPE_QUOTED: this.S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: this.S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: this.S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: this.S++, // <!-\n COMMENT: this.S++, // <!--\n COMMENT_ENDING: this.S++, // <!-- blah -\n COMMENT_ENDED: this.S++, // <!-- blah --\n CDATA: this.S++, // <![CDATA[ something\n CDATA_ENDING: this.S++, // ]\n CDATA_ENDING_2: this.S++, // ]]\n PROC_INST: this.S++, // <?hi\n PROC_INST_BODY: this.S++, // <?hi there\n PROC_INST_ENDING: this.S++, // <?hi \"there\" ?\n OPEN_TAG: this.S++, // <strong\n OPEN_TAG_SLASH: this.S++, // <strong /\n ATTRIB: this.S++, // <a\n ATTRIB_NAME: this.S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: this.S++, // <a foo _\n ATTRIB_VALUE: this.S++, // <a foo=\n ATTRIB_VALUE_QUOTED: this.S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: this.S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: this.S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: this.S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: this.S++, // <foo bar=&quot\n CLOSE_TAG: this.S++, // </a\n CLOSE_TAG_SAW_WHITE: this.S++, // </a >\n SCRIPT: this.S++, // <script> ...\n SCRIPT_ENDING: this.S++ // <script> ... <\n };\n BUFFERS = BUFFERS;\n // private parser: (strict: boolean, opt: any) => SAXParser;\n CDATA = '[CDATA[';\n DOCTYPE = 'DOCTYPE';\n XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\n XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/';\n rootNS = {\n xml: this.XML_NAMESPACE,\n xmlns: this.XMLNS_NAMESPACE\n };\n comment;\n sgmlDecl;\n textNode = '';\n tagName;\n doctype;\n procInstName;\n procInstBody;\n entity = '';\n attribName;\n attribValue;\n cdata = '';\n script = '';\n startTagPosition = 0;\n constructor() {\n this.S = 0;\n for (const s in this.STATE) {\n if (this.STATE.hasOwnProperty(s)) {\n this.STATE[this.STATE[s]] = s;\n }\n }\n // shorthand\n this.S = this.STATE;\n }\n static charAt(chunk, i) {\n let result = '';\n if (i < chunk.length) {\n result = chunk.charAt(i);\n }\n return result;\n }\n static isWhitespace(c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t';\n }\n static isQuote(c) {\n return c === '\"' || c === \"'\";\n }\n static isAttribEnd(c) {\n return c === '>' || SAX.isWhitespace(c);\n }\n static isMatch(regex, c) {\n return regex.test(c);\n }\n static notMatch(regex, c) {\n return !SAX.isMatch(regex, c);\n }\n static qname(name, attribute) {\n const i = name.indexOf(':');\n const qualName = i < 0 ? ['', name] : name.split(':');\n let prefix = qualName[0];\n let local = qualName[1];\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns';\n local = '';\n }\n return { prefix, local };\n }\n write(chunk) {\n if (this.error) {\n throw this.error;\n }\n if (this.closed) {\n return this.errorFunction('Cannot write after close. Assign an onready handler.');\n }\n if (chunk === null) {\n return this.end();\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString();\n }\n let i = 0;\n let c;\n while (true) {\n c = SAX.charAt(chunk, i++);\n this.c = c;\n if (!c) {\n break;\n }\n if (this.trackPosition) {\n this.position++;\n if (c === '\\n') {\n this.line++;\n this.column = 0;\n }\n else {\n this.column++;\n }\n }\n switch (this.state) {\n case this.S.BEGIN:\n this.state = this.S.BEGIN_WHITESPACE;\n if (c === '\\uFEFF') {\n continue;\n }\n this.beginWhiteSpace(c);\n continue;\n case this.S.BEGIN_WHITESPACE:\n this.beginWhiteSpace(c);\n continue;\n case this.S.TEXT:\n if (this.sawRoot && !this.closedRoot) {\n const starti = i - 1;\n while (c && c !== '<' && c !== '&') {\n c = SAX.charAt(chunk, i++);\n if (c && this.trackPosition) {\n this.position++;\n if (c === '\\n') {\n this.line++;\n this.column = 0;\n }\n else {\n this.column++;\n }\n }\n }\n this.textNode += chunk.substring(starti, i - 1);\n }\n if (c === '<' && !(this.sawRoot && this.closedRoot && !this.strict)) {\n this.state = this.S.OPEN_WAKA;\n this.startTagPosition = this.position;\n }\n else {\n if (!SAX.isWhitespace(c) && (!this.sawRoot || this.closedRoot)) {\n this.strictFail('Text data outside of root node.');\n }\n if (c === '&') {\n this.state = this.S.TEXT_ENTITY;\n }\n else {\n this.textNode += c;\n }\n }\n continue;\n case this.S.SCRIPT:\n // only non-strict\n if (c === '<') {\n this.state = this.S.SCRIPT_ENDING;\n }\n else {\n this.script += c;\n }\n continue;\n case this.S.SCRIPT_ENDING:\n if (c === '/') {\n this.state = this.S.CLOSE_TAG;\n }\n else {\n this.script += `<${c}`;\n this.state = this.S.SCRIPT;\n }\n continue;\n case this.S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n this.state = this.S.SGML_DECL;\n this.sgmlDecl = '';\n }\n else if (SAX.isWhitespace(c)) {\n // wait for it...\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.state = this.S.OPEN_TAG;\n this.tagName = c;\n }\n else if (c === '/') {\n this.state = this.S.CLOSE_TAG;\n this.tagName = '';\n }\n else if (c === '?') {\n this.state = this.S.PROC_INST;\n this.procInstName = this.procInstBody = '';\n }\n else {\n this.strictFail('Unencoded <');\n // if there was some whitespace, then add that in.\n if (this.startTagPosition + 1 < this.position) {\n const pad = this.position - this.startTagPosition;\n c = new Array(pad).join(' ') + c;\n }\n this.textNode += `<${c}`;\n this.state = this.S.TEXT;\n }\n continue;\n case this.S.SGML_DECL:\n if ((this.sgmlDecl + c).toUpperCase() === this.CDATA) {\n this.emitNode('onopencdata');\n this.state = this.S.CDATA;\n this.sgmlDecl = '';\n this.cdata = '';\n }\n else if (this.sgmlDecl + c === '--') {\n this.state = this.S.COMMENT;\n this.comment = '';\n this.sgmlDecl = '';\n }\n else if ((this.sgmlDecl + c).toUpperCase() === this.DOCTYPE) {\n this.state = this.S.DOCTYPE;\n if (this.doctype || this.sawRoot) {\n this.strictFail('Inappropriately located doctype declaration');\n }\n this.doctype = '';\n this.sgmlDecl = '';\n }\n else if (c === '>') {\n this.emitNode('onsgmldeclaration', this.sgmlDecl);\n this.sgmlDecl = '';\n this.state = this.S.TEXT;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.SGML_DECL_QUOTED;\n this.sgmlDecl += c;\n }\n else {\n this.sgmlDecl += c;\n }\n continue;\n case this.S.SGML_DECL_QUOTED:\n if (c === this.q) {\n this.state = this.S.SGML_DECL;\n this.q = '';\n }\n this.sgmlDecl += c;\n continue;\n case this.S.DOCTYPE:\n if (c === '>') {\n this.state = this.S.TEXT;\n this.emitNode('ondoctype', this.doctype);\n this.doctype = true; // just remember that we saw it.\n }\n else {\n this.doctype += c;\n if (c === '[') {\n this.state = this.S.DOCTYPE_DTD;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.DOCTYPE_QUOTED;\n this.q = c;\n }\n }\n continue;\n case this.S.DOCTYPE_QUOTED:\n this.doctype += c;\n if (c === this.q) {\n this.q = '';\n this.state = this.S.DOCTYPE;\n }\n continue;\n case this.S.DOCTYPE_DTD:\n this.doctype += c;\n if (c === ']') {\n this.state = this.S.DOCTYPE;\n }\n else if (SAX.isQuote(c)) {\n this.state = this.S.DOCTYPE_DTD_QUOTED;\n this.q = c;\n }\n continue;\n case this.S.DOCTYPE_DTD_QUOTED:\n this.doctype += c;\n if (c === this.q) {\n this.state = this.S.DOCTYPE_DTD;\n this.q = '';\n }\n continue;\n case this.S.COMMENT:\n if (c === '-') {\n this.state = this.S.COMMENT_ENDING;\n }\n else {\n this.comment += c;\n }\n continue;\n case this.S.COMMENT_ENDING:\n if (c === '-') {\n this.state = this.S.COMMENT_ENDED;\n this.comment = this.textApplyOptions(this.comment);\n if (this.comment) {\n this.emitNode('oncomment', this.comment);\n }\n this.comment = '';\n }\n else {\n this.comment += `-${c}`;\n this.state = this.S.COMMENT;\n }\n continue;\n case this.S.COMMENT_ENDED:\n if (c !== '>') {\n this.strictFail('Malformed comment');\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n this.comment += `--${c}`;\n this.state = this.S.COMMENT;\n }\n else {\n this.state = this.S.TEXT;\n }\n continue;\n case this.S.CDATA:\n if (c === ']') {\n this.state = this.S.CDATA_ENDING;\n }\n else {\n this.cdata += c;\n }\n continue;\n case this.S.CDATA_ENDING:\n if (c === ']') {\n this.state = this.S.CDATA_ENDING_2;\n }\n else {\n this.cdata += `]${c}`;\n this.state = this.S.CDATA;\n }\n continue;\n case this.S.CDATA_ENDING_2:\n if (c === '>') {\n if (this.cdata) {\n this.emitNode('oncdata', this.cdata);\n }\n this.emitNode('onclosecdata');\n this.cdata = '';\n this.state = this.S.TEXT;\n }\n else if (c === ']') {\n this.cdata += ']';\n }\n else {\n this.cdata += `]]${c}`;\n this.state = this.S.CDATA;\n }\n continue;\n case this.S.PROC_INST:\n if (c === '?') {\n this.state = this.S.PROC_INST_ENDING;\n }\n else if (SAX.isWhitespace(c)) {\n this.state = this.S.PROC_INST_BODY;\n }\n else {\n this.procInstName += c;\n }\n continue;\n case this.S.PROC_INST_BODY:\n if (!this.procInstBody && SAX.isWhitespace(c)) {\n continue;\n }\n else if (c === '?') {\n this.state = this.S.PROC_INST_ENDING;\n }\n else {\n this.procInstBody += c;\n }\n continue;\n case this.S.PROC_INST_ENDING:\n if (c === '>') {\n this.emitNode('onprocessinginstruction', {\n name: this.procInstName,\n body: this.procInstBody\n });\n this.procInstName = this.procInstBody = '';\n this.state = this.S.TEXT;\n }\n else {\n this.procInstBody += `?${c}`;\n this.state = this.S.PROC_INST_BODY;\n }\n continue;\n case this.S.OPEN_TAG:\n if (SAX.isMatch(nameBody, c)) {\n this.tagName += c;\n }\n else {\n this.newTag();\n if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else {\n if (!SAX.isWhitespace(c)) {\n this.strictFail('Invalid character in tag name');\n }\n this.state = this.S.ATTRIB;\n }\n }\n continue;\n case this.S.OPEN_TAG_SLASH:\n if (c === '>') {\n this.openTag(true);\n this.closeTag();\n }\n else {\n this.strictFail('Forward-slash in opening tag not followed by >');\n this.state = this.S.ATTRIB;\n }\n continue;\n case this.S.ATTRIB:\n // haven't read the attribute name yet.\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.attribName = c;\n this.attribValue = '';\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_NAME:\n if (c === '=') {\n this.state = this.S.ATTRIB_VALUE;\n }\n else if (c === '>') {\n this.strictFail('Attribute without value');\n this.attribValue = this.attribName;\n this.attrib();\n this.openTag();\n }\n else if (SAX.isWhitespace(c)) {\n this.state = this.S.ATTRIB_NAME_SAW_WHITE;\n }\n else if (SAX.isMatch(nameBody, c)) {\n this.attribName += c;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n this.state = this.S.ATTRIB_VALUE;\n }\n else if (SAX.isWhitespace(c)) {\n continue;\n }\n else {\n this.strictFail('Attribute without value');\n this.tag.attributes[this.attribName] = '';\n this.attribValue = '';\n this.emitNode('onattribute', {\n name: this.attribName,\n value: ''\n });\n this.attribName = '';\n if (c === '>') {\n this.openTag();\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.attribName = c;\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n this.state = this.S.ATTRIB;\n }\n }\n continue;\n case this.S.ATTRIB_VALUE:\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (SAX.isQuote(c)) {\n this.q = c;\n this.state = this.S.ATTRIB_VALUE_QUOTED;\n }\n else {\n this.strictFail('Unquoted attribute value');\n this.state = this.S.ATTRIB_VALUE_UNQUOTED;\n this.attribValue = c;\n }\n continue;\n case this.S.ATTRIB_VALUE_QUOTED:\n if (c !== this.q) {\n if (c === '&') {\n this.state = this.S.ATTRIB_VALUE_ENTITY_Q;\n }\n else {\n this.attribValue += c;\n }\n continue;\n }\n this.attrib();\n this.q = '';\n this.state = this.S.ATTRIB_VALUE_CLOSED;\n continue;\n case this.S.ATTRIB_VALUE_CLOSED:\n if (SAX.isWhitespace(c)) {\n this.state = this.S.ATTRIB;\n }\n else if (c === '>') {\n this.openTag();\n }\n else if (c === '/') {\n this.state = this.S.OPEN_TAG_SLASH;\n }\n else if (SAX.isMatch(nameStart, c)) {\n this.strictFail('No whitespace between attributes');\n this.attribName = c;\n this.attribValue = '';\n this.state = this.S.ATTRIB_NAME;\n }\n else {\n this.strictFail('Invalid attribute name');\n }\n continue;\n case this.S.ATTRIB_VALUE_UNQUOTED:\n if (!SAX.isAttribEnd(c)) {\n if (c === '&') {\n this.state = this.S.ATTRIB_VALUE_ENTITY_U;\n }\n else {\n this.attribValue += c;\n }\n continue;\n }\n this.attrib();\n if (c === '>') {\n this.openTag();\n }\n else {\n this.state = this.S.ATTRIB;\n }\n continue;\n case this.S.CLOSE_TAG:\n if (!this.tagName) {\n if (SAX.isWhitespace(c)) {\n continue;\n }\n else if (SAX.notMatch(nameStart, c)) {\n if (this.script) {\n this.script += `</${c}`;\n this.state = this.S.SCRIPT;\n }\n else {\n this.strictFail('Invalid tagname in closing tag.');\n }\n }\n else {\n this.tagName = c;\n }\n }\n else if (c === '>') {\n this.closeTag();\n }\n else if (SAX.isMatch(nameBody, c)) {\n this.tagName += c;\n }\n else if (this.script) {\n this.script += `</${this.tagName}`;\n this.tagName = '';\n this.state = this.S.SCRIPT;\n }\n else {\n if (!SAX.isWhitespace(c)) {\n this.strictFail('Invalid tagname in closing tag');\n }\n this.state = this.S.CLOSE_TAG_SAW_WHITE;\n }\n continue;\n case this.S.CLOSE_TAG_SAW_WHITE:\n if (SAX.isWhitespace(c)) {\n continue;\n }\n if (c === '>') {\n this.closeTag();\n }\n else {\n this.strictFail('Invalid characters in closing tag');\n }\n continue;\n case this.S.TEXT_ENTITY:\n case this.S.ATTRIB_VALUE_ENTITY_Q:\n case this.S.ATTRIB_VALUE_ENTITY_U:\n let returnState;\n let buffer;\n switch (this.state) {\n case this.S.TEXT_ENTITY:\n returnState = this.S.TEXT;\n buffer = 'textNode';\n break;\n case this.S.ATTRIB_VALUE_ENTITY_Q:\n returnState = this.S.ATTRIB_VALUE_QUOTED;\n buffer = 'attribValue';\n break;\n case this.S.ATTRIB_VALUE_ENTITY_U:\n returnState = this.S.ATTRIB_VALUE_UNQUOTED;\n buffer = 'attribValue';\n break;\n default:\n throw new Error(`Unknown state: ${this.state}`);\n }\n if (c === ';') {\n this[buffer] += this.parseEntity();\n this.entity = '';\n this.state = returnState;\n }\n else if (SAX.isMatch(this.entity.length ? entityBody : entityStart, c)) {\n this.entity += c;\n }\n else {\n this.strictFail('Invalid character in entity name');\n this[buffer] += `&${this.entity}${c}`;\n this.entity = '';\n this.state = returnState;\n }\n continue;\n default:\n throw new Error(`Unknown state: ${this.state}`);\n }\n } // while\n if (this.position >= this.bufferCheckPosition) {\n this.checkBufferLength();\n }\n return this;\n }\n emit(event, data) {\n if (this.events.hasOwnProperty(event)) {\n const eventName = event.replace(/^on/, '');\n this.events[event](data, eventName, this);\n }\n }\n clearBuffers() {\n for (let i = 0, l = this.BUFFERS.length; i < l; i++) {\n this[this[i]] = '';\n }\n }\n flushBuffers() {\n this.closeText();\n if (this.cdata !== '') {\n this.emitNode('oncdata', this.cdata);\n this.cdata = '';\n }\n if (this.script !== '') {\n this.emitNode('onscript', this.script);\n this.script = '';\n }\n }\n end() {\n if (this.sawRoot && !this.closedRoot)\n this.strictFail('Unclosed root tag');\n if (this.state !== this.S.BEGIN &&\n this.state !== this.S.BEGIN_WHITESPACE &&\n this.state !== this.S.TEXT) {\n this.errorFunction('Unexpected end');\n }\n this.closeText();\n this.c = '';\n this.closed = true;\n this.emit('onend');\n return new SAXParser(this.opt);\n }\n errorFunction(er) {\n this.closeText();\n if (this.trackPosition) {\n er += `\\nLine: ${this.line}\\nColumn: ${this.column}\\nChar: ${this.c}`;\n }\n const error = new Error(er);\n this.error = error;\n this.emit('onerror', error);\n return this;\n }\n attrib() {\n if (!this.strict) {\n this.attribName = this.attribName[this.looseCase]();\n }\n if (this.attribList.indexOf(this.attribName) !== -1 ||\n this.tag.attributes.hasOwnProperty(this.attribName)) {\n this.attribName = this.attribValue = '';\n return;\n }\n if (this.opt.xmlns) {\n const qn = SAX.qname(this.attribName, true);\n const prefix = qn.prefix;\n const local = qn.local;\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && this.attribValue !== this.XML_NAMESPACE) {\n this.strictFail(`xml: prefix must be bound to ${this.XML_NAMESPACE}\\n` + `Actual: ${this.attribValue}`);\n }\n else if (local === 'xmlns' && this.attribValue !== this.XMLNS_NAMESPACE) {\n this.strictFail(`xmlns: prefix must be bound to ${this.XMLNS_NAMESPACE}\\n` +\n `Actual: ${this.attribValue}`);\n }\n else {\n const tag = this.tag;\n const parent = this.tags[this.tags.length - 1] || this;\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns);\n }\n tag.ns[local] = this.attribValue;\n }\n }\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n this.attribList.push([this.attribName, this.attribValue]);\n }\n else {\n // in non-xmlns mode, we can emit the event right away\n this.tag.attributes[this.attribName] = this.attribValue;\n this.emitNode('onattribute', {\n name: this.attribName,\n value: this.attribValue\n });\n }\n this.attribName = this.attribValue = '';\n }\n newTag() {\n if (!this.strict)\n this.tagName = this.tagName[this.looseCase]();\n const parent = this.tags[this.tags.length - 1] || this;\n const tag = (this.tag = { name: this.tagName, attributes: {} });\n // will be overridden if tag contains an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (this.opt.xmlns) {\n tag.ns = parent.ns;\n }\n this.attribList.length = 0;\n this.emitNode('onopentagstart', tag);\n }\n parseEntity() {\n let entity = this.entity;\n const entityLC = entity.toLowerCase();\n let num = NaN;\n let numStr = '';\n if (this.ENTITIES[entity]) {\n return this.ENTITIES[entity];\n }\n if (this.ENTITIES[entityLC]) {\n return this.ENTITIES[entityLC];\n }\n entity = entityLC;\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2);\n // TODO: remove tslint:disable\n // tslint:disable-next-line\n num = parseInt(entity, 16);\n numStr = num.toString(16);\n }\n else {\n entity = entity.slice(1);\n // TODO: remove tslint:disable\n // tslint:disable-next-line\n num = parseInt(entity, 10);\n numStr = num.toString(10);\n }\n }\n entity = entity.replace(/^0+/, '');\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n this.strictFail('Invalid character entity');\n return `&${this.entity};`;\n }\n return String.fromCodePoint(num);\n }\n beginWhiteSpace(c) {\n if (c === '<') {\n this.state = this.S.OPEN_WAKA;\n this.startTagPosition = this.position;\n }\n else if (!SAX.isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n this.strictFail('Non-whitespace before first tag.');\n this.textNode = c;\n this.state = this.S.TEXT;\n }\n else {\n }\n }\n strictFail(message) {\n if (typeof this !== 'object' || !(this instanceof SAXParser)) {\n throw new Error('bad call to strictFail');\n }\n if (this.strict) {\n this.errorFunction(message);\n }\n }\n textApplyOptions(text) {\n if (this.opt.trim)\n text = text.trim();\n if (this.opt.normalize)\n text = text.replace(/\\s+/g, ' ');\n return text;\n }\n emitNode(nodeType, data) {\n if (this.textNode)\n this.closeText();\n this.emit(nodeType, data);\n }\n closeText() {\n this.textNode = this.textApplyOptions(this.textNode);\n // TODO: figure out why this.textNode can be \"\" and \"undefined\"\n if (this.textNode !== undefined && this.textNode !== '' && this.textNode !== 'undefined') {\n this.emit('ontext', this.textNode);\n }\n this.textNode = '';\n }\n checkBufferLength() {\n const maxAllowed = Math.max(this.opt.MAX_BUFFER_LENGTH, 10);\n let maxActual = 0;\n for (let i = 0, l = this.BUFFERS.length; i < l; i++) {\n const len = this[this.BUFFERS[i]]?.length || 0;\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (this.BUFFERS[i]) {\n case 'textNode':\n this.closeText();\n break;\n case 'cdata':\n this.emitNode('oncdata', this.cdata);\n this.cdata = '';\n break;\n case 'script':\n this.emitNode('onscript', this.script);\n this.script = '';\n break;\n default:\n this.errorFunction(`Max buffer length exceeded: ${this.BUFFERS[i]}`);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n // schedule the next check for the earliest possible buffer overrun.\n const m = this.opt.MAX_BUFFER_LENGTH - maxActual;\n this.bufferCheckPosition = m + this.position;\n }\n openTag(selfClosing) {\n if (this.opt.xmlns) {\n // emit namespace binding events\n const tag = this.tag;\n // add namespace info to tag\n const qn = SAX.qname(this.tagName);\n tag.prefix = qn.prefix;\n tag.local = qn.local;\n tag.uri = tag.ns[qn.prefix] || '';\n if (tag.prefix && !tag.uri) {\n this.strictFail(`Unbound namespace prefix: ${JSON.stringify(this.tagName)}`);\n tag.uri = qn.prefix;\n }\n const parent = this.tags[this.tags.length - 1] || this;\n if (tag.ns && parent.ns !== tag.ns) {\n const that = this;\n Object.keys(tag.ns).forEach((p) => {\n that.emitNode('onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n });\n });\n }\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (let i = 0, l = this.attribList.length; i < l; i++) {\n const nv = this.attribList[i];\n const name = nv[0];\n const value = nv[1];\n const qualName = SAX.qname(name, true);\n const prefix = qualName.prefix;\n const local = qualName.local;\n const uri = prefix === '' ? '' : tag.ns[prefix] || '';\n const a = {\n name,\n value,\n prefix,\n local,\n uri\n };\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n this.strictFail(`Unbound namespace prefix: ${JSON.stringify(prefix)}`);\n a.uri = prefix;\n }\n this.tag.attributes[name] = a;\n this.emitNode('onattribute', a);\n }\n this.attribList.length = 0;\n }\n this.tag.isSelfClosing = Boolean(selfClosing);\n // process the tag\n this.sawRoot = true;\n this.tags.push(this.tag);\n this.emitNode('onopentag', this.tag);\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!this.noscript && this.tagName.toLowerCase() === 'script') {\n this.state = this.S.SCRIPT;\n }\n else {\n this.state = this.S.TEXT;\n }\n this.tag = null;\n this.tagName = '';\n }\n this.attribName = this.attribValue = '';\n this.attribList.length = 0;\n }\n closeTag() {\n if (!this.tagName) {\n this.strictFail('Weird empty close tag.');\n this.textNode += '</>';\n this.state = this.S.TEXT;\n return;\n }\n if (this.script) {\n if (this.tagName !== 'script') {\n this.script += `</${this.tagName}>`;\n this.tagName = '';\n this.state = this.S.SCRIPT;\n return;\n }\n this.emitNode('onscript', this.script);\n this.script = '';\n }\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n let t = this.tags.length;\n let tagName = this.tagName;\n if (!this.strict) {\n tagName = tagName[this.looseCase]();\n }\n while (t--) {\n const close = this.tags[t];\n if (close.name !== tagName) {\n // fail the first time in strict mode\n this.strictFail('Unexpected close tag');\n }\n else {\n break;\n }\n }\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n this.strictFail(`Unmatched closing tag: ${this.tagName}`);\n this.textNode += `</${this.tagName}>`;\n this.state = this.S.TEXT;\n return;\n }\n this.tagName = tagName;\n let s = this.tags.length;\n while (s-- > t) {\n const tag = (this.tag = this.tags.pop());\n this.tagName = this.tag.name;\n this.emitNode('onclosetag', this.tagName);\n const x = {};\n for (const i in tag.ns) {\n if (tag.ns.hasOwnProperty(i)) {\n x[i] = tag.ns[i];\n }\n }\n const parent = this.tags[this.tags.length - 1] || this;\n if (this.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n const that = this;\n Object.keys(tag.ns).forEach((p) => {\n const n = tag.ns[p];\n that.emitNode('onclosenamespace', { prefix: p, uri: n });\n });\n }\n }\n if (t === 0)\n this.closedRoot = true;\n this.tagName = this.attribValue = this.attribName = '';\n this.attribList.length = 0;\n this.state = this.S.TEXT;\n }\n}\n/**\n *\n * @todo Weird inheritance, with some variables initialized in subclass\n */\nexport class SAXParser extends SAX {\n static ENTITIES = ENTITIES;\n opt = DEFAULT_SAX_PARSER_OPTIONS;\n events = DEFAULT_SAX_EVENTS;\n constructor(opt) {\n super();\n this.clearBuffers();\n this.opt = opt = { ...this.opt, ...opt };\n this.events = { ...this.events, ...opt };\n this.q = this.c = '';\n this.opt.lowercase = this.opt.lowercase || this.opt.lowercasetags;\n this.bufferCheckPosition = this.opt.MAX_BUFFER_LENGTH;\n this.looseCase = this.opt.lowercase ? 'toLowerCase' : 'toUpperCase';\n this.tags = [];\n this.closed = this.closedRoot = this.sawRoot = false;\n this.tag = this.error = null;\n this.strict = Boolean(this.opt.strict);\n this.noscript = Boolean(this.opt.strict || this.opt.noscript);\n this.state = this.S.BEGIN;\n this.strictEntities = this.opt.strictEntities;\n this.ENTITIES = this.strictEntities\n ? Object.create(this.XML_ENTITIES)\n : Object.create(this.ENTITIES);\n this.attribList = [];\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (this.opt.xmlns) {\n this.ns = Object.create(this.rootNS);\n }\n // mostly just for error reporting\n this.trackPosition = this.opt.position !== false;\n if (this.trackPosition) {\n this.position = this.line = this.column = 0;\n }\n this.emit('onready');\n }\n resume() {\n this.error = null;\n return this;\n }\n close() {\n return this.write(null);\n }\n flush() {\n this.flushBuffers();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n/**\n * Uncapitalize first letter of a string\n * @param str\n * @returns\n */\nexport function uncapitalize(str) {\n return typeof str === 'string' ? str.charAt(0).toLowerCase() + str.slice(1) : str;\n}\n/**\n * Recursively uncapitalize all keys in a nested object\n * @param object\n * @returns\n */\nexport function uncapitalizeKeys(object) {\n if (Array.isArray(object)) {\n return object.map((element) => uncapitalizeKeys(element));\n }\n if (object && typeof object === 'object') {\n const newObject = {};\n for (const [key, value] of Object.entries(object)) {\n newObject[uncapitalize(key)] = uncapitalizeKeys(value);\n }\n return newObject;\n }\n return object;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { StreamingXMLParser } from \"./streaming-xml-parser.js\";\nimport { uncapitalizeKeys } from \"../xml-utils/uncapitalize.js\";\nimport { XMLParser as FastXMLParser } from 'fast-xml-parser';\nexport function parseXMLSync(text, options) {\n if (options?._parser && options._parser !== 'fast-xml-parser') {\n throw new Error(options?._parser);\n }\n const fastXMLOptions = {\n // Default FastXML options\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#allowbooleanattributes\n allowBooleanAttributes: true,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#ignoredeclaration\n ignoreDeclaration: true,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#removensprefix\n removeNSPrefix: options?.removeNSPrefix,\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#textnodename\n textNodeName: options?.textNodeName,\n // Let's application specify keys that are always arrays\n isArray: (name, jpath, isLeafNode, isAttribute) => {\n const array = Boolean(options?.arrayPaths?.some((path) => jpath === path));\n return array;\n },\n // Application overrides\n ...options?._fastXML\n };\n const xml = fastParseXML(text, fastXMLOptions);\n // Note - could be done with FastXML tag processing\n return options?.uncapitalizeKeys ? uncapitalizeKeys(xml) : xml;\n}\nexport function fastParseXML(text, options) {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n ...options\n });\n const parsedXML = parser.parse(text);\n return parsedXML;\n}\n/**\n * @todo Build a streaming XML parser based on sax-js\n * @param text\n * @param options\n * @returns\n */\nexport function parseXMLInBatches(text, options = {}) {\n const parser = new StreamingXMLParser({\n ...options,\n strict: true\n });\n parser.write(text);\n parser.close();\n return parser.result;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseXMLSync } from \"./lib/parsers/parse-xml.js\";\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.0\" !== 'undefined' ? \"4.4.0-alpha.0\" : 'latest';\n/**\n * Loader for XML files\n */\nexport const XMLLoader = {\n dataType: null,\n batchType: null,\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {\n _parser: 'fast-xml-parser',\n uncapitalizeKeys: false,\n removeNSPrefix: false,\n textNodeName: 'value',\n arrayPaths: []\n }\n },\n parse: async (arrayBuffer, options) => parseXMLSync(new TextDecoder().decode(arrayBuffer), {\n ...XMLLoader.options.xml,\n ...options?.xml\n }),\n parseTextSync: (text, options) => parseXMLSync(text, { ...XMLLoader.options.xml, ...options?.xml })\n};\nfunction testXMLFile(text) {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { mergeOptions } from '@loaders.gl/loader-utils';\nimport { XMLLoader } from \"./xml-loader.js\";\n/**\n * Loader for HTML files\n * Essentially a copy of the XMLLoader with different mime types, file extensions and content tests.\n * This split enables applications can control whether they want HTML responses to be parsed by the XML loader or not.\n * This loader does not have any additional understanding of the structure of HTML or the document.\n */\nexport const HTMLLoader = {\n ...XMLLoader,\n name: 'HTML',\n id: 'html',\n extensions: ['html', 'htm'],\n mimeTypes: ['text/html'],\n testText: testHTMLFile,\n parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text, options) => parseTextSync(text, options)\n};\nfunction testHTMLFile(text) {\n // TODO - There could be space first.\n return text.startsWith('<html');\n}\nfunction parseTextSync(text, options) {\n // fast-xml-parser can recognize HTML entities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#htmlentities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/5.Entities.md\n options = mergeOptions(options, {\n xml: {\n _parser: 'fast-xml-parser',\n _fastXML: {\n htmlEntities: true\n }\n }\n });\n return XMLLoader.parseTextSync?.(text, options);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// TODO - these utilities could be moved to the XML parser.\n// uncapitalizeKeys could be an XMLLoader option\n/**\n * Extracts a value or array and always return an array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLValueToArray(xmlValue) {\n if (Array.isArray(xmlValue)) {\n return xmlValue;\n }\n if (xmlValue && typeof xmlValue === 'object' && xmlValue['0']) {\n // Error this is an objectified array\n }\n if (xmlValue) {\n return [xmlValue];\n }\n return [];\n}\n/**\n * Mutates a field in place, converting it to array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLFieldToArrayInPlace(xml, key) {\n xml[key] = convertXMLValueToArray(xml[key]);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["FastXMLParser"]
7
7
  }
@@ -4,7 +4,7 @@
4
4
  import { parseXMLSync } from "./lib/parsers/parse-xml.js";
5
5
  // __VERSION__ is injected by babel-plugin-version-inline
6
6
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
7
- const VERSION = typeof "4.3.1" !== 'undefined' ? "4.3.1" : 'latest';
7
+ const VERSION = typeof "4.4.0-alpha.0" !== 'undefined' ? "4.4.0-alpha.0" : 'latest';
8
8
  /**
9
9
  * Loader for XML files
10
10
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/xml",
3
- "version": "4.3.2",
3
+ "version": "4.4.0-alpha.1",
4
4
  "description": "Framework-independent loaders for the XML (eXtensible Markup Language) format",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,12 +41,12 @@
41
41
  "build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
42
42
  },
43
43
  "dependencies": {
44
- "@loaders.gl/loader-utils": "4.3.2",
45
- "@loaders.gl/schema": "4.3.2",
44
+ "@loaders.gl/loader-utils": "4.4.0-alpha.1",
45
+ "@loaders.gl/schema": "4.4.0-alpha.1",
46
46
  "fast-xml-parser": "^4.2.5"
47
47
  },
48
48
  "peerDependencies": {
49
- "@loaders.gl/core": "^4.3.0"
49
+ "@loaders.gl/core": "4.4.0-alpha.0"
50
50
  },
51
- "gitHead": "b4203b8703f64a38d6f79a3113bc7bb51d45c93a"
51
+ "gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
52
52
  }
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
6
- import {mergeLoaderOptions} from '@loaders.gl/loader-utils';
6
+ import {mergeOptions} from '@loaders.gl/loader-utils';
7
7
  import {XMLLoader, XMLLoaderOptions} from './xml-loader';
8
8
 
9
9
  export type HTMLLoaderOptions = XMLLoaderOptions;
@@ -35,7 +35,7 @@ function parseTextSync(text: string, options?: XMLLoaderOptions): any {
35
35
  // fast-xml-parser can recognize HTML entities
36
36
  // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#htmlentities
37
37
  // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/5.Entities.md
38
- options = mergeLoaderOptions(options, {
38
+ options = mergeOptions(options, {
39
39
  xml: {
40
40
  _parser: 'fast-xml-parser',
41
41
  _fastXML: {