rlayers
Version:
React Components for OpenLayers
1 lines • 7.1 kB
JavaScript
(()=>{"use strict";var e,r,t={5806:(e,r,t)=>{var i=t(9663),n=t(9523),o=t(8595),s=function(e,r,t,i){return new(t||(t=Promise))((function(n,o){function s(e){try{c(i.next(e))}catch(e){o(e)}}function a(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(s,a)}c((i=i.apply(e,r||[])).next())}))};let a;const c={},l=new i.A({max:32});let d,u=1;const f={xOpen:function(e){return s(this,void 0,void 0,(function*(){let r=l.get(e.url);return r instanceof Promise&&(r=yield r),void 0!==r||(r=fetch(e.url,{method:"HEAD",headers:Object.assign({},null==a?void 0:a.headers)}).then((r=>{var t;return"bytes"!==r.headers.get("Accept-Ranges")&&console.warn(`Server for ${e.url} does not advertise 'Accept-Ranges'. If the server supports it, in order to remove this message, add "Accept-Ranges: bytes". Additionally, if using CORS, add "Access-Control-Expose-Headers: *".`),{url:e.url,id:u++,size:BigInt(null!==(t=r.headers.get("Content-Length"))&&void 0!==t?t:0),pageSize:null}})),l.set(e.url,r),l.set(e.url,yield r)),0}))},xAccess:function(e,r){return s(this,void 0,void 0,(function*(){const t=new Uint32Array(r.shm,0,1);try{const i=yield f.xOpen(e,r);t[0]=0===i?1:0}catch(e){t[0]=0}return 0}))},xRead:function(e,r){var t,i,c;return s(this,void 0,void 0,(function*(){let s=l.get(e.url);if(!s)throw new Error(`File ${e.url} not open`);if(s instanceof Promise&&(s=yield s),void 0===e.n||void 0===e.offset)throw new Error("Mandatory arguments missing");if(!s.pageSize){s.pageSize=1024;const r=new ArrayBuffer(2),c=yield f.xRead({msg:"xRead",url:e.url,offset:BigInt(16),n:2},{buffer:new Uint8Array(r)}),l=new Uint16Array(r);if(0!==c)return c;if((0,o.l)(l),s.pageSize=l[0],n.Yz.vfs(`page size is ${s.pageSize}`),1024!=s.pageSize&&(console.warn(`Page size for ${e.url} is ${s.pageSize}, recommended size is 1024`),d.delete(s.id+"|0")),s.pageSize>(null!==(t=null==a?void 0:a.maxPageSize)&&void 0!==t?t:n.KQ.maxPageSize))throw new Error(`${s.pageSize} is over the maximum configured ${null!==(i=null==a?void 0:a.maxPageSize)&&void 0!==i?i:n.KQ.maxPageSize}`)}const u=BigInt(s.pageSize),g=BigInt(e.n),h=e.offset/u;h*u!==e.offset&&n.Yz.vfs(`Read chunk ${e.offset}:${e.n} is not page-aligned`);let p=h*u;if(p+u<e.offset+g)throw new Error(`Read chunk ${e.offset}:${e.n} spans across a page-boundary`);const m=s.id+"|"+h;let v=d.get(m);if(v instanceof Promise&&(v=yield v),"number"==typeof v){n.Yz.cache(`cache hit (multi-page segment) for ${e.url}:${h}`);const r=BigInt(v)*u;v=d.get(s.id+"|"+v),v instanceof Promise&&(v=yield v),v instanceof Uint8Array?p=r:v=void 0}if(void 0===v){n.Yz.cache(`cache miss for ${e.url}:${h}`);let r=s.pageSize,t=h>0&&d.get(s.id+"|"+(Number(h)-1));t&&(t instanceof Promise&&(t=yield t),"number"==typeof t&&(t=d.get(s.id+"|"+t)),t instanceof Promise&&(t=yield t),t instanceof Uint8Array&&(r=2*t.byteLength,n.Yz.cache(`downloading super page of size ${r}`)));const i=r/s.pageSize;n.Yz.http(`downloading page ${h} of size ${r} starting at ${p}`);const o=fetch(e.url,{method:"GET",headers:Object.assign(Object.assign({},null!==(c=null==a?void 0:a.headers)&&void 0!==c?c:n.KQ.headers),{Range:`bytes=${p}-${p+BigInt(r-1)}`})}).then((e=>e.arrayBuffer())).then((e=>new Uint8Array(e)));d.set(m,o);for(let e=Number(h)+1;e<Number(h)+i;e++)d.set(s.id+"|"+e,o.then((()=>Number(h))));if(v=yield o,!(v instanceof Uint8Array)||0===v.length)throw new Error(`Invalid HTTP response received: ${JSON.stringify(o)}`);d.set(m,v);for(let e=Number(h)+1;e<Number(h)+i;e++)d.set(s.id+"|"+e,Number(h))}else n.Yz.cache(`cache hit for ${e.url}:${h}`);const y=Number(e.offset-p);return r.buffer.set(v.subarray(y,y+e.n)),0}))},xFilesize:function(e,r){return s(this,void 0,void 0,(function*(){let t=l.get(e.url);if(!t)throw new Error(`File ${e.fid} not open`);return t instanceof Promise&&(t=yield t),new BigInt64Array(r.shm,0,1)[0]=t.size,0}))}};function g({data:e}){return s(this,void 0,void 0,(function*(){let r;n.Yz.threads("Received new work message",this,e);try{r=yield f[e.msg](e,this),n.Yz.threads("operation successful",this,r),Atomics.store(this.lock,0,r)}catch(e){console.error(e),Atomics.store(this.lock,0,1)}Atomics.notify(this.lock,0)}))}if(globalThis.onmessage=({data:e})=>{var r,t,o,s;switch(n.Yz.threads("Received new control message",e),e.msg){case"handshake":{const i=new SharedArrayBuffer((null!==(r=null==a?void 0:a.maxPageSize)&&void 0!==r?r:n.KQ.maxPageSize)+Int32Array.BYTES_PER_ELEMENT),s=new Int32Array(i,null!==(t=null==a?void 0:a.maxPageSize)&&void 0!==t?t:n.KQ.maxPageSize),l=new Uint8Array(i,0,null!==(o=null==a?void 0:a.maxPageSize)&&void 0!==o?o:n.KQ.maxPageSize);Atomics.store(s,0,n.a9.HANDSHAKE),c[e.id]={id:e.id,port:e.port,shm:i,lock:s,buffer:l},e.port.onmessage=g.bind(c[e.id]),postMessage({msg:"ack",id:e.id,shm:i,lock:s})}break;case"init":a=e.options,d=new i.A({maxSize:1024*(null!==(s=null==a?void 0:a.cacheSize)&&void 0!==s?s:n.KQ.cacheSize),sizeCalculation:e=>{var r;return null!==(r=e.byteLength)&&void 0!==r?r:4}});break;case"close":postMessage({msg:"ack"}),close();break;default:throw new Error(`Invalid message received by backend: ${e}`)}},"undefined"==typeof SharedArrayBuffer)throw new Error('SharedArrayBuffer is not available. If your browser supports it, the webserver must send "Cross-Origin-Opener-Policy: same-origin "and "Cross-Origin-Embedder-Policy: require-corp" headers.')}},i={};function n(e){var r=i[e];if(void 0!==r)return r.exports;var o=i[e]={exports:{}};return t[e](o,o.exports,n),o.exports}n.m=t,n.x=()=>{var e=n.O(void 0,[1917],(()=>n(5806)));return n.O(e)},e=[],n.O=(r,t,i,o)=>{if(!t){var s=1/0;for(d=0;d<e.length;d++){for(var[t,i,o]=e[d],a=!0,c=0;c<t.length;c++)(!1&o||s>=o)&&Object.keys(n.O).every((e=>n.O[e](t[c])))?t.splice(c--,1):(a=!1,o<s&&(s=o));if(a){e.splice(d--,1);var l=i();void 0!==l&&(r=l)}}return r}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,i,o]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".bundle.js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=t[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={5806:1};n.f.i=(r,t)=>{e[r]||importScripts(n.p+n.u(r))};var r=self.webpackChunkrlayers=self.webpackChunkrlayers||[],t=r.push.bind(r);r.push=r=>{var[i,o,s]=r;for(var a in o)n.o(o,a)&&(n.m[a]=o[a]);for(s&&s(n);i.length;)e[i.pop()]=1;t(r)}})(),r=n.x,n.x=()=>n.e(1917).then(r),n.x()})();