@loaders.gl/core 4.2.0-alpha.4 → 4.2.0-alpha.6

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.
Files changed (112) hide show
  1. package/dist/core-addons/write-file-browser.js +62 -1
  2. package/dist/dist.dev.js +366 -301
  3. package/dist/dist.min.js +15 -0
  4. package/dist/index.cjs +60 -71
  5. package/dist/index.cjs.map +7 -0
  6. package/dist/index.d.ts +20 -20
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +18 -1
  9. package/dist/iterators/batch-iterators/timed-batch-iterator.js +18 -13
  10. package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts +1 -1
  11. package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts.map +1 -1
  12. package/dist/iterators/make-iterator/make-array-buffer-iterator.js +21 -15
  13. package/dist/iterators/make-iterator/make-blob-iterator.d.ts +1 -1
  14. package/dist/iterators/make-iterator/make-blob-iterator.d.ts.map +1 -1
  15. package/dist/iterators/make-iterator/make-blob-iterator.js +18 -10
  16. package/dist/iterators/make-iterator/make-iterator.d.ts +1 -1
  17. package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -1
  18. package/dist/iterators/make-iterator/make-iterator.js +29 -18
  19. package/dist/iterators/make-iterator/make-stream-iterator.js +86 -23
  20. package/dist/iterators/make-iterator/make-string-iterator.d.ts +1 -1
  21. package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -1
  22. package/dist/iterators/make-iterator/make-string-iterator.js +20 -10
  23. package/dist/iterators/make-stream/make-stream.js +47 -29
  24. package/dist/javascript-utils/is-type.js +25 -19
  25. package/dist/lib/api/encode-table.js +40 -35
  26. package/dist/lib/api/encode.js +112 -73
  27. package/dist/lib/api/load-in-batches.js +35 -21
  28. package/dist/lib/api/load.js +35 -20
  29. package/dist/lib/api/loader-options.d.ts +2 -2
  30. package/dist/lib/api/loader-options.d.ts.map +1 -1
  31. package/dist/lib/api/loader-options.js +3 -1
  32. package/dist/lib/api/parse-in-batches.js +106 -69
  33. package/dist/lib/api/parse-sync.js +42 -33
  34. package/dist/lib/api/parse.js +73 -61
  35. package/dist/lib/api/register-loaders.js +23 -14
  36. package/dist/lib/api/select-loader.js +216 -163
  37. package/dist/lib/common.js +3 -1
  38. package/dist/lib/fetch/fetch-error-message.js +17 -12
  39. package/dist/lib/fetch/fetch-file.js +26 -15
  40. package/dist/lib/fetch/read-array-buffer.js +30 -15
  41. package/dist/lib/filesystems/browser-filesystem.js +127 -69
  42. package/dist/lib/filesystems/read-array-buffer.js +14 -6
  43. package/dist/lib/init.js +13 -7
  44. package/dist/lib/loader-utils/check-errors.js +37 -16
  45. package/dist/lib/loader-utils/get-data.js +110 -88
  46. package/dist/lib/loader-utils/get-fetch-function.js +24 -13
  47. package/dist/lib/loader-utils/loader-context.js +50 -31
  48. package/dist/lib/loader-utils/loggers.js +35 -44
  49. package/dist/lib/loader-utils/normalize-loader.js +45 -32
  50. package/dist/lib/loader-utils/option-defaults.js +38 -34
  51. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  52. package/dist/lib/loader-utils/option-utils.js +133 -80
  53. package/dist/lib/progress/fetch-progress.js +54 -47
  54. package/dist/lib/utils/log.js +4 -4
  55. package/dist/lib/utils/mime-type-utils.js +34 -11
  56. package/dist/lib/utils/resource-utils.js +77 -45
  57. package/dist/lib/utils/response-utils.js +97 -74
  58. package/dist/lib/utils/url-utils.js +6 -4
  59. package/dist/null-loader.js +44 -30
  60. package/dist/null-worker-node.js +4 -2
  61. package/dist/null-worker.js +4 -2
  62. package/dist/workers/null-worker-node.js +3 -1
  63. package/dist/workers/null-worker.js +3 -1
  64. package/package.json +12 -11
  65. package/src/lib/api/parse-in-batches.ts +6 -5
  66. package/src/lib/loader-utils/option-utils.ts +3 -1
  67. package/src/lib/utils/resource-utils.ts +1 -1
  68. package/dist/core-addons/README.md +0 -1
  69. package/dist/core-addons/write-file-browser.js.map +0 -1
  70. package/dist/index.js.map +0 -1
  71. package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +0 -1
  72. package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +0 -1
  73. package/dist/iterators/make-iterator/make-blob-iterator.js.map +0 -1
  74. package/dist/iterators/make-iterator/make-iterator.js.map +0 -1
  75. package/dist/iterators/make-iterator/make-stream-iterator.js.map +0 -1
  76. package/dist/iterators/make-iterator/make-string-iterator.js.map +0 -1
  77. package/dist/iterators/make-stream/make-stream.js.map +0 -1
  78. package/dist/javascript-utils/is-type.js.map +0 -1
  79. package/dist/lib/api/encode-table.js.map +0 -1
  80. package/dist/lib/api/encode.js.map +0 -1
  81. package/dist/lib/api/load-in-batches.js.map +0 -1
  82. package/dist/lib/api/load.js.map +0 -1
  83. package/dist/lib/api/loader-options.js.map +0 -1
  84. package/dist/lib/api/parse-in-batches.js.map +0 -1
  85. package/dist/lib/api/parse-sync.js.map +0 -1
  86. package/dist/lib/api/parse.js.map +0 -1
  87. package/dist/lib/api/register-loaders.js.map +0 -1
  88. package/dist/lib/api/select-loader.js.map +0 -1
  89. package/dist/lib/common.js.map +0 -1
  90. package/dist/lib/fetch/fetch-error-message.js.map +0 -1
  91. package/dist/lib/fetch/fetch-file.js.map +0 -1
  92. package/dist/lib/fetch/read-array-buffer.js.map +0 -1
  93. package/dist/lib/filesystems/browser-filesystem.js.map +0 -1
  94. package/dist/lib/filesystems/read-array-buffer.js.map +0 -1
  95. package/dist/lib/init.js.map +0 -1
  96. package/dist/lib/loader-utils/check-errors.js.map +0 -1
  97. package/dist/lib/loader-utils/get-data.js.map +0 -1
  98. package/dist/lib/loader-utils/get-fetch-function.js.map +0 -1
  99. package/dist/lib/loader-utils/loader-context.js.map +0 -1
  100. package/dist/lib/loader-utils/loggers.js.map +0 -1
  101. package/dist/lib/loader-utils/normalize-loader.js.map +0 -1
  102. package/dist/lib/loader-utils/option-defaults.js.map +0 -1
  103. package/dist/lib/loader-utils/option-utils.js.map +0 -1
  104. package/dist/lib/progress/fetch-progress.js.map +0 -1
  105. package/dist/lib/utils/log.js.map +0 -1
  106. package/dist/lib/utils/mime-type-utils.js.map +0 -1
  107. package/dist/lib/utils/resource-utils.js.map +0 -1
  108. package/dist/lib/utils/response-utils.js.map +0 -1
  109. package/dist/lib/utils/url-utils.js.map +0 -1
  110. package/dist/null-loader.js.map +0 -1
  111. package/dist/workers/null-worker-node.js.map +0 -1
  112. package/dist/workers/null-worker.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loaders'] = factory();
6
+ else root['loaders'] = factory();})(globalThis, function () {
7
+ "use strict";var __exports__=(()=>{var be=Object.defineProperty;var Or=Object.getOwnPropertyDescriptor;var Ur=Object.getOwnPropertyNames;var jr=Object.prototype.hasOwnProperty;var Dr=(e,t,r)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var kt=(e,t)=>{for(var r in t)be(e,r,{get:t[r],enumerable:!0})},$r=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ur(t))!jr.call(e,n)&&n!==r&&be(e,n,{get:()=>t[n],enumerable:!(o=Or(t,n))||o.enumerable});return e};var zr=e=>$r(be({},"__esModule",{value:!0}),e);var St=(e,t,r)=>(Dr(e,typeof t!="symbol"?t+"":t,r),r);var on={};kt(on,{JSONLoader:()=>rt,NullLoader:()=>Wr,NullWorkerLoader:()=>Nr,RequestScheduler:()=>H,_BrowserFileSystem:()=>Re,_fetchProgress:()=>Cr,_unregisterLoaders:()=>lr,assert:()=>$,concatenateArrayBuffersAsync:()=>W,document:()=>Pe,encode:()=>Lr,encodeInBatches:()=>Fr,encodeSync:()=>xt,encodeTable:()=>wt,encodeTableAsText:()=>Er,encodeTableInBatches:()=>bt,encodeText:()=>Rr,encodeTextSync:()=>Ir,encodeURLtoURL:()=>Tt,fetchFile:()=>U,forEach:()=>Ke,getLoaderOptions:()=>L,getPathPrefix:()=>tt,global:()=>ve,isAsyncIterable:()=>he,isBrowser:()=>p,isIterable:()=>pe,isIterator:()=>de,isPromise:()=>Dt,isPureObject:()=>me,isReadableStream:()=>O,isResponse:()=>m,isWorker:()=>Ne,isWritableStream:()=>zt,load:()=>_r,loadInBatches:()=>Sr,makeIterator:()=>X,makeLineIterator:()=>Qe,makeNumberedLineIterator:()=>Je,makeStream:()=>vr,makeTextDecoderIterator:()=>Ge,makeTextEncoderIterator:()=>qe,parse:()=>E,parseInBatches:()=>P,parseSync:()=>Ar,readArrayBuffer:()=>Qt,registerLoaders:()=>fr,resolvePath:()=>v,selectLoader:()=>Z,selectLoaderSync:()=>Y,self:()=>Ie,setLoaderOptions:()=>ft,setPathPrefix:()=>et,window:()=>Fe});function $(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ie=A.self||A.window||A.global||{},Fe=A.window||A.self||A.global||{},ve=A.global||A.self||A.window||{},Pe=A.document||{};var p=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),Ne=typeof importScripts=="function",Et=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Vr=Et&&parseFloat(Et[1])||0;function We(e,t){return Bt(e||{},t)}function Bt(e,t,r=0){if(r>3)return t;let o={...e};for(let[n,s]of Object.entries(t))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Bt(o[n]||{},t[n],r+1):o[n]=t[n];return o}var Lt="latest";function Hr(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.5"),globalThis._loadersgl_.version}var re=Hr();function l(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var _={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ln=_.self||_.window||_.global||{},mn=_.window||_.self||_.global||{},pn=_.global||_.self||_.window||{},hn=_.document||{};var d=typeof process!="object"||String(process)!=="[object process]"||process.browser;var It=typeof window<"u"&&typeof window.orientation<"u",Rt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),dn=Rt&&parseFloat(Rt[1])||0;var oe=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){l(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){l(this.isRunning),this.isRunning=!1,this._reject(t)}};var z=class{terminate(){}};var Ce=new Map;function Ft(e){l(e.source&&!e.url||!e.source&&e.url);let t=Ce.get(e.source||e.url);return t||(e.url&&(t=Gr(e.url),Ce.set(e.url,t)),e.source&&(t=vt(e.source),Ce.set(e.source,t))),l(t),t}function Gr(e){if(!e.startsWith("http"))return e;let t=qr(e);return vt(t)}function vt(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function qr(e){return`try {
8
+ importScripts('${e}');
9
+ } catch (error) {
10
+ console.error(error);
11
+ throw error;
12
+ }`}function Me(e,t=!0,r){let o=r||new Set;if(e){if(Pt(e))o.add(e);else if(Pt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let n in e)Me(e[n],t,o)}}return r===void 0?Array.from(o):[]}function Pt(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Oe(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=Oe(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var Ue=()=>{},I=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&d||typeof z<"u"&&!d}constructor(t){let{name:r,source:o,url:n}=t;l(o||n),this.name=r,this.source=o,this.url=n,this.onMessage=Ue,this.onError=s=>console.log(s),this.worker=d?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Ue,this.onError=Ue,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||Me(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Ft({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;t=new z(o,{eval:!1})}else if(this.source)t=new z(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var ne=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return I.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:t,onMessage:r,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let o=new oe(r.name,t);t.onMessage=n=>r.onMessage(o,n.type,n.payload),t.onError=n=>r.onError(o,n),r.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!d||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new I({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return It?this.maxMobileConcurrency:this.maxConcurrency}};var Qr={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},N=class{props;workerPools=new Map;static isSupported(){return I.isSupported()}static getWorkerFarm(t={}){return N._workerFarm=N._workerFarm||new N({}),N._workerFarm.setProps(t),N._workerFarm}constructor(t){this.props={...Qr},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:o,url:n}=t,s=this.workerPools.get(r);return s||(s=new ne({name:r,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},g=N;St(g,"_workerFarm");function Nt(e){let t=e.version!==re?` (worker-utils@${re})`:"";return`${e.name}@${e.version}${t}`}function se(e,t={}){let r=t[e.id]||{},o=d?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=r.workerUrl;if(!n&&e.id==="compression"&&(n=t.workerUrl),t._workerType==="test"&&(d?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let s=e.version;s==="latest"&&(s=Lt);let i=s?`@${s}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`}return l(n),n}async function je(e,t,r={},o={}){let n=Nt(e),s=g.getWorkerFarm(r),{source:i}=r,a={name:n,source:i};i||(a.url=se(e,r));let c=s.getWorkerPool(a),u=r.jobName||e.name,B=await c.startJob(u,Jr.bind(null,o)),R=Oe(r);return B.postMessage("process",{input:t,options:R}),(await B.result).result}async function Jr(e,t,r,o){switch(r){case"done":t.done(o);break;case"error":t.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){t.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);t.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";t.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function De(e,t=re){l(e,"no worker provided");let r=e.version;return!(!t||!r)}function $e(e,t){return!g.isSupported()||!d&&!t?._nodeWorkers?!1:e.worker&&t?.worker}async function ze(e,t,r,o,n){let s=e.id,i=se(e,r),c=g.getWorkerFarm(r).getWorkerPool({name:s,url:i});r=JSON.parse(JSON.stringify(r)),o=JSON.parse(JSON.stringify(o||{}));let u=await c.startJob("process-on-worker",Kr.bind(null,n));return u.postMessage("process",{input:t,options:r,context:o}),await(await u.result).result}async function Kr(e,t,r,o){switch(r){case"done":t.done(o);break;case"error":t.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);t.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";t.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function Ve(e,t){return!g.isSupported()||!p&&!t?._nodeWorkers?!1:e.worker&&t?.worker}function He(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let o=new Uint8Array(e),n=new Uint8Array(t);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function ie(...e){return Wt(e)}function Wt(e){let t=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=t.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(r),n=0;for(let s of t)o.set(s,n),n+=s.byteLength;return o.buffer}async function*Ge(e,t={}){let r=new TextDecoder(void 0,t);for await(let o of e)yield typeof o=="string"?o:r.decode(o,{stream:!0})}async function*qe(e){let t=new TextEncoder;for await(let r of e)yield typeof r=="string"?t.encode(r):r}async function*Qe(e){let t="";for await(let r of e){t+=r;let o;for(;(o=t.indexOf(`
13
+ `))>=0;){let n=t.slice(0,o+1);t=t.slice(o+1),yield n}}t.length>0&&(yield t)}async function*Je(e){let t=1;for await(let r of e)yield{counter:t,line:r},t++}async function Ke(e,t){for(;;){let{done:r,value:o}=await e.next();if(r){e.return();return}if(t(o))return}}async function W(e){let t=[];for await(let r of e)t.push(r);return ie(...t)}function F(e){return F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(e)}function Ye(e,t){if(F(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var o=r.call(e,t||"default");if(F(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ze(e){var t=Ye(e,"string");return F(t)==="symbol"?t:String(t)}function f(e,t,r){return t=Ze(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ae(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var C=class{constructor(t,r){f(this,"name",void 0),f(this,"type",void 0),f(this,"sampleSize",1),f(this,"time",0),f(this,"count",0),f(this,"samples",0),f(this,"lastTiming",0),f(this,"lastSampleTime",0),f(this,"lastSampleCount",0),f(this,"_count",0),f(this,"_time",0),f(this,"_samples",0),f(this,"_startTime",0),f(this,"_timerPending",!1),this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ae(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ae()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var V=class{constructor(t){f(this,"id",void 0),f(this,"stats",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:o}=t,n=this.stats[r];return n||(t instanceof C?n=t:n=new C(r,o),this.stats[r]=n),n}};var Yr="Queued Requests",Zr="Active Requests",Xr="Cancelled Requests",eo="Queued Requests Ever",to="Active Requests Ever",ro={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},H=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(t={}){this.props={...ro,...t},this.stats=new V({id:this.props.id}),this.stats.get(Yr),this.stats.get(Zr),this.stats.get(Xr),this.stats.get(eo),this.stats.get(to)}scheduleRequest(t,r=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let o={handle:t,priority:0,getPriority:r},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(t,n),this._issueNewRequests(),n}_issueRequest(t){let{handle:r,resolve:o}=t,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;r<t;++r){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let t=this.requestQueue;for(let r=0;r<t.length;++r){let o=t[r];this._updateRequest(o)||(t.splice(r,1),this.requestMap.delete(o.handle),r--)}t.sort((r,o)=>r.priority-o.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Xe="",Ct={};function et(e){Xe=e}function tt(){return Xe}function v(e){for(let t in Ct)if(e.startsWith(t)){let r=Ct[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Xe}${e}`),e}var oo="4.2.0-alpha.5",rt={name:"JSON",id:"json",module:"json",version:oo,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Mt,parse:async e=>Mt(new TextDecoder().decode(e)),options:{}};function Mt(e){return JSON.parse(e)}function Ot(e){return e&&typeof e=="object"&&e.isBuffer}function xe(e){if(Ot(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}var M={};kt(M,{dirname:()=>so,filename:()=>no,join:()=>io,resolve:()=>ao});function Ut(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function no(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function so(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function io(...e){let t="/";return e=e.map((r,o)=>(o&&(r=r.replace(new RegExp(`^${t}`),"")),o!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function ao(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",o=!1,n;for(let s=t.length-1;s>=-1&&!o;s--){let i;s>=0?i=t[s]:(n===void 0&&(n=Ut()),i=n),i.length!==0&&(r=`${i}/${r}`,o=i.charCodeAt(0)===ce)}return r=co(r,!o),o?`/${r}`:r.length>0?r:"."}var ce=47,ot=46;function co(e,t){let r="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===ce)break;s=ce}if(s===ce){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==ot||r.charCodeAt(r.length-2)!==ot){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==ce;--u);if(u!==c){r=u===-1?"":r.slice(0,u),o=a,n=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",o=a,n=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let c=e.slice(o+1,a);r.length>0?r+=`/${c}`:r=c,i=!1}o=a,n=0}else s===ot&&n!==-1?++n:n=-1}return r}var fe=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(t,t+r).arrayBuffer()}};var ue=new Error("Not implemented"),le=class{handle;size=0;bigsize=0n;url="";constructor(t,r,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,o);throw p?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw ue}async write(t,r,o){throw ue}async stat(){throw ue}async truncate(t){throw ue}async append(t){throw ue}async close(){}};var jt=e=>typeof e=="boolean",w=e=>typeof e=="function",k=e=>e!==null&&typeof e=="object",me=e=>k(e)&&e.constructor==={}.constructor,Dt=e=>k(e)&&w(e.then),pe=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",he=e=>e&&typeof e[Symbol.asyncIterator]=="function",de=e=>e&&w(e.next),m=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var h=e=>typeof Blob<"u"&&e instanceof Blob,$t=e=>e&&typeof e=="object"&&e.isBuffer,fo=e=>k(e)&&w(e.abort)&&w(e.getWriter),uo=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||k(e)&&w(e.tee)&&w(e.cancel)&&w(e.getReader),lo=e=>k(e)&&w(e.end)&&w(e.write)&&jt(e.writable),mo=e=>k(e)&&w(e.read)&&w(e.pipe)&&jt(e.readable),O=e=>uo(e)||mo(e),zt=e=>fo(e)||lo(e);var po=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,ho=/^([-\w.]+\/[-\w.+]+)/;function Vt(e){let t=ho.exec(e);return t?t[1]:e}function nt(e){let t=po.exec(e);return t?t[1]:""}var Ht=/\?.*/;function Gt(e){let t=e.match(Ht);return t&&t[0]}function G(e){return e.replace(Ht,"")}function b(e){return m(e)?e.url:h(e)?e.name||"":typeof e=="string"?e:""}function ge(e){if(m(e)){let t=e,r=t.headers.get("content-type")||"",o=G(t.url);return Vt(r)||nt(o)}return h(e)?e.type||"":typeof e=="string"?nt(e):""}function qt(e){return m(e)?e.headers["content-length"]||-1:h(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Te(e){if(m(e))return e;let t={},r=qt(e);r>=0&&(t["content-length"]=String(r));let o=b(e),n=ge(e);n&&(t["content-type"]=n);let s=await yo(e);s&&(t["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:t});return Object.defineProperty(i,"url",{value:o}),i}async function st(e){if(!e.ok){let t=await go(e);throw new Error(t)}}async function go(e){let t=`Failed to fetch resource ${e.url} (${e.status}): `;try{let r=e.headers.get("Content-Type"),o=e.statusText;r?.includes("application/json")&&(o+=` ${await e.text()}`),t+=o,t=t.length>60?`${t.slice(0,60)}...`:t}catch{}return t}async function yo(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${wo(r)}`}return null}function wo(e){let t="",r=new Uint8Array(e);for(let o=0;o<r.byteLength;o++)t+=String.fromCharCode(r[o]);return btoa(t)}function bo(e){return!xo(e)&&!To(e)}function xo(e){return e.startsWith("http:")||e.startsWith("https:")}function To(e){return e.startsWith("data:")}async function U(e,t){if(typeof e=="string"){let r=v(e);return bo(r)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(r,t):await fetch(r,t)}return await Te(e)}async function Qt(e,t,r){e instanceof Blob||(e=new Blob([e]));let o=e.slice(t,t+r);return await Ao(o)}async function Ao(e){return await new Promise((t,r)=>{let o=new FileReader;o.onload=n=>t(n?.target?.result),o.onerror=n=>r(n),o.readAsArrayBuffer(e)})}function it(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function x(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||it()}var _o=globalThis.self||globalThis.window||globalThis.global,q=globalThis.window||globalThis.self||globalThis.global,ko=globalThis.document||{},j=globalThis.process||{},So=globalThis.console,_i=globalThis.navigator||{};var Ae=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",Ei=x();function Eo(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var _e=class{constructor(t,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";f(this,"storage",void 0),f(this,"id",void 0),f(this,"config",void 0),this.storage=Eo(o),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Jt(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function Kt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function ke(e,t,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,n=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>o&&(r=Math.min(r,o/e.width));let s=e.width*r,i=e.height*r,a=["font-size:1px;","padding:".concat(Math.floor(i/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(i,"px;"),"background:url(".concat(n,");"),"background-size:".concat(s,"px ").concat(i,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}var Se;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Se||(Se={}));var Bo=10;function Yt(e){return typeof e!="string"?e:(e=e.toUpperCase(),Se[e]||Se.WHITE)}function Zt(e,t,r){if(!x&&typeof e=="string"){if(t){let o=Yt(t);e="\x1B[".concat(o,"m").concat(e,"\x1B[39m")}if(r){let o=Yt(r);e="\x1B[".concat(o+Bo,"m").concat(e,"\x1B[49m")}}return e}function Xt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(r),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(t.find(a=>s===a)||(n[s]=i.bind(e)))}}function Q(e,t){if(!e)throw new Error(t||"Assertion failed")}function D(){let e;if(x()&&q.performance){var t,r;e=q===null||q===void 0||(t=q.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in j){var o;let n=j===null||j===void 0||(o=j.hrtime)===null||o===void 0?void 0:o.call(j);e=n[0]*1e3+n[1]/1e6}else e=Date.now();return e}var J={debug:x()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Lo={enabled:!0,level:0};function y(){}var er={},tr={once:!0},S=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};f(this,"id",void 0),f(this,"VERSION",Ae),f(this,"_startTs",D()),f(this,"_deltaTs",D()),f(this,"_storage",void 0),f(this,"userData",{}),f(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new _e("__probe-".concat(this.id,"__"),Lo),this.timeStamp("".concat(this.id," started")),Xt(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((D()-this._startTs).toPrecision(10))}getDelta(){return Number((D()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){Q(t,r)}warn(t){return this._getLogFunction(0,t,J.warn,arguments,tr)}error(t){return this._getLogFunction(0,t,J.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,J.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,J.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,J.debug||J.info,arguments,tr)}table(t,r,o){return r?this._getLogFunction(t,r,console.table||y,o&&[o],{tag:vo(r)}):y}image(t){let{logLevel:r,priority:o,image:n,message:s="",scale:i=1}=t;return this._shouldLog(r||o)?x()?Fo({image:n,message:s,scale:i}):Io({image:n,message:s,scale:i}):y}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||y)}group(t,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},n=rr({logLevel:t,message:r,opts:o}),{collapsed:s}=o;return n.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},o,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||y)}withGroup(t,r,o){this.group(t,r)();try{o()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=or(t)}_getLogFunction(t,r,o,n,s){if(this._shouldLog(t)){s=rr({logLevel:t,message:r,args:n,opts:s}),o=o||s.method,Q(o),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=D();let i=s.tag||s.message;if(s.once&&i)if(!er[i])er[i]=D();else return y;return r=Ro(this.id,s.message,s),o.bind(console,r,...s.args)}return y}};f(S,"VERSION",Ae);function or(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Q(Number.isFinite(t)&&t>=0),t}function rr(e){let{logLevel:t,message:r}=e;e.logLevel=or(t);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&o.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return Q(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}function Ro(e,t,r){if(typeof t=="string"){let o=r.time?Kt(Jt(r.total)):"";t=r.time?"".concat(e,": ").concat(o," ").concat(t):"".concat(e,": ").concat(t),t=Zt(t,r.color,r.background)}return t}function Io(e){let{image:t,message:r="",scale:o=1}=e;return console.warn("removed"),y}function Fo(e){let{image:t,message:r="",scale:o=1}=e;if(typeof t=="string"){let s=new Image;return s.onload=()=>{let i=ke(s,r,o);console.log(...i)},s.src=t,y}let n=t.nodeName||"";if(n.toLowerCase()==="img")return console.log(...ke(t,r,o)),y;if(n.toLowerCase()==="canvas"){let s=new Image;return s.onload=()=>console.log(...ke(s,r,o)),s.src=t.toDataURL(),y}return y}function vo(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Xi=new S({id:"@probe.gl/log"});var at=new S({id:"loaders.gl"}),Ee=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Be=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var ct={fetch:null,mimeType:void 0,nothrow:!1,log:new Be,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:p,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},nr={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function ye(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function L(){let e=ye();return e.globalOptions=e.globalOptions||{...ct},e.globalOptions}function ft(e){let t=ye(),r=L();t.globalOptions=ar(r,e)}function K(e,t,r,o){return r=r||[],r=Array.isArray(r)?r:[r],Po(e,r),ar(t,e,o)}function Po(e,t){sr(e,null,ct,nr,t);for(let r of t){let o=e&&e[r.id]||{},n=r.options&&r.options[r.id]||{},s=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};sr(o,r.id,n,s,t)}}function sr(e,t,r,o,n){let s=t||"Top level",i=t?`${t}.`:"";for(let a in e){let c=!t&&k(e[a]),u=a==="baseUri"&&!t,B=a==="workerUrl"&&t;if(!(a in r)&&!u&&!B){if(a in o)at.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c){let R=No(a,n);at.warn(`${s} loader option '${i}${a}' not recognized. ${R}`)()}}}}function No(e,t){let r=e.toLowerCase(),o="";for(let n of t)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(r.startsWith(i)||i.startsWith(r))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function ar(e,t,r){let n={...e.options||{}};return Wo(n,r),n.log===null&&(n.log=new Ee),ir(n,L()),ir(n,t),n}function ir(e,t){for(let r in t)if(r in t){let o=t[r];me(o)&&me(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function Wo(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function T(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function we(e){$(e,"null loader"),$(T(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var cr=()=>{let e=ye();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function fr(e){let t=cr();e=Array.isArray(e)?e:[e];for(let r of e){let o=we(r);t.find(n=>o===n)||t.unshift(o)}}function ur(){return cr()}function lr(){let e=ye();e.loaderRegistry=[]}var mr=new S({id:"loaders.gl"});var Co=/\.([^.]+)$/;async function Z(e,t=[],r,o){if(!hr(e))return null;let n=Y(e,t,{...r,nothrow:!0},o);if(n)return n;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),n=Y(e,t,r,o)),!n&&!r?.nothrow)throw new Error(dr(e));return n}function Y(e,t=[],r,o){if(!hr(e))return null;if(t&&!Array.isArray(t))return we(t);let n=[];t&&(n=n.concat(t)),r?.ignoreRegisteredLoaders||n.push(...ur()),Oo(n);let s=Mo(e,n,r,o);if(!s&&!r?.nothrow)throw new Error(dr(e));return s}function Mo(e,t,r,o){let n=b(e),s=ge(e),i=G(n)||o?.url,a=null,c="";return r?.mimeType&&(a=ut(t,r?.mimeType),c=`match forced by supplied MIME type ${r?.mimeType}`),a=a||Uo(t,i),c=c||(a?`matched url ${i}`:""),a=a||ut(t,s),c=c||(a?`matched MIME type ${s}`:""),a=a||Do(t,e),c=c||(a?`matched initial data ${gr(e)}`:""),r?.fallbackMimeType&&(a=a||ut(t,r?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&mr.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function hr(e){return!(e instanceof Response&&e.status===204)}function dr(e){let t=b(e),r=ge(e),o="No valid loader found (";o+=t?`${M.filename(t)}, `:"no url provided, ",o+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let n=e?gr(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Oo(e){for(let t of e)we(t)}function Uo(e,t){let r=t&&Co.exec(t),o=r&&r[1];return o?jo(e,o):null}function jo(e,t){t=t.toLowerCase();for(let r of e)for(let o of r.extensions)if(o.toLowerCase()===t)return r;return null}function ut(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===`application/x.${r.id}`)return r;return null}function Do(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if($o(t,r))return r}else if(ArrayBuffer.isView(t)){if(pr(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&pr(t,0,r))return r;return null}function $o(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(o=>e.startsWith(o))}function pr(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(n=>zo(e,t,r,n))}function zo(e,t,r,o){if(o instanceof ArrayBuffer)return He(o,e,o.byteLength);switch(typeof o){case"function":return o(e);case"string":let n=lt(e,t,o.length);return o===n;default:return!1}}function gr(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?lt(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?lt(e,0,t):""}function lt(e,t,r){if(e.byteLength<t+r)return"";let o=new DataView(e),n="";for(let s=0;s<r;s++)n+=String.fromCharCode(o.getUint8(t+s));return n}function*yr(e,t){let r=t?.chunkSize||262144,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,r),i=e.slice(o,o+s);o+=s,yield n.encode(i)}}function*wr(e,t={}){let{chunkSize:r=262144}=t,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,r),s=new ArrayBuffer(n),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*br(e,t){let r=t?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+r,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function mt(e,t){return p?Vo(e,t):Ho(e,t)}async function*Vo(e,t){let r=e.getReader(),o;try{for(;;){let n=o||r.read();t?._streamReadAhead&&(o=r.read());let{done:s,value:i}=await n;if(s)return;yield xe(i)}}catch{r.releaseLock()}}async function*Ho(e,t){for await(let r of e)yield xe(r)}function X(e,t){if(typeof e=="string")return yr(e,t);if(e instanceof ArrayBuffer)return wr(e,t);if(h(e))return br(e,t);if(O(e))return mt(e,t);if(m(e))return mt(e.body,t);throw new Error("makeIterator")}var pt="Cannot convert supplied data type";function ht(e,t,r){if(t.text&&typeof e=="string")return e;if($t(e)&&(e=e.buffer),e instanceof ArrayBuffer){let o=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(o):o}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let o=e.buffer,n=e.byteLength||e.length;return(e.byteOffset!==0||n!==o.byteLength)&&(o=o.slice(e.byteOffset,e.byteOffset+n)),o}throw new Error(pt)}async function xr(e,t,r){let o=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||o)return ht(e,t,r);if(h(e)&&(e=await Te(e)),m(e)){let n=e;return await st(n),t.binary?await n.arrayBuffer():await n.text()}if(O(e)&&(e=X(e,r)),pe(e)||he(e))return W(e);throw new Error(pt)}async function Tr(e,t){if(de(e))return e;if(m(e)){let r=e;await st(r);let o=await r.body;return X(o,t)}return h(e)||O(e)?X(e,t):he(e)?e:Go(e)}function Go(e){if(ArrayBuffer.isView(e))return function*(){yield e.buffer}();if(e instanceof ArrayBuffer)return function*(){yield e}();if(de(e))return e;if(pe(e))return e[Symbol.iterator]();throw new Error(pt)}function ee(e,t){let r=L(),o=e||r;return typeof o.fetch=="function"?o.fetch:k(o.fetch)?n=>U(n,o.fetch):t?.fetch?t?.fetch:U}function te(e,t,r){if(r)return r;let o={fetch:ee(t,e),...e};if(o.url){let n=G(o.url);o.baseUrl=n,o.queryString=Gt(o.url),o.filename=M.filename(n),o.baseUrl=M.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Le(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let o=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...o]:o}return r&&r.length?r:void 0}async function E(e,t,r,o){t&&!Array.isArray(t)&&!T(t)&&(o=void 0,r=t,t=void 0),e=await e,r=r||{};let n=b(e),i=Le(t,o),a=await Z(e,i,r);return a?(r=K(r,a,i,n),o=te({url:n,_parse:E,loaders:i},r,o||null),await qo(a,e,r,o)):null}async function qo(e,t,r,o){if(De(e),r=We(e.options,r),m(t)){let s=t,{ok:i,redirected:a,status:c,statusText:u,type:B,url:R}=s,_t=Object.fromEntries(s.headers.entries());o.response={headers:_t,ok:i,redirected:a,status:c,statusText:u,type:B,url:R}}t=await xr(t,e,r);let n=e;if(n.parseTextSync&&typeof t=="string")return n.parseTextSync(t,r,o);if($e(e,r))return await ze(e,t,r,o,E);if(n.parseText&&typeof t=="string")return await n.parseText(t,r,o);if(n.parse)return await n.parse(t,r,o);throw l(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Ar(e,t,r,o){!Array.isArray(t)&&!T(t)&&(o=void 0,r=t,t=void 0),r=r||{};let s=Le(t,o),i=Y(e,s,r);if(!i)return null;r=K(r,i,s);let a=b(e),c=()=>{throw new Error("parseSync called parse (which is async")};return o=te({url:a,_parseSync:c,_parse:c,loaders:t},r,o||null),Qo(i,e,r,o)}function Qo(e,t,r,o){if(t=ht(t,e,r),e.parseTextSync&&typeof t=="string")return e.parseTextSync(t,r);if(e.parseSync&&t instanceof ArrayBuffer)return e.parseSync(t,r,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function dt(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function gt(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let r of Object.values(e.data))return r.length||0;return 0;default:throw new Error("table")}}function yt(e){return{...e,length:gt(e),batchType:"data"}}async function P(e,t,r,o){let n=Array.isArray(t)?t:void 0;!Array.isArray(t)&&!T(t)&&(o=void 0,r=t,t=void 0),e=await e,r=r||{};let s=b(e),i=await Z(e,t,r);return i?(r=K(r,i,n,s),o=te({url:s,_parseInBatches:P,_parse:E,loaders:n},r,o||null),await Jo(i,e,r,o)):[]}async function Jo(e,t,r,o){let n=await Ko(e,t,r,o);if(!r.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function Ko(e,t,r,o){let n=await Tr(t,r),s=await Xo(n,r?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,r,o):Yo(s,e,r,o)}async function*Yo(e,t,r,o){let n=await W(e),s=await E(n,t,{...r,mimeType:t.mimeTypes[0]},o);yield Zo(s,t)}function Zo(e,t){let r=dt(e)?yt(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return r.mimeType=t.mimeTypes[0],r}async function Xo(e,t=[]){let r=e;for await(let o of t)r=o(r);return r}async function _r(e,t,r,o){let n,s;!Array.isArray(t)&&!T(t)?(n=[],s=t,o=void 0):(n=t,s=r);let i=ee(s),a=e;return typeof e=="string"&&(a=await i(e)),h(e)&&(a=await i(e)),Array.isArray(n)?await E(a,n,s):await E(a,n,s)}function Sr(e,t,r,o){let n;!Array.isArray(t)&&!T(t)?(o=void 0,r=t,n=void 0):n=t;let s=ee(r||{});return Array.isArray(e)?e.map(a=>kr(a,n,r||{},s)):kr(e,n,r||{},s)}async function kr(e,t,r,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(t)?await P(s,t,r):await P(s,t,r)}return Array.isArray(t)?await P(e,t,r):await P(e,t,r)}async function wt(e,t,r){if(t.encode)return await t.encode(e,r);if(t.encodeText){let o=await t.encodeText(e,r);return new TextEncoder().encode(o)}if(t.encodeInBatches){let o=bt(e,t,r),n=[];for await(let s of o)n.push(s);return ie(...n)}throw new Error("Writer could not encode data")}async function Er(e,t,r){if(t.text&&t.encodeText)return await t.encodeText(e,r);if(t.text){let o=await wt(e,t,r);return new TextDecoder().decode(o)}throw new Error(`Writer ${t.name} could not encode data as text`)}function bt(e,t,r){if(t.encodeInBatches){let o=en(e);return t.encodeInBatches(o,r)}throw new Error("Writer could not encode data in batches")}function en(e){return[{...e,start:0,end:e.length}]}async function Lr(e,t,r){return r={...L(),...r},t.encodeURLtoURL?tn(t,e,r):Ve(t,r)?await je(t,e,r):await t.encode(e,r)}function xt(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Rr(e,t,r){if(t.encodeText)return await t.encodeText(e,r);if(t.encodeTextSync)return t.encodeTextSync(e,r);if(t.text){let o=await t.encode(e,r);return new TextDecoder().decode(o)}throw new Error(`Writer ${t.name} could not encode data as text`)}function Ir(e,t,r){if(t.encodeTextSync)return t.encodeTextSync(e,r);if(t.text&&t.encodeSync){let o=xt(e,t,r);return new TextDecoder().decode(o)}throw new Error(`Writer ${t.name} could not encode data as text`)}function Fr(e,t,r){if(t.encodeInBatches){let o=rn(e);return t.encodeInBatches(o,r)}throw new Error(`Writer ${t.name} could not encode in batches`)}async function Tt(e,t,r,o){if(e=v(e),t=v(t),p||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,o)}async function tn(e,t,r){if(p)throw new Error(`Writer ${e.name} not supported in browser`);let o=Br("input");await new le(o,"w").write(t);let s=Br("output"),i=await Tt(o,s,e,r);return(await U(i)).arrayBuffer()}function rn(e){return[{...e,start:0,end:e.length}]}function Br(e){return`/tmp/${e}`}function vr(e,t){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,t);let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await r.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await r?.return?.()}},{highWaterMark:2**24,...t})}var Pr="4.2.0-alpha.5",Nr={name:"Null loader",id:"null",module:"core",version:Pr,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Wr={name:"Null loader",id:"null",module:"core",version:Pr,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,t,r)=>At(e,t||{},r),parseSync:At,parseInBatches:async function*(t,r,o){for await(let n of t)yield At(n,r,o)},tests:[()=>!1],options:{null:{}}};function At(e,t,r){return null}async function Cr(e,t,r=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let u=n.getReader();await Mr(c,u,0,i,t,r,o)}});return new Response(a)}async function Mr(e,t,r,o,n,s,i){try{let{done:a,value:c}=await t.read();if(a){s(),e.close();return}r+=c.byteLength;let u=Math.round(r/o*100);n(u,{loadedBytes:r,totalBytes:o}),e.enqueue(c),await Mr(e,t,r,o,n,s,i)}catch(a){e.error(a),i(a)}}var Re=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(t,r){this._fetch=r?.fetch||fetch;for(let o=0;o<t.length;++o){let n=t[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(t,r){if(t.includes("://"))return this._fetch(t,r);let o=this.files[t];if(!o)return new Response(t,{status:400,statusText:"NOT FOUND"});let s=new Headers(r?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),u=parseInt(i[2]),B=await o.slice(c,u).arrayBuffer(),R=new Response(B);return Object.defineProperty(R,"url",{value:t}),R}let a=new Response(o);return Object.defineProperty(a,"url",{value:t}),a}async readdir(t){let r=[];for(let o in this.files)r.push(o);return r}async stat(t,r){let o=this.files[t];if(!o)throw new Error(t);return{size:o.size}}async unlink(t){delete this.files[t],delete this.lowerCaseFiles[t],this.usedFiles[t]=!0}async openReadableFile(t,r){return new fe(this.files[t])}_getFile(t,r){let o=this.files[t]||this.lowerCaseFiles[t];return o&&r&&(this.usedFiles[t]=!0),o}};return zr(on);})();
14
+ return __exports__;
15
+ });
package/dist/index.cjs CHANGED
@@ -17,9 +17,9 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
20
+ // dist/index.js
21
+ var dist_exports = {};
22
+ __export(dist_exports, {
23
23
  JSONLoader: () => import_loader_utils17.JSONLoader,
24
24
  NullLoader: () => NullLoader,
25
25
  NullWorkerLoader: () => NullWorkerLoader,
@@ -75,12 +75,12 @@ __export(src_exports, {
75
75
  setPathPrefix: () => import_loader_utils15.setPathPrefix,
76
76
  window: () => import_loader_utils18.window
77
77
  });
78
- module.exports = __toCommonJS(src_exports);
78
+ module.exports = __toCommonJS(dist_exports);
79
79
 
80
- // src/lib/fetch/fetch-file.ts
80
+ // dist/lib/fetch/fetch-file.js
81
81
  var import_loader_utils = require("@loaders.gl/loader-utils");
82
82
 
83
- // src/javascript-utils/is-type.ts
83
+ // dist/javascript-utils/is-type.js
84
84
  var isBoolean = (x) => typeof x === "boolean";
85
85
  var isFunction = (x) => typeof x === "function";
86
86
  var isObject = (x) => x !== null && typeof x === "object";
@@ -99,7 +99,7 @@ var isReadableNodeStream = (x) => isObject(x) && isFunction(x.read) && isFunctio
99
99
  var isReadableStream = (x) => isReadableDOMStream(x) || isReadableNodeStream(x);
100
100
  var isWritableStream = (x) => isWritableDOMStream(x) || isWritableNodeStream(x);
101
101
 
102
- // src/lib/utils/mime-type-utils.ts
102
+ // dist/lib/utils/mime-type-utils.js
103
103
  var DATA_URL_PATTERN = /^data:([-\w.]+\/[-\w.+]+)(;|,)/;
104
104
  var MIME_TYPE_PATTERN = /^([-\w.]+\/[-\w.+]+)/;
105
105
  function parseMIMEType(mimeString) {
@@ -117,7 +117,7 @@ function parseMIMETypeFromURL(url) {
117
117
  return "";
118
118
  }
119
119
 
120
- // src/lib/utils/url-utils.ts
120
+ // dist/lib/utils/url-utils.js
121
121
  var QUERY_STRING_PATTERN = /\?.*/;
122
122
  function extractQueryString(url) {
123
123
  const matches = url.match(QUERY_STRING_PATTERN);
@@ -127,7 +127,7 @@ function stripQueryString(url) {
127
127
  return url.replace(QUERY_STRING_PATTERN, "");
128
128
  }
129
129
 
130
- // src/lib/utils/resource-utils.ts
130
+ // dist/lib/utils/resource-utils.js
131
131
  function getResourceUrl(resource) {
132
132
  if (isResponse(resource)) {
133
133
  const response = resource;
@@ -179,7 +179,7 @@ function getResourceContentLength(resource) {
179
179
  return -1;
180
180
  }
181
181
 
182
- // src/lib/utils/response-utils.ts
182
+ // dist/lib/utils/response-utils.js
183
183
  async function makeResponse(resource) {
184
184
  if (isResponse(resource)) {
185
185
  return resource;
@@ -257,7 +257,7 @@ function arrayBufferToBase64(buffer) {
257
257
  return btoa(binary);
258
258
  }
259
259
 
260
- // src/lib/fetch/fetch-file.ts
260
+ // dist/lib/fetch/fetch-file.js
261
261
  function isNodePath(url) {
262
262
  return !isRequestURL(url) && !isDataURL(url);
263
263
  }
@@ -281,7 +281,7 @@ async function fetchFile(urlOrData, fetchOptions) {
281
281
  return await makeResponse(urlOrData);
282
282
  }
283
283
 
284
- // src/lib/fetch/read-array-buffer.ts
284
+ // dist/lib/fetch/read-array-buffer.js
285
285
  async function readArrayBuffer(file, start, length) {
286
286
  if (!(file instanceof Blob)) {
287
287
  file = new Blob([file]);
@@ -301,7 +301,7 @@ async function readBlob(blob) {
301
301
  });
302
302
  }
303
303
 
304
- // src/lib/loader-utils/loggers.ts
304
+ // dist/lib/loader-utils/loggers.js
305
305
  var import_log = require("@probe.gl/log");
306
306
  var probeLog = new import_log.Log({ id: "loaders.gl" });
307
307
  var NullLog = class {
@@ -323,6 +323,7 @@ var NullLog = class {
323
323
  }
324
324
  };
325
325
  var ConsoleLog = class {
326
+ console;
326
327
  constructor() {
327
328
  this.console = console;
328
329
  }
@@ -340,7 +341,7 @@ var ConsoleLog = class {
340
341
  }
341
342
  };
342
343
 
343
- // src/lib/loader-utils/option-defaults.ts
344
+ // dist/lib/loader-utils/option-defaults.js
344
345
  var import_loader_utils2 = require("@loaders.gl/loader-utils");
345
346
  var DEFAULT_LOADER_OPTIONS = {
346
347
  // baseUri
@@ -390,11 +391,13 @@ var REMOVED_LOADER_OPTIONS = {
390
391
  signal: "fetch.signal"
391
392
  };
392
393
 
393
- // src/lib/loader-utils/option-utils.ts
394
+ // dist/lib/loader-utils/option-utils.js
394
395
  function getGlobalLoaderState() {
395
396
  globalThis.loaders = globalThis.loaders || {};
396
397
  const { loaders } = globalThis;
397
- loaders._state = loaders._state || {};
398
+ if (!loaders._state) {
399
+ loaders._state = {};
400
+ }
398
401
  return loaders._state;
399
402
  }
400
403
  function getGlobalLoaderOptions() {
@@ -431,14 +434,10 @@ function validateOptionsObject(options, id, defaultOptions, deprecatedOptions, l
431
434
  const isWorkerUrlOption = key === "workerUrl" && id;
432
435
  if (!(key in defaultOptions) && !isBaseUriOption && !isWorkerUrlOption) {
433
436
  if (key in deprecatedOptions) {
434
- probeLog.warn(
435
- `${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`
436
- )();
437
+ probeLog.warn(`${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`)();
437
438
  } else if (!isSubOptions) {
438
439
  const suggestion = findSimilarOption(key, loaders);
439
- probeLog.warn(
440
- `${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`
441
- )();
440
+ probeLog.warn(`${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`)();
442
441
  }
443
442
  }
444
443
  }
@@ -492,7 +491,7 @@ function addUrlOptions(options, url) {
492
491
  }
493
492
  }
494
493
 
495
- // src/lib/loader-utils/normalize-loader.ts
494
+ // dist/lib/loader-utils/normalize-loader.js
496
495
  var import_loader_utils3 = require("@loaders.gl/loader-utils");
497
496
  function isLoaderObject(loader) {
498
497
  if (!loader) {
@@ -525,7 +524,7 @@ function normalizeLoader(loader) {
525
524
  return loader;
526
525
  }
527
526
 
528
- // src/lib/api/register-loaders.ts
527
+ // dist/lib/api/register-loaders.js
529
528
  var getGlobalLoaderRegistry = () => {
530
529
  const state = getGlobalLoaderState();
531
530
  state.loaderRegistry = state.loaderRegistry || [];
@@ -549,14 +548,14 @@ function _unregisterLoaders() {
549
548
  state.loaderRegistry = [];
550
549
  }
551
550
 
552
- // src/lib/api/select-loader.ts
551
+ // dist/lib/api/select-loader.js
553
552
  var import_loader_utils4 = require("@loaders.gl/loader-utils");
554
553
 
555
- // src/lib/utils/log.ts
554
+ // dist/lib/utils/log.js
556
555
  var import_log2 = require("@probe.gl/log");
557
556
  var log = new import_log2.Log({ id: "loaders.gl" });
558
557
 
559
- // src/lib/api/select-loader.ts
558
+ // dist/lib/api/select-loader.js
560
559
  var EXT_PATTERN = /\.([^.]+)$/;
561
560
  async function selectLoader(data, loaders = [], options, context) {
562
561
  if (!validHTTPResponse(data)) {
@@ -742,15 +741,15 @@ function getMagicString(arrayBuffer, byteOffset, length) {
742
741
  return magic;
743
742
  }
744
743
 
745
- // src/lib/api/parse.ts
744
+ // dist/lib/api/parse.js
746
745
  var import_loader_utils8 = require("@loaders.gl/loader-utils");
747
746
  var import_worker_utils = require("@loaders.gl/worker-utils");
748
747
  var import_loader_utils9 = require("@loaders.gl/loader-utils");
749
748
 
750
- // src/lib/loader-utils/get-data.ts
749
+ // dist/lib/loader-utils/get-data.js
751
750
  var import_loader_utils6 = require("@loaders.gl/loader-utils");
752
751
 
753
- // src/iterators/make-iterator/make-string-iterator.ts
752
+ // dist/iterators/make-iterator/make-string-iterator.js
754
753
  var DEFAULT_CHUNK_SIZE = 256 * 1024;
755
754
  function* makeStringIterator(string, options) {
756
755
  const chunkSize = (options == null ? void 0 : options.chunkSize) || DEFAULT_CHUNK_SIZE;
@@ -764,7 +763,7 @@ function* makeStringIterator(string, options) {
764
763
  }
765
764
  }
766
765
 
767
- // src/iterators/make-iterator/make-array-buffer-iterator.ts
766
+ // dist/iterators/make-iterator/make-array-buffer-iterator.js
768
767
  var DEFAULT_CHUNK_SIZE2 = 256 * 1024;
769
768
  function* makeArrayBufferIterator(arrayBuffer, options = {}) {
770
769
  const { chunkSize = DEFAULT_CHUNK_SIZE2 } = options;
@@ -780,7 +779,7 @@ function* makeArrayBufferIterator(arrayBuffer, options = {}) {
780
779
  }
781
780
  }
782
781
 
783
- // src/iterators/make-iterator/make-blob-iterator.ts
782
+ // dist/iterators/make-iterator/make-blob-iterator.js
784
783
  var DEFAULT_CHUNK_SIZE3 = 1024 * 1024;
785
784
  async function* makeBlobIterator(blob, options) {
786
785
  const chunkSize = (options == null ? void 0 : options.chunkSize) || DEFAULT_CHUNK_SIZE3;
@@ -793,7 +792,7 @@ async function* makeBlobIterator(blob, options) {
793
792
  }
794
793
  }
795
794
 
796
- // src/iterators/make-iterator/make-stream-iterator.ts
795
+ // dist/iterators/make-iterator/make-stream-iterator.js
797
796
  var import_loader_utils5 = require("@loaders.gl/loader-utils");
798
797
  function makeStreamIterator(stream, options) {
799
798
  return import_loader_utils5.isBrowser ? makeBrowserStreamIterator(stream, options) : makeNodeStreamIterator(stream, options);
@@ -823,7 +822,7 @@ async function* makeNodeStreamIterator(stream, options) {
823
822
  }
824
823
  }
825
824
 
826
- // src/iterators/make-iterator/make-iterator.ts
825
+ // dist/iterators/make-iterator/make-iterator.js
827
826
  function makeIterator(data, options) {
828
827
  if (typeof data === "string") {
829
828
  return makeStringIterator(data, options);
@@ -844,7 +843,7 @@ function makeIterator(data, options) {
844
843
  throw new Error("makeIterator");
845
844
  }
846
845
 
847
- // src/lib/loader-utils/get-data.ts
846
+ // dist/lib/loader-utils/get-data.js
848
847
  var ERR_DATA = "Cannot convert supplied data type";
849
848
  function getArrayBufferOrStringFromDataSync(data, loader, options) {
850
849
  if (loader.text && typeof data === "string") {
@@ -934,7 +933,7 @@ function getIterableFromData(data) {
934
933
  throw new Error(ERR_DATA);
935
934
  }
936
935
 
937
- // src/lib/loader-utils/get-fetch-function.ts
936
+ // dist/lib/loader-utils/get-fetch-function.js
938
937
  function getFetchFunction(options, context) {
939
938
  const globalOptions = getGlobalLoaderOptions();
940
939
  const loaderOptions = options || globalOptions;
@@ -950,7 +949,7 @@ function getFetchFunction(options, context) {
950
949
  return fetchFile;
951
950
  }
952
951
 
953
- // src/lib/loader-utils/loader-context.ts
952
+ // dist/lib/loader-utils/loader-context.js
954
953
  var import_loader_utils7 = require("@loaders.gl/loader-utils");
955
954
  function getLoaderContext(context, options, parentContext) {
956
955
  if (parentContext) {
@@ -987,7 +986,7 @@ function getLoadersFromContext(loaders, context) {
987
986
  return candidateLoaders && candidateLoaders.length ? candidateLoaders : void 0;
988
987
  }
989
988
 
990
- // src/lib/api/parse.ts
989
+ // dist/lib/api/parse.js
991
990
  async function parse(data, loaders, options, context) {
992
991
  if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {
993
992
  context = void 0;
@@ -1039,7 +1038,7 @@ async function parseWithLoader(loader, data, options, context) {
1039
1038
  throw new Error(`${loader.id} loader - no parser found and worker is disabled`);
1040
1039
  }
1041
1040
 
1042
- // src/lib/api/parse-sync.ts
1041
+ // dist/lib/api/parse-sync.js
1043
1042
  function parseSync(data, loaders, options, context) {
1044
1043
  if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
1045
1044
  context = void 0;
@@ -1058,11 +1057,7 @@ function parseSync(data, loaders, options, context) {
1058
1057
  const parse2 = () => {
1059
1058
  throw new Error("parseSync called parse (which is async");
1060
1059
  };
1061
- context = getLoaderContext(
1062
- { url, _parseSync: parse2, _parse: parse2, loaders },
1063
- options,
1064
- context || null
1065
- );
1060
+ context = getLoaderContext({ url, _parseSync: parse2, _parse: parse2, loaders }, options, context || null);
1066
1061
  return parseWithLoaderSync(loader, data, options, context);
1067
1062
  }
1068
1063
  function parseWithLoaderSync(loader, data, options, context) {
@@ -1073,12 +1068,10 @@ function parseWithLoaderSync(loader, data, options, context) {
1073
1068
  if (loader.parseSync && data instanceof ArrayBuffer) {
1074
1069
  return loader.parseSync(data, options, context);
1075
1070
  }
1076
- throw new Error(
1077
- `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${context.url || ""}`
1078
- );
1071
+ throw new Error(`${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${context.url || ""}`);
1079
1072
  }
1080
1073
 
1081
- // src/lib/api/parse-in-batches.ts
1074
+ // dist/lib/api/parse-in-batches.js
1082
1075
  var import_schema = require("@loaders.gl/schema");
1083
1076
  var import_loader_utils10 = require("@loaders.gl/loader-utils");
1084
1077
  async function parseInBatches(data, loaders, options, context) {
@@ -1096,11 +1089,7 @@ async function parseInBatches(data, loaders, options, context) {
1096
1089
  return [];
1097
1090
  }
1098
1091
  options = normalizeOptions(options, loader, loaderArray, url);
1099
- context = getLoaderContext(
1100
- { url, _parseInBatches: parseInBatches, _parse: parse, loaders: loaderArray },
1101
- options,
1102
- context || null
1103
- );
1092
+ context = getLoaderContext({ url, _parseInBatches: parseInBatches, _parse: parse, loaders: loaderArray }, options, context || null);
1104
1093
  return await parseWithLoaderInBatches(loader, data, options, context);
1105
1094
  }
1106
1095
  async function parseWithLoaderInBatches(loader, data, options, context) {
@@ -1163,7 +1152,7 @@ async function applyInputTransforms(inputIterator, transforms = []) {
1163
1152
  return iteratorChain;
1164
1153
  }
1165
1154
 
1166
- // src/lib/api/load.ts
1155
+ // dist/lib/api/load.js
1167
1156
  async function load(url, loaders, options, context) {
1168
1157
  let resolvedLoaders;
1169
1158
  let resolvedOptions;
@@ -1186,7 +1175,7 @@ async function load(url, loaders, options, context) {
1186
1175
  return Array.isArray(resolvedLoaders) ? await parse(data, resolvedLoaders, resolvedOptions) : await parse(data, resolvedLoaders, resolvedOptions);
1187
1176
  }
1188
1177
 
1189
- // src/lib/api/load-in-batches.ts
1178
+ // dist/lib/api/load-in-batches.js
1190
1179
  function loadInBatches(files, loaders, options, context) {
1191
1180
  let loadersArray;
1192
1181
  if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
@@ -1200,9 +1189,7 @@ function loadInBatches(files, loaders, options, context) {
1200
1189
  if (!Array.isArray(files)) {
1201
1190
  return loadOneFileInBatches(files, loadersArray, options || {}, fetch2);
1202
1191
  }
1203
- const promises = files.map(
1204
- (file) => loadOneFileInBatches(file, loadersArray, options || {}, fetch2)
1205
- );
1192
+ const promises = files.map((file) => loadOneFileInBatches(file, loadersArray, options || {}, fetch2));
1206
1193
  return promises;
1207
1194
  }
1208
1195
  async function loadOneFileInBatches(file, loaders, options, fetch2) {
@@ -1214,7 +1201,7 @@ async function loadOneFileInBatches(file, loaders, options, fetch2) {
1214
1201
  return Array.isArray(loaders) ? await parseInBatches(file, loaders, options) : await parseInBatches(file, loaders, options);
1215
1202
  }
1216
1203
 
1217
- // src/lib/api/encode-table.ts
1204
+ // dist/lib/api/encode-table.js
1218
1205
  var import_loader_utils11 = require("@loaders.gl/loader-utils");
1219
1206
  async function encodeTable(data, writer, options) {
1220
1207
  if (writer.encode) {
@@ -1256,7 +1243,7 @@ function getIterator(data) {
1256
1243
  return dataIterator;
1257
1244
  }
1258
1245
 
1259
- // src/lib/api/encode.ts
1246
+ // dist/lib/api/encode.js
1260
1247
  var import_loader_utils12 = require("@loaders.gl/loader-utils");
1261
1248
  var import_worker_utils2 = require("@loaders.gl/worker-utils");
1262
1249
  var import_loader_utils13 = require("@loaders.gl/loader-utils");
@@ -1339,11 +1326,11 @@ function getTemporaryFilename(filename) {
1339
1326
  return `/tmp/${filename}`;
1340
1327
  }
1341
1328
 
1342
- // src/index.ts
1329
+ // dist/index.js
1343
1330
  var import_loader_utils15 = require("@loaders.gl/loader-utils");
1344
1331
  var import_loader_utils16 = require("@loaders.gl/loader-utils");
1345
1332
 
1346
- // src/iterators/make-stream/make-stream.ts
1333
+ // dist/iterators/make-stream/make-stream.js
1347
1334
  function makeStream(source, options) {
1348
1335
  if (globalThis.loaders.makeNodeStream) {
1349
1336
  return globalThis.loaders.makeNodeStream(source, options);
@@ -1382,8 +1369,8 @@ function makeStream(source, options) {
1382
1369
  );
1383
1370
  }
1384
1371
 
1385
- // src/null-loader.ts
1386
- var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1372
+ // dist/null-loader.js
1373
+ var VERSION = true ? "4.2.0-alpha.5" : "latest";
1387
1374
  var NullWorkerLoader = {
1388
1375
  name: "Null loader",
1389
1376
  id: "null",
@@ -1420,10 +1407,10 @@ function parseSync2(arrayBuffer, options, context) {
1420
1407
  return null;
1421
1408
  }
1422
1409
 
1423
- // src/index.ts
1410
+ // dist/index.js
1424
1411
  var import_loader_utils17 = require("@loaders.gl/loader-utils");
1425
1412
 
1426
- // src/lib/progress/fetch-progress.ts
1413
+ // dist/lib/progress/fetch-progress.js
1427
1414
  async function fetchProgress(response, onProgress, onDone = () => {
1428
1415
  }, onError = () => {
1429
1416
  }) {
@@ -1470,18 +1457,19 @@ async function read(controller, reader, loadedBytes, totalBytes, onProgress, onD
1470
1457
  }
1471
1458
  }
1472
1459
 
1473
- // src/lib/filesystems/browser-filesystem.ts
1460
+ // dist/lib/filesystems/browser-filesystem.js
1474
1461
  var import_loader_utils14 = require("@loaders.gl/loader-utils");
1475
1462
  var BrowserFileSystem = class {
1463
+ _fetch;
1464
+ files = {};
1465
+ lowerCaseFiles = {};
1466
+ usedFiles = {};
1476
1467
  /**
1477
1468
  * A FileSystem API wrapper around a list of browser 'File' objects
1478
1469
  * @param files
1479
1470
  * @param options
1480
1471
  */
1481
1472
  constructor(files, options) {
1482
- this.files = {};
1483
- this.lowerCaseFiles = {};
1484
- this.usedFiles = {};
1485
1473
  this._fetch = (options == null ? void 0 : options.fetch) || fetch;
1486
1474
  for (let i = 0; i < files.length; ++i) {
1487
1475
  const file = files[i];
@@ -1565,8 +1553,9 @@ var BrowserFileSystem = class {
1565
1553
  }
1566
1554
  };
1567
1555
 
1568
- // src/index.ts
1556
+ // dist/index.js
1569
1557
  var import_loader_utils18 = require("@loaders.gl/loader-utils");
1570
1558
  var import_loader_utils19 = require("@loaders.gl/loader-utils");
1571
1559
  var import_loader_utils20 = require("@loaders.gl/loader-utils");
1572
1560
  var import_loader_utils21 = require("@loaders.gl/loader-utils");
1561
+ //# sourceMappingURL=index.cjs.map