@loaders.gl/wkt 4.4.0-alpha.2 → 4.4.0-alpha.9

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
@@ -1738,6 +1738,30 @@ var __exports__ = (() => {
1738
1738
  parseTextSync: (string, options) => parseWKTCRS(string, options?.["wkt-crs"])
1739
1739
  };
1740
1740
 
1741
+ // ../loader-utils/src/lib/javascript-utils/is-type.ts
1742
+ var isSharedArrayBuffer = (value) => typeof SharedArrayBuffer !== "undefined" && value instanceof SharedArrayBuffer;
1743
+
1744
+ // ../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts
1745
+ function ensureArrayBuffer(bufferSource) {
1746
+ if (bufferSource instanceof ArrayBuffer) {
1747
+ return bufferSource;
1748
+ }
1749
+ if (isSharedArrayBuffer(bufferSource)) {
1750
+ return copyToArrayBuffer(bufferSource);
1751
+ }
1752
+ const { buffer, byteOffset, byteLength } = bufferSource;
1753
+ if (buffer instanceof ArrayBuffer && byteOffset === 0 && byteLength === buffer.byteLength) {
1754
+ return buffer;
1755
+ }
1756
+ return copyToArrayBuffer(buffer, byteOffset, byteLength);
1757
+ }
1758
+ function copyToArrayBuffer(buffer, byteOffset = 0, byteLength = buffer.byteLength - byteOffset) {
1759
+ const view = new Uint8Array(buffer, byteOffset, byteLength);
1760
+ const copy = new Uint8Array(view.length);
1761
+ copy.set(view);
1762
+ return copy.buffer;
1763
+ }
1764
+
1741
1765
  // src/wkt-crs-writer.ts
1742
1766
  var WKTCRSWriter = {
1743
1767
  name: "WKT CRS (Well-Known Text Coordinate Reference System)",
@@ -1752,8 +1776,8 @@ var __exports__ = (() => {
1752
1776
  options: {
1753
1777
  "wkt-crs": {}
1754
1778
  },
1755
- encode: async (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
1756
- encodeSync: (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
1779
+ encode: async (wktcrs, options) => ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"]))),
1780
+ encodeSync: (wktcrs, options) => ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"]))),
1757
1781
  encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.["wkt-crs"])
1758
1782
  };
1759
1783
 
package/dist/dist.min.js CHANGED
@@ -4,7 +4,7 @@
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 Je=Object.create;var k=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nt=(e,t)=>{for(var n in t)k(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qe(t))!et.call(e,o)&&o!==n&&k(e,o,{get:()=>t[o],enumerable:!(r=Xe(t,o))||r.enumerable});return e},U=(e,t,n)=>(v(e,t,"default"),n&&v(n,t,"default")),rt=(e,t,n)=>(n=e!=null?Je(Qe(e)):{},v(t||!e||!e.__esModule?k(n,"default",{value:e,enumerable:!0}):n,e)),ot=e=>v(k({},"__esModule",{value:!0}),e);var le=tt((Yt,ae)=>{ae.exports=globalThis.loaders});var K={};nt(K,{HexWKBLoader:()=>De,TWKBLoader:()=>He,TWKBWriter:()=>Ye,WKBLoader:()=>H,WKBWorkerLoader:()=>se,WKBWriter:()=>$e,WKTCRSLoader:()=>Ve,WKTCRSWriter:()=>Fe,WKTLoader:()=>Re,WKTWorkerLoader:()=>ie,WKTWriter:()=>_e});U(K,rt(le(),1));function ue(e,t,n){switch(e.type){case"Point":return st(e,t,n);case"LineString":return it(e,t,n);case"Polygon":return fe(e,t,n);default:let r=e;throw new Error(`Unsupported geometry type: ${r?.type}`)}}function fe(e,t=-1/0,n=1/0){let{positions:r}=e,o=e.polygonIndices.value.filter(a=>a>=t&&a<=n),i=e.primitivePolygonIndices.value.filter(a=>a>=t&&a<=n);if(!(o.length>2)){let a=[];for(let u=0;u<i.length-1;u++){let f=i[u],h=i[u+1],m=A(r,f,h);a.push(m)}return{type:"Polygon",coordinates:a}}let c=[];for(let a=0;a<o.length-1;a++){let u=o[a],f=o[a+1],h=fe(e,u,f).coordinates;c.push(h)}return{type:"MultiPolygon",coordinates:c}}function it(e,t=-1/0,n=1/0){let{positions:r}=e,o=e.pathIndices.value.filter(c=>c>=t&&c<=n);if(!(o.length>2))return{type:"LineString",coordinates:A(r,o[0],o[1])};let s=[];for(let c=0;c<o.length-1;c++){let a=A(r,o[c],o[c+1]);s.push(a)}return{type:"MultiLineString",coordinates:s}}function st(e,t,n){let{positions:r}=e,o=A(r,t,n);return o.length>1?{type:"MultiPoint",coordinates:o}:{type:"Point",coordinates:o[0]}}function A(e,t,n){t=t||0,n=n||e.value.length/e.size;let r=[];for(let o=t;o<n;o++){let i=Array();for(let s=o*e.size;s<(o+1)*e.size;s++)i.push(Number(e.value[s]));r.push(i)}return r}function P(e){let t=0;for(let o=0;o<e.length;++o)t+=e[o].byteLength;let n=new Uint8Array(t),r=0;for(let o=0;o<e.length;++o){let i=new Uint8Array(e[o].buffer);t=i.length;for(let s=0;s<t;++s)n[r++]=i[s]}return n}function ye(e,t){let n=e.map(o=>o.positions.value);return{type:"Point",positions:{value:new Float64Array(P(n).buffer),size:t}}}function pe(e,t){let n=e.map(i=>i.positions.value),r=new Float64Array(P(n).buffer),o=n.map(i=>i.length/t).map(he(0));return o.unshift(0),{type:"LineString",positions:{value:r,size:t},pathIndices:{value:new Uint32Array(o),size:1}}}function ge(e,t){let n=[],r=[];for(let c of e){let{positions:a,primitivePolygonIndices:u}=c;n.push(a.value),r.push(u.value)}let o=new Float64Array(P(n).buffer),i=n.map(c=>c.length/t).map(he(0));i.unshift(0);let s=[0];for(let c of r)s.push(...c.filter(a=>a>0).map(a=>a+s[s.length-1]));return{type:"Polygon",positions:{value:o,size:t},polygonIndices:{value:new Uint32Array(i),size:1},primitivePolygonIndices:{value:new Uint32Array(s),size:1}}}var he=e=>t=>e+=t;var l;(function(e){e[e.Point=1]="Point",e[e.LineString=2]="LineString",e[e.Polygon=3]="Polygon",e[e.MultiPoint=4]="MultiPoint",e[e.MultiLineString=5]="MultiLineString",e[e.MultiPolygon=6]="MultiPolygon",e[e.GeometryCollection=7]="GeometryCollection"})(l||(l={}));var Y=2147483648,J=1073741824,C=536870912,de=1e4,L=["POINT(","LINESTRING(","POLYGON(","MULTIPOINT(","MULTILINESTRING(","MULTIPOLYGON(","GEOMETRYCOLLECTION("],ct=new TextEncoder,me=L.map(e=>ct.encode(e));function z(e){return at(e)!==null}function at(e){if(typeof e=="string"){let r=L.findIndex(o=>e.startsWith(o));return r>=0?r+1:null}let t=new Uint8Array(e),n=me.findIndex(r=>r.every((o,i)=>o===t[i]));return n>=0?n+1:null}function X(e){let t=new DataView(e),n=0,o=t.getUint8(n)&15;return!(o<1||o>7)}function q(e){let t=new DataView(e),n=0,r=t.getUint8(n);if(n+=1,r>1)return!1;let o=r===1,i=t.getUint32(n,o);n+=4;let s=i&7;if(s===0||s>7)return!1;let c=i-s;if(c===0||c===1e3||c===2e3||c===3e3)return!0;if(c&~(Y|J|C))return!1;if(c&C){let a=t.getUint32(n,o);if(n+=4,a>de)return!1}return!0}function we(e,t){let n=Object.assign(t||{},{type:"wkb",variant:"wkb",geometryType:1,dimensions:2,coordinates:"xy",littleEndian:!0,byteOffset:0});if(z(e.buffer))throw new Error("WKB: Cannot parse WKT data");n.littleEndian=e.getUint8(n.byteOffset)===1,n.byteOffset++;let r=e.getUint32(n.byteOffset,n.littleEndian);n.byteOffset+=4,n.geometryType=r&7;let o=(r-n.geometryType)/1e3;switch(o){case 0:break;case 1:n.variant="iso-wkb",n.dimensions=3,n.coordinates="xyz";break;case 2:n.variant="iso-wkb",n.dimensions=3,n.coordinates="xym";break;case 3:n.variant="iso-wkb",n.dimensions=4,n.coordinates="xyzm";break;default:throw new Error(`WKB: Unsupported iso-wkb type: ${o}`)}let i=r&Y,s=r&J,c=r&C;return i&&s?(n.variant="ewkb",n.dimensions=4,n.coordinates="xyzm"):i?(n.variant="ewkb",n.dimensions=3,n.coordinates="xyz"):s&&(n.variant="ewkb",n.dimensions=3,n.coordinates="xym"),c&&(n.variant="ewkb",n.srid=e.getUint32(n.byteOffset,n.littleEndian),n.byteOffset+=4),n}function Te(e){let t=new DataView(e),n=we(t),{geometryType:r,dimensions:o,littleEndian:i}=n,s=n.byteOffset;switch(r){case l.Point:return Ie(t,s,o,i).geometry;case l.LineString:return Q(t,s,o,i).geometry;case l.Polygon:return be(t,s,o,i).geometry;case l.MultiPoint:let f=ut(t,s,o,i);return f.type="Point",f;case l.MultiLineString:let h=ft(t,s,o,i);return h.type="LineString",h;case l.MultiPolygon:let m=yt(t,s,o,i);return m.type="Polygon",m;default:throw new Error(`WKB: Unsupported geometry type: ${r}`)}}function Ie(e,t,n,r){let o=new Float64Array(n);for(let i=0;i<n;i++)o[i]=e.getFloat64(t,r),t+=8;return{geometry:{type:"Point",positions:{value:o,size:n}},offset:t}}function Q(e,t,n,r){let o=e.getUint32(t,r);t+=4;let i=new Float64Array(o*n);for(let c=0;c<o*n;c++)i[c]=e.getFloat64(t,r),t+=8;let s=[0];return o>0&&s.push(o),{geometry:{type:"LineString",positions:{value:i,size:n},pathIndices:{value:new Uint32Array(s),size:1}},offset:t}}var lt=e=>t=>e+=t;function be(e,t,n,r){let o=e.getUint32(t,r);t+=4;let i=[];for(let u=0;u<o;u++){let f=Q(e,t,n,r),{positions:h}=f.geometry;t=f.offset,i.push(h.value)}let s=new Float64Array(P(i).buffer),c=[0];s.length>0&&c.push(s.length/n);let a=i.map(u=>u.length/n).map(lt(0));return a.unshift(0),{geometry:{type:"Polygon",positions:{value:s,size:n},polygonIndices:{value:new Uint32Array(c),size:1},primitivePolygonIndices:{value:new Uint32Array(a),size:1}},offset:t}}function ut(e,t,n,r){let o=e.getUint32(t,r);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==1)throw new Error("WKB: Inner geometries of MultiPoint not of type Point");t+=4;let a=Ie(e,t,n,c);t=a.offset,i.push(a.geometry)}return ye(i,n)}function ft(e,t,n,r){let o=e.getUint32(t,r);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==2)throw new Error("WKB: Inner geometries of MultiLineString not of type LineString");t+=4;let a=Q(e,t,n,c);t=a.offset,i.push(a.geometry)}return pe(i,n)}function yt(e,t,n,r){let o=e.getUint32(t,r);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==3)throw new Error("WKB: Inner geometries of MultiPolygon not of type Polygon");t+=4;let a=be(e,t,n,c);t=a.offset,i.push(a.geometry)}return ge(i,n)}function x(e){let t=Te(e);return ue(t)}var Se=/[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/,Pe=new RegExp("^"+Se.source+"(\\s"+Se.source+"){1,}");function V(e,t){let n=e.split(";"),r=n.pop(),o=(n.shift()||"").split("=").pop(),s=Le({parts:n,_:r,i:0});return t?.wkt?.crs?pt(s,o):s}function Le(e){return gt(e)||dt(e)||wt(e)||ht(e)||mt(e)||Tt(e)||It(e)}function pt(e,t){if(e&&t?.match(/\d+/)){let n={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+t}};e.crs=n}return e}function gt(e){if(!y(/^(POINT(\sz)?)/i,e)||(g(e),!y(/^(\()/,e)))return null;let t=Be(e);return!t||(g(e),!y(/^(\))/,e))?null:{type:"Point",coordinates:t[0]}}function ht(e){if(!y(/^(MULTIPOINT)/i,e))return null;g(e);let t=e._?.substring(e._?.indexOf("(")+1,e._.length-1).replace(/\(/g,"").replace(/\)/g,"");e._="MULTIPOINT ("+t+")";let n=F(e);return n?(g(e),{type:"MultiPoint",coordinates:n}):null}function dt(e){if(!y(/^(LINESTRING(\sz)?)/i,e)||(g(e),!y(/^(\()/,e)))return null;let t=Be(e);return!t||!y(/^(\))/,e)?null:{type:"LineString",coordinates:t}}function mt(e){if(!y(/^(MULTILINESTRING)/i,e))return null;g(e);let t=F(e);return t?(g(e),{type:"MultiLineString",coordinates:t}):null}function wt(e){if(!y(/^(POLYGON(\sz)?)/i,e))return null;g(e);let t=F(e);return t?{type:"Polygon",coordinates:t}:null}function Tt(e){if(!y(/^(MULTIPOLYGON)/i,e))return null;g(e);let t=F(e);return t?{type:"MultiPolygon",coordinates:t}:null}function It(e){let t=[],n;if(!y(/^(GEOMETRYCOLLECTION)/i,e)||(g(e),!y(/^(\()/,e)))return null;for(;n=Le(e);)t.push(n),g(e),y(/^(,)/,e),g(e);return y(/^(\))/,e)?{type:"GeometryCollection",geometries:t}:null}function F(e){g(e);let t=0,n=[],r=[n],o=n,i;for(;i=y(/^(\()/,e)||y(/^(\))/,e)||y(/^(,)/,e)||y(Pe,e);){if(i==="(")r.push(o),o=[],r[r.length-1].push(o),t++;else if(i===")"){if(o.length===0||(o=r.pop(),!o))return null;if(t--,t===0)break}else if(i===",")o=[],r[r.length-1].push(o);else if(!i.split(/\s/g).some(isNaN))Array.prototype.push.apply(o,i.split(/\s/g).map(parseFloat));else return null;g(e)}return t!==0?null:n}function Be(e){let t=[],n,r;for(;r=y(Pe,e)||y(/^(,)/,e);)r===","?(t.push(n),n=[]):r.split(/\s/g).some(isNaN)||(n||(n=[]),Array.prototype.push.apply(n,r.split(/\s/g).map(parseFloat))),g(e);if(n)t.push(n);else return null;return t.length?t:null}function y(e,t){let n=t._?.substring(t.i).match(e);return n?(t.i+=n[0].length,n[0]):null}function g(e){y(/^\s*/,e)}var R=class{arrayBuffer;dataView;byteOffset;littleEndian;constructor(t,n=!1){this.arrayBuffer=t,this.dataView=new DataView(t),this.byteOffset=0,this.littleEndian=!n}readUInt8(){let t=this.dataView.getUint8(this.byteOffset);return this.byteOffset+=1,t}readUInt16(){let t=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,t}readUInt32(){let t=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readInt8(){let t=this.dataView.getInt8(this.byteOffset);return this.byteOffset+=1,t}readInt16(){let t=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,t}readInt32(){let t=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readFloat(){let t=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readDouble(){let t=this.dataView.getFloat64(this.byteOffset,this.littleEndian);return this.byteOffset+=8,t}readVarInt(){let t=0,n=0,r;do r=this.dataView.getUint8(this.byteOffset+n),t+=(r&127)<<7*n,n++;while(r>=128);return this.byteOffset+=n,t}};function N(e){let t=new R(e),n=bt(t);if(n.hasSizeAttribute&&t.readVarInt(),n.hasBoundingBox){let r=2;n.hasZ&&r++,n.hasM&&r++;for(let o=0;o<r;o++)t.readVarInt(),t.readVarInt()}return St(t,n,n.geometryType)}function bt(e){let t=e.readUInt8(),n=e.readUInt8(),r=t&15,o=w(t>>4),i=Boolean(n>>3&1),s=!1,c=!1,a=0,u=1,f=0,h=1;if(i){let m=e.readUInt8();s=(m&1)===1,c=(m&2)===2,a=w((m&28)>>2),u=Math.pow(10,a),f=w((m&224)>>5),h=Math.pow(10,f)}return{geometryType:r,precision:o,precisionFactor:Math.pow(10,o),hasBoundingBox:Boolean(n>>0&1),hasSizeAttribute:Boolean(n>>1&1),hasIdList:Boolean(n>>2&1),hasExtendedPrecision:i,isEmpty:Boolean(n>>4&1),hasZ:s,hasM:c,zPrecision:a,zPrecisionFactor:u,mPrecision:f,mPrecisionFactor:h}}function St(e,t,n){switch(n){case l.Point:return Pt(e,t);case l.LineString:return Lt(e,t);case l.Polygon:return Bt(e,t);case l.MultiPoint:return Et(e,t);case l.MultiLineString:return xt(e,t);case l.MultiPolygon:return Wt(e,t);case l.GeometryCollection:return Gt(e,t);default:throw new Error(`GeometryType ${n} not supported`)}}function Pt(e,t){return t.isEmpty?{type:"Point",coordinates:[]}:{type:"Point",coordinates:Mt(e,t)}}function Lt(e,t){if(t.isEmpty)return{type:"LineString",coordinates:[]};let n=e.readVarInt(),r=W(t),o=[];for(let i=0;i<n;i++)o.push(I(e,t,r));return{type:"LineString",coordinates:o}}function Bt(e,t){if(t.isEmpty)return{type:"Polygon",coordinates:[]};let n=e.readVarInt(),r=W(t),o=e.readVarInt(),i=[];for(let c=0;c<o;c++)i.push(I(e,t,r));let s=[i];for(let c=1;c<n;c++){let a=e.readVarInt(),u=[];for(let f=0;f<a;f++)u.push(I(e,t,r));s.push(u)}return{type:"Polygon",coordinates:s}}function Et(e,t){if(t.isEmpty)return{type:"MultiPoint",coordinates:[]};let n=W(t),r=e.readVarInt(),o=[];for(let i=0;i<r;i++)o.push(I(e,t,n));return{type:"MultiPoint",coordinates:o}}function xt(e,t){if(t.isEmpty)return{type:"MultiLineString",coordinates:[]};let n=W(t),r=e.readVarInt(),o=[];for(let i=0;i<r;i++){let s=e.readVarInt(),c=[];for(let a=0;a<s;a++)c.push(I(e,t,n));o.push(c)}return{type:"MultiLineString",coordinates:o}}function Wt(e,t){if(t.isEmpty)return{type:"MultiPolygon",coordinates:[]};let n=W(t),r=e.readVarInt(),o=[];for(let i=0;i<r;i++){let s=e.readVarInt(),c=e.readVarInt(),a=[];for(let f=0;f<c;f++)a.push(I(e,t,n));let u=a?[a]:[];for(let f=1;f<s;f++){let h=[],m=e.readVarInt();for(let ce=0;ce<m;ce++)h.push(I(e,t,n));u.push(h)}o.push(u)}return{type:"MultiPolygon",coordinates:o}}function Gt(e,t){return{type:"GeometryCollection",geometries:[]}}function w(e){return e>>1^-(e&1)}function Ee(e,t,n,r){return n!==void 0?r!==void 0?[e,t,n,r]:[e,t,n]:[e,t]}function W(e){return Ee(0,0,e.hasZ?0:void 0,e.hasM?0:void 0)}function Mt(e,t){let n=w(e.readVarInt())/t.precisionFactor,r=w(e.readVarInt())/t.precisionFactor,o=t.hasZ?w(e.readVarInt())/t.zPrecisionFactor:void 0,i=t.hasM?w(e.readVarInt())/t.mPrecisionFactor:void 0;return Ee(n,r,o,i)}function I(e,t,n){return n[0]+=w(e.readVarInt())/t.precisionFactor,n[1]+=w(e.readVarInt())/t.precisionFactor,t.hasZ&&(n[2]+=w(e.readVarInt())/t.zPrecisionFactor),t.hasM&&(n[3]+=w(e.readVarInt())/t.mPrecisionFactor),n.slice()}function G(e){switch(e.type){case"Point":return`POINT ${T(xe(e.coordinates))}`;case"LineString":return`LINESTRING ${T(ee(e.coordinates))}`;case"Polygon":return`POLYGON ${T(te(e.coordinates))}`;case"MultiPoint":return`MULTIPOINT ${T(ee(e.coordinates))}`;case"MultiPolygon":return`MULTIPOLYGON ${T(Ot(e.coordinates))}`;case"MultiLineString":return`MULTILINESTRING ${T(te(e.coordinates))}`;case"GeometryCollection":return`GEOMETRYCOLLECTION ${T(e.geometries.map(G).join(", "))}`;default:throw new Error("convertGeometryToWKT requires a valid GeoJSON Geometry (not Feature) as input")}}function xe(e){return e.join(" ")}function ee(e){return e.map(xe).join(", ")}function te(e){return e.map(ee).map(T).join(", ")}function Ot(e){return e.map(te).map(T).join(", ")}function T(e){return`(${e})`}var d=class{arrayBuffer;dataView;byteOffset=0;allowResize=!1;constructor(t,n){this.arrayBuffer=new ArrayBuffer(t),this.dataView=new DataView(this.arrayBuffer),this.byteOffset=0,this.allowResize=n||!1}writeUInt8(t){this._ensureSize(1),this.dataView.setUint8(this.byteOffset,t),this.byteOffset+=1}writeUInt16LE(t){this._ensureSize(2),this.dataView.setUint16(this.byteOffset,t,!0),this.byteOffset+=2}writeUInt16BE(t){this._ensureSize(2),this.dataView.setUint16(this.byteOffset,t,!1),this.byteOffset+=2}writeUInt32LE(t){this._ensureSize(4),this.dataView.setUint32(this.byteOffset,t,!0),this.byteOffset+=4}writeUInt32BE(t){this._ensureSize(4),this.dataView.setUint32(this.byteOffset,t,!1),this.byteOffset+=4}writeInt8(t){this._ensureSize(1),this.dataView.setInt8(this.byteOffset,t),this.byteOffset+=1}writeInt16LE(t){this._ensureSize(2),this.dataView.setInt16(this.byteOffset,t,!0),this.byteOffset+=2}writeInt16BE(t){this._ensureSize(2),this.dataView.setInt16(this.byteOffset,t,!1),this.byteOffset+=2}writeInt32LE(t){this._ensureSize(4),this.dataView.setInt32(this.byteOffset,t,!0),this.byteOffset+=4}writeInt32BE(t){this._ensureSize(4),this.dataView.setInt32(this.byteOffset,t,!1),this.byteOffset+=4}writeFloatLE(t){this._ensureSize(4),this.dataView.setFloat32(this.byteOffset,t,!0),this.byteOffset+=4}writeFloatBE(t){this._ensureSize(4),this.dataView.setFloat32(this.byteOffset,t,!1),this.byteOffset+=4}writeDoubleLE(t){this._ensureSize(8),this.dataView.setFloat64(this.byteOffset,t,!0),this.byteOffset+=8}writeDoubleBE(t){this._ensureSize(8),this.dataView.setFloat64(this.byteOffset,t,!1),this.byteOffset+=8}writeVarInt(t){let n=1;for(;t&4294967168;)this.writeUInt8(t&127|128),t>>>=7,n++;return this.writeUInt8(t&127),n}writeTypedArray(t){this._ensureSize(t.byteLength),new Uint8Array(this.arrayBuffer).set(t,this.byteOffset),this.byteOffset+=t.byteLength}writeBuffer(t){this._ensureSize(t.byteLength),new Uint8Array(this.arrayBuffer).set(new Uint8Array(t),this.byteOffset),this.byteOffset+=t.byteLength}_ensureSize(t){if(this.arrayBuffer.byteLength<this.byteOffset+t)if(this.allowResize){let n=new ArrayBuffer(this.byteOffset+t);new Uint8Array(n).set(new Uint8Array(this.arrayBuffer)),this.arrayBuffer=n}else throw new Error("BinaryWriter overflow")}};function M(e,t={}){switch(e.type==="Feature"&&(e=e.geometry),e.type){case"Point":return We(e.coordinates,t);case"LineString":return Me(e.coordinates,t);case"Polygon":return Oe(e.coordinates,t);case"MultiPoint":return vt(e,t);case"MultiPolygon":return Ut(e,t);case"MultiLineString":return kt(e,t);case"GeometryCollection":return At(e,t);default:let n=e;throw new Error(`Unhandled case: ${n}`)}}function Kt(e,t){switch(e.type){case"Point":return Ge(t);case"LineString":return ne(e.coordinates,t);case"Polygon":return re(e.coordinates,t);case"MultiPoint":return Ke(e,t);case"MultiPolygon":return ke(e,t);case"MultiLineString":return ve(e,t);case"GeometryCollection":return Ue(e,t);default:let n=e;throw new Error(`Unhandled case: ${n}`)}}function We(e,t){let n=new d(Ge(t));return n.writeInt8(1),b(n,l.Point,t),typeof e[0]>"u"&&typeof e[1]>"u"?(n.writeDoubleLE(NaN),n.writeDoubleLE(NaN),t.hasZ&&n.writeDoubleLE(NaN),t.hasM&&n.writeDoubleLE(NaN)):_(n,e,t),n.arrayBuffer}function _(e,t,n){e.writeDoubleLE(t[0]),e.writeDoubleLE(t[1]),n.hasZ&&e.writeDoubleLE(t[2]),n.hasM&&e.writeDoubleLE(t[3])}function Ge(e){let t=j(e);return 1+4+t}function Me(e,t){let n=ne(e,t),r=new d(n);r.writeInt8(1),b(r,l.LineString,t),r.writeUInt32LE(e.length);for(let o of e)_(r,o,t);return r.arrayBuffer}function ne(e,t){let n=j(t);return 1+4+4+e.length*n}function Oe(e,t){let n=new d(re(e,t));n.writeInt8(1),b(n,l.Polygon,t);let[r=[],...o]=e;r.length>0?(n.writeUInt32LE(1+o.length),n.writeUInt32LE(r.length)):n.writeUInt32LE(0);for(let i of r)_(n,i,t);for(let i of o){n.writeUInt32LE(i.length);for(let s of i)_(n,s,t)}return n.arrayBuffer}function re(e,t){let n=j(t),[r=[],...o]=e,i=1+4+4;r.length>0&&(i+=4+r.length*n);for(let s of o)i+=4+s.length*n;return i}function vt(e,t){let n=new d(Ke(e,t)),r=e.coordinates;n.writeInt8(1),b(n,l.MultiPoint,t),n.writeUInt32LE(r.length);for(let o of r){let i=We(o,t);n.writeBuffer(i)}return n.arrayBuffer}function Ke(e,t){let n=j(t),r=e.coordinates;return n+=5,1+4+4+r.length*n}function kt(e,t){let n=new d(ve(e,t)),r=e.coordinates;n.writeInt8(1),b(n,l.MultiLineString,t),n.writeUInt32LE(r.length);for(let o of r){let i=Me(o,t);n.writeBuffer(i)}return n.arrayBuffer}function ve(e,t){let n=9,r=e.coordinates;for(let o of r)n+=ne(o,t);return n}function Ut(e,t){let n=new d(ke(e,t)),r=e.coordinates;n.writeInt8(1),b(n,l.MultiPolygon,t),n.writeUInt32LE(r.length);for(let o of r){let i=Oe(o,t);n.writeBuffer(i)}return n.arrayBuffer}function ke(e,t){let n=9,r=e.coordinates;for(let o of r)n+=re(o,t);return n}function At(e,t){let n=new d(Ue(e,t));n.writeInt8(1),b(n,l.GeometryCollection,t),n.writeUInt32LE(e.geometries.length);for(let r of e.geometries){let o=M(r,t);n.writeBuffer(o)}return n.arrayBuffer}function Ue(e,t){let n=9;for(let r of e.geometries)n+=Kt(r,t);return n}function b(e,t,n){let{hasZ:r,hasM:o,srid:i}=n,s=0;i?(r&&(s|=2147483648),o&&(s|=1073741824)):r&&o?s+=3e3:r?s+=1e3:o&&(s+=2e3),e.writeUInt32LE(s+t>>>0)}function j(e){let t=16;return e.hasZ&&(t+=8),e.hasM&&(t+=8),t}function $(e,t){let n=new d(0,!0),r={...jt(5,0,0),hasZ:t?.hasZ,hasM:t?.hasM};return Ae(n,e,r),n.arrayBuffer}function Ae(e,t,n){switch(t.type){case"Point":return Ct(e,n,t);case"LineString":return zt(e,n,t);case"Polygon":return Vt(e,n,t);case"MultiPoint":return Ft(e,n,t);case"MultiLineString":return Rt(e,n,t);case"MultiPolygon":return Nt(e,n,t);case"GeometryCollection":return _t(e,n,t);default:throw new Error("unsupported geometry type")}}function Ct(e,t,n){let r=n.coordinates.length===0||n[0]==="undefined"||n[1]==="undefined";if(S(e,t,l.Point,r),!r){let o=[0,0,0,0];B(e,t,n.coordinates,o)}}function zt(e,t,n){let r=n.coordinates,o=r.length===0;if(S(e,t,l.LineString,o),!o){e.writeVarInt(r.length);let i=[0,0,0,0];for(let s of r)B(e,t,s,i)}return e.arrayBuffer}function Vt(e,t,n){let r=n.coordinates,o=r.length===0;if(S(e,t,l.Polygon,o),!o){e.writeVarInt(r.length);let i=[0,0,0,0];for(let s of r){e.writeVarInt(s.length);for(let c of s)B(e,t,i,c)}}return e.arrayBuffer}function Ft(e,t,n){let r=n.coordinates,o=r.length===0;if(S(e,t,l.MultiPoint,o),!o){e.writeVarInt(r.length);let i=[0,0,0,0];for(let s=0;s<r.length;s++)B(e,t,i,r[s])}}function Rt(e,t,n){let r=n.coordinates,o=r.length===0;if(S(e,t,l.MultiLineString,o),!o){e.writeVarInt(r.length);let i=[0,0,0,0];for(let s of r){e.writeVarInt(s.length);for(let c of s)B(e,t,i,c)}}return e.arrayBuffer}function Nt(e,t,n){let{coordinates:r}=n,o=r.length===0;if(S(e,t,l.MultiPolygon,o),!o){let i=r;e.writeVarInt(i.length);let s=[0,0,0,0];for(let c of i){e.writeVarInt(c.length);for(let a of c){e.writeVarInt(a.length);for(let u of a)B(e,t,s,u)}}}}function _t(e,t,n){let{geometries:r}=n,o=r.length===0;if(S(e,t,l.GeometryCollection,o),r.length>0){e.writeVarInt(r.length);for(let i of r)Ae(e,i,t)}}function S(e,t,n,r){let o=(O(t.xy)<<4)+n,i=t.hasZ||t.hasM?1<<3:0;if(i+=r?1<<4:0,e.writeUInt8(o),e.writeUInt8(i),t.hasZ||t.hasM){let s=0;t.hasZ&&(s|=1),t.hasM&&(s|=2),e.writeUInt8(s)}}function B(e,t,n,r){let o=n[0]*t.xyFactor,i=n[1]*t.xyFactor,s=n[2]*t.zFactor,c=n[3]*t.mFactor;e.writeVarInt(O(o-r[0])),e.writeVarInt(O(i-r[1])),t.hasZ&&e.writeVarInt(O(s-r[2])),t.hasM&&e.writeVarInt(O(c-r[3])),r[0]=o,r[1]=i,r[2]=s,r[3]=c}function O(e){return e<<1^e>>31}function jt(e,t,n){return{xy:e,z:t,m:n,xyFactor:Math.pow(10,e),zFactor:Math.pow(10,t),mFactor:Math.pow(10,n)}}function Z(e,t){t?.debug&&console.log(`[wktcrs] parse starting with
8
- `,e),e=e.replace(/[A-Z][A-Z\d_]+\[/gi,i=>`["${i.substr(0,i.length-1)}",`),e=e.replace(/, ?([A-Z][A-Z\d_]+[,\]])/gi,(i,s)=>{let c=s.substr(0,s.length-1);return`,"${t?.raw?"raw:":""}${c}"${s[s.length-1]}`}),t?.raw&&(e=e.replace(/, {0,2}(-?[\.\d]+)(?=,|\])/g,function(i,s){return`,"${t?.raw?"raw:":""}${s}"`})),t?.debug&&console.log(`[wktcrs] json'd wkt: '${e}'`);let n;try{n=JSON.parse(e)}catch(i){throw console.error(`[wktcrs] failed to parse '${e}'`),i}t?.debug&&console.log(`[wktcrs] json parsed: '${e}'`);function r(i,s){let c=i[0];i.forEach(function(u){Array.isArray(u)&&r(u,i)});let a=`MULTIPLE_${c}`;return a in s?s[a].push(i):c in s?(s[a]=[s[c],i],delete s[c]):s[c]=i,s}let o=r(n,[n]);return t?.debug&&console.log("[wktcrs] parse returning",o),t?.sort&&Ce(o,t),o}function Ce(e,t){let n=Object.keys(e).filter(o=>!/\d+/.test(o)),r=t?.keywords||[];if(!t?.keywords){let o={};if(Array.isArray(e)){e.forEach(i=>{if(Array.isArray(i)&&i.length>=2&&typeof i[1]=="string"){let s=i[0];o[s]||(o[s]=0),o[s]++}});for(let i in o)o[i]>0&&r.push(i)}}return n.forEach(o=>{e[o]=Ce(e[o])}),r.forEach(o=>{let i=[],s=[];e.forEach((c,a)=>{Array.isArray(c)&&c[0]===o&&(i.push(a),s.push(c))}),s.sort((c,a)=>(c=c[1].toString(),a=a[1].toString(),c<a?-1:c>a?1:0)),s.forEach((c,a)=>{e[i[a]]=c})}),e}function E(e,t){Array.isArray(e)&&e.length===1&&Array.isArray(e[0])&&(e=e[0]);let[n,...r]=e;return`${n}[${r.map(i=>{if(Array.isArray(i))return E(i,t);if(typeof i=="number")return i.toString();if(typeof i=="string")return i.startsWith("raw:")?i.replace("raw:",""):`"${i}"`;throw new Error(`[wktcrs] unexpected attribute "${i}"`)}).join(",")}]`}var ze="0123456789abcdef",$t=[],D=[];for(let e=0;e<256;e++)$t[e]=ze[e>>4&15]+ze[e&15],e<16&&(e<10?D[48+e]=e:D[97-10+e]=e);function oe(e){let t=e.length>>1,n=t<<1,r=new Uint8Array(t),o=0,i=0;for(;i<n;)r[o++]=D[e.charCodeAt(i++)]<<4|D[e.charCodeAt(i++)];return r}var p="4.4.0-alpha.1";var Ve={dataType:null,batchType:null,name:"WKT CRS (Well-Known Text Coordinate Reference System)",id:"wkt-crs",module:"wkt-crs",version:p,worker:!0,extensions:[],mimeTypes:["text/plain"],category:"json",text:!0,options:{"wkt-crs":{}},parse:async(e,t)=>Z(new TextDecoder().decode(e),t?.["wkt-crs"]),parseTextSync:(e,t)=>Z(e,t?.["wkt-crs"])};var Fe={name:"WKT CRS (Well-Known Text Coordinate Reference System)",id:"wkt-crs",module:"wkt-crs",version:p,worker:!0,extensions:[],mimeTypes:["text/plain"],text:!0,options:{"wkt-crs":{}},encode:async(e,t)=>new TextEncoder().encode(E(e,t?.["wkt-crs"])),encodeSync:(e,t)=>new TextEncoder().encode(E(e,t?.["wkt-crs"])),encodeTextSync:(e,t)=>E(e,t?.["wkt-crs"])};var ie={dataType:null,batchType:null,name:"WKT (Well-Known Text)",id:"wkt",module:"wkt",version:p,worker:!0,extensions:["wkt"],mimeTypes:["text/plain"],category:"geometry",text:!0,tests:L,testText:z,options:{wkt:{shape:"geojson-geometry",crs:!0}}},Re={...ie,parse:async(e,t)=>V(new TextDecoder().decode(e),t),parseTextSync:(e,t)=>V(e,t)};var _e={name:"WKT (Well Known Text)",id:"wkt",module:"wkt",version:p,extensions:["wkt"],mimeTypes:["application/wkt","text/plain"],text:!0,encode:async e=>Ne(e),encodeSync:Ne,encodeTextSync:G,options:{wkt:{}}};function Ne(e){let t=G(e);return new TextEncoder().encode(t).buffer}var se={dataType:null,batchType:null,name:"WKB",id:"wkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["wkb"],mimeTypes:[],tests:[q],options:{wkb:{shape:"geojson-geometry"}}},H={...se,parse:async(e,t)=>je(e,t?.wkb),parseSync:(e,t)=>je(e,t?.wkb)};function je(e,t){let n=t?.shape||"geojson-geometry";switch(n){case"geojson-geometry":return x(e);default:throw new Error(n)}}var $e={name:"WKB (Well Known Binary)",id:"wkb",module:"wkt",version:p,extensions:["wkb"],mimeTypes:["application/wkb","application/octet-stream"],options:{wkb:{hasZ:!1,hasM:!1}},async encode(e,t){return M(e)},encodeSync(e,t){return M(e)}};var De={dataType:null,batchType:null,name:"Hexadecimal WKB",id:"wkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["wkb"],mimeTypes:[],options:H.options,text:!0,testText:Zt,parse:async e=>Ze(new TextDecoder().decode(e)),parseTextSync:Ze};function Ze(e,t){let n=oe(e);return x(n.buffer)}function Zt(e){return!e||e.length<10||e.length%2!==0||!e.startsWith("00")&&!e.startsWith("01")?!1:/^[0-9a-fA-F]+$/.test(e.slice(2))}var Dt={dataType:null,batchType:null,name:"TWKB (Tiny Well-Known Binary)",id:"twkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["twkb"],mimeTypes:[],tests:[X],options:{wkb:{shape:"binary-geometry"}}},He={...Dt,parse:async e=>N(e),parseSync:N};var Ye={name:"TWKB (Tiny Well Known Binary)",id:"twkb",module:"wkt",version:p,extensions:["twkb"],mimeTypes:["application/text"],encode:async(e,t)=>$(e,t?.twkb),encodeSync:(e,t)=>$(e,t?.twkb),options:{twkb:{hasZ:!1,hasM:!1}}};return ot(K);})();
7
+ "use strict";var __exports__=(()=>{var Qe=Object.create;var K=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty;var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),it=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})},k=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tt(t))!nt.call(e,o)&&o!==r&&K(e,o,{get:()=>t[o],enumerable:!(n=et(t,o))||n.enumerable});return e},U=(e,t,r)=>(k(e,t,"default"),r&&k(r,t,"default")),st=(e,t,r)=>(r=e!=null?Qe(rt(e)):{},k(t||!e||!e.__esModule?K(r,"default",{value:e,enumerable:!0}):r,e)),ct=e=>k(K({},"__esModule",{value:!0}),e);var le=ot((Xt,ue)=>{ue.exports=globalThis.loaders});var G={};it(G,{HexWKBLoader:()=>Ye,TWKBLoader:()=>qe,TWKBWriter:()=>Xe,WKBLoader:()=>J,WKBWorkerLoader:()=>ae,WKBWriter:()=>He,WKTCRSLoader:()=>ve,WKTCRSWriter:()=>_e,WKTLoader:()=>je,WKTWorkerLoader:()=>ce,WKTWriter:()=>$e});U(G,st(le(),1));function ye(e,t,r){switch(e.type){case"Point":return ft(e,t,r);case"LineString":return at(e,t,r);case"Polygon":return pe(e,t,r);default:let n=e;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function pe(e,t=-1/0,r=1/0){let{positions:n}=e,o=e.polygonIndices.value.filter(a=>a>=t&&a<=r),i=e.primitivePolygonIndices.value.filter(a=>a>=t&&a<=r);if(!(o.length>2)){let a=[];for(let u=0;u<i.length-1;u++){let l=i[u],g=i[u+1],d=F(n,l,g);a.push(d)}return{type:"Polygon",coordinates:a}}let c=[];for(let a=0;a<o.length-1;a++){let u=o[a],l=o[a+1],g=pe(e,u,l).coordinates;c.push(g)}return{type:"MultiPolygon",coordinates:c}}function at(e,t=-1/0,r=1/0){let{positions:n}=e,o=e.pathIndices.value.filter(c=>c>=t&&c<=r);if(!(o.length>2))return{type:"LineString",coordinates:F(n,o[0],o[1])};let s=[];for(let c=0;c<o.length-1;c++){let a=F(n,o[c],o[c+1]);s.push(a)}return{type:"MultiLineString",coordinates:s}}function ft(e,t,r){let{positions:n}=e,o=F(n,t,r);return o.length>1?{type:"MultiPoint",coordinates:o}:{type:"Point",coordinates:o[0]}}function F(e,t,r){t=t||0,r=r||e.value.length/e.size;let n=[];for(let o=t;o<r;o++){let i=Array();for(let s=o*e.size;s<(o+1)*e.size;s++)i.push(Number(e.value[s]));n.push(i)}return n}function S(e){let t=0;for(let o=0;o<e.length;++o)t+=e[o].byteLength;let r=new Uint8Array(t),n=0;for(let o=0;o<e.length;++o){let i=new Uint8Array(e[o].buffer);t=i.length;for(let s=0;s<t;++s)r[n++]=i[s]}return r}function me(e,t){let r=e.map(o=>o.positions.value);return{type:"Point",positions:{value:new Float64Array(S(r).buffer),size:t}}}function ge(e,t){let r=e.map(i=>i.positions.value),n=new Float64Array(S(r).buffer),o=r.map(i=>i.length/t).map(de(0));return o.unshift(0),{type:"LineString",positions:{value:n,size:t},pathIndices:{value:new Uint32Array(o),size:1}}}function he(e,t){let r=[],n=[];for(let c of e){let{positions:a,primitivePolygonIndices:u}=c;r.push(a.value),n.push(u.value)}let o=new Float64Array(S(r).buffer),i=r.map(c=>c.length/t).map(de(0));i.unshift(0);let s=[0];for(let c of n)s.push(...c.filter(a=>a>0).map(a=>a+s[s.length-1]));return{type:"Polygon",positions:{value:o,size:t},polygonIndices:{value:new Uint32Array(i),size:1},primitivePolygonIndices:{value:new Uint32Array(s),size:1}}}var de=e=>t=>e+=t;var f;(function(e){e[e.Point=1]="Point",e[e.LineString=2]="LineString",e[e.Polygon=3]="Polygon",e[e.MultiPoint=4]="MultiPoint",e[e.MultiLineString=5]="MultiLineString",e[e.MultiPolygon=6]="MultiPolygon",e[e.GeometryCollection=7]="GeometryCollection"})(f||(f={}));var Y=2147483648,q=1073741824,C=536870912,we=1e4,I=["POINT(","LINESTRING(","POLYGON(","MULTIPOINT(","MULTILINESTRING(","MULTIPOLYGON(","GEOMETRYCOLLECTION("],ut=new TextEncoder,Te=I.map(e=>ut.encode(e));function R(e){return lt(e)!==null}function lt(e){if(typeof e=="string"){let n=I.findIndex(o=>e.startsWith(o));return n>=0?n+1:null}let t=new Uint8Array(e),r=Te.findIndex(n=>n.every((o,i)=>o===t[i]));return r>=0?r+1:null}function X(e){let t=new DataView(e),r=0,o=t.getUint8(r)&15;return!(o<1||o>7)}function Q(e){let t=new DataView(e),r=0,n=t.getUint8(r);if(r+=1,n>1)return!1;let o=n===1,i=t.getUint32(r,o);r+=4;let s=i&7;if(s===0||s>7)return!1;let c=i-s;if(c===0||c===1e3||c===2e3||c===3e3)return!0;if(c&~(Y|q|C))return!1;if(c&C){let a=t.getUint32(r,o);if(r+=4,a>we)return!1}return!0}function be(e,t){let r=Object.assign(t||{},{type:"wkb",variant:"wkb",geometryType:1,dimensions:2,coordinates:"xy",littleEndian:!0,byteOffset:0});if(R(e.buffer))throw new Error("WKB: Cannot parse WKT data");r.littleEndian=e.getUint8(r.byteOffset)===1,r.byteOffset++;let n=e.getUint32(r.byteOffset,r.littleEndian);r.byteOffset+=4,r.geometryType=n&7;let o=(n-r.geometryType)/1e3;switch(o){case 0:break;case 1:r.variant="iso-wkb",r.dimensions=3,r.coordinates="xyz";break;case 2:r.variant="iso-wkb",r.dimensions=3,r.coordinates="xym";break;case 3:r.variant="iso-wkb",r.dimensions=4,r.coordinates="xyzm";break;default:throw new Error(`WKB: Unsupported iso-wkb type: ${o}`)}let i=n&Y,s=n&q,c=n&C;return i&&s?(r.variant="ewkb",r.dimensions=4,r.coordinates="xyzm"):i?(r.variant="ewkb",r.dimensions=3,r.coordinates="xyz"):s&&(r.variant="ewkb",r.dimensions=3,r.coordinates="xym"),c&&(r.variant="ewkb",r.srid=e.getUint32(r.byteOffset,r.littleEndian),r.byteOffset+=4),r}function xe(e){let t=new DataView(e),r=be(t),{geometryType:n,dimensions:o,littleEndian:i}=r,s=r.byteOffset;switch(n){case f.Point:return Be(t,s,o,i).geometry;case f.LineString:return ee(t,s,o,i).geometry;case f.Polygon:return Se(t,s,o,i).geometry;case f.MultiPoint:let l=pt(t,s,o,i);return l.type="Point",l;case f.MultiLineString:let g=mt(t,s,o,i);return g.type="LineString",g;case f.MultiPolygon:let d=gt(t,s,o,i);return d.type="Polygon",d;default:throw new Error(`WKB: Unsupported geometry type: ${n}`)}}function Be(e,t,r,n){let o=new Float64Array(r);for(let i=0;i<r;i++)o[i]=e.getFloat64(t,n),t+=8;return{geometry:{type:"Point",positions:{value:o,size:r}},offset:t}}function ee(e,t,r,n){let o=e.getUint32(t,n);t+=4;let i=new Float64Array(o*r);for(let c=0;c<o*r;c++)i[c]=e.getFloat64(t,n),t+=8;let s=[0];return o>0&&s.push(o),{geometry:{type:"LineString",positions:{value:i,size:r},pathIndices:{value:new Uint32Array(s),size:1}},offset:t}}var yt=e=>t=>e+=t;function Se(e,t,r,n){let o=e.getUint32(t,n);t+=4;let i=[];for(let u=0;u<o;u++){let l=ee(e,t,r,n),{positions:g}=l.geometry;t=l.offset,i.push(g.value)}let s=new Float64Array(S(i).buffer),c=[0];s.length>0&&c.push(s.length/r);let a=i.map(u=>u.length/r).map(yt(0));return a.unshift(0),{geometry:{type:"Polygon",positions:{value:s,size:r},polygonIndices:{value:new Uint32Array(c),size:1},primitivePolygonIndices:{value:new Uint32Array(a),size:1}},offset:t}}function pt(e,t,r,n){let o=e.getUint32(t,n);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==1)throw new Error("WKB: Inner geometries of MultiPoint not of type Point");t+=4;let a=Be(e,t,r,c);t=a.offset,i.push(a.geometry)}return me(i,r)}function mt(e,t,r,n){let o=e.getUint32(t,n);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==2)throw new Error("WKB: Inner geometries of MultiLineString not of type LineString");t+=4;let a=ee(e,t,r,c);t=a.offset,i.push(a.geometry)}return ge(i,r)}function gt(e,t,r,n){let o=e.getUint32(t,n);t+=4;let i=[];for(let s=0;s<o;s++){let c=e.getUint8(t)===1;if(t++,e.getUint32(t,c)%1e3!==3)throw new Error("WKB: Inner geometries of MultiPolygon not of type Polygon");t+=4;let a=Se(e,t,r,c);t=a.offset,i.push(a.geometry)}return he(i,r)}function E(e){let t=xe(e);return ye(t)}var Ie=/[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/,Pe=new RegExp("^"+Ie.source+"(\\s"+Ie.source+"){1,}");function V(e,t){let r=e.split(";"),n=r.pop(),o=(r.shift()||"").split("=").pop(),s=Le({parts:r,_:n,i:0});return t?.wkt?.crs?ht(s,o):s}function Le(e){return dt(e)||Tt(e)||xt(e)||wt(e)||bt(e)||Bt(e)||St(e)}function ht(e,t){if(e&&t?.match(/\d+/)){let r={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+t}};e.crs=r}return e}function dt(e){if(!y(/^(POINT(\sz)?)/i,e)||(m(e),!y(/^(\()/,e)))return null;let t=Ee(e);return!t||(m(e),!y(/^(\))/,e))?null:{type:"Point",coordinates:t[0]}}function wt(e){if(!y(/^(MULTIPOINT)/i,e))return null;m(e);let t=e._?.substring(e._?.indexOf("(")+1,e._.length-1).replace(/\(/g,"").replace(/\)/g,"");e._="MULTIPOINT ("+t+")";let r=N(e);return r?(m(e),{type:"MultiPoint",coordinates:r}):null}function Tt(e){if(!y(/^(LINESTRING(\sz)?)/i,e)||(m(e),!y(/^(\()/,e)))return null;let t=Ee(e);return!t||!y(/^(\))/,e)?null:{type:"LineString",coordinates:t}}function bt(e){if(!y(/^(MULTILINESTRING)/i,e))return null;m(e);let t=N(e);return t?(m(e),{type:"MultiLineString",coordinates:t}):null}function xt(e){if(!y(/^(POLYGON(\sz)?)/i,e))return null;m(e);let t=N(e);return t?{type:"Polygon",coordinates:t}:null}function Bt(e){if(!y(/^(MULTIPOLYGON)/i,e))return null;m(e);let t=N(e);return t?{type:"MultiPolygon",coordinates:t}:null}function St(e){let t=[],r;if(!y(/^(GEOMETRYCOLLECTION)/i,e)||(m(e),!y(/^(\()/,e)))return null;for(;r=Le(e);)t.push(r),m(e),y(/^(,)/,e),m(e);return y(/^(\))/,e)?{type:"GeometryCollection",geometries:t}:null}function N(e){m(e);let t=0,r=[],n=[r],o=r,i;for(;i=y(/^(\()/,e)||y(/^(\))/,e)||y(/^(,)/,e)||y(Pe,e);){if(i==="(")n.push(o),o=[],n[n.length-1].push(o),t++;else if(i===")"){if(o.length===0||(o=n.pop(),!o))return null;if(t--,t===0)break}else if(i===",")o=[],n[n.length-1].push(o);else if(!i.split(/\s/g).some(isNaN))Array.prototype.push.apply(o,i.split(/\s/g).map(parseFloat));else return null;m(e)}return t!==0?null:r}function Ee(e){let t=[],r,n;for(;n=y(Pe,e)||y(/^(,)/,e);)n===","?(t.push(r),r=[]):n.split(/\s/g).some(isNaN)||(r||(r=[]),Array.prototype.push.apply(r,n.split(/\s/g).map(parseFloat))),m(e);if(r)t.push(r);else return null;return t.length?t:null}function y(e,t){let r=t._?.substring(t.i).match(e);return r?(t.i+=r[0].length,r[0]):null}function m(e){y(/^\s*/,e)}var v=class{arrayBuffer;dataView;byteOffset;littleEndian;constructor(t,r=!1){this.arrayBuffer=t,this.dataView=new DataView(t),this.byteOffset=0,this.littleEndian=!r}readUInt8(){let t=this.dataView.getUint8(this.byteOffset);return this.byteOffset+=1,t}readUInt16(){let t=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,t}readUInt32(){let t=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readInt8(){let t=this.dataView.getInt8(this.byteOffset);return this.byteOffset+=1,t}readInt16(){let t=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,t}readInt32(){let t=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readFloat(){let t=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,t}readDouble(){let t=this.dataView.getFloat64(this.byteOffset,this.littleEndian);return this.byteOffset+=8,t}readVarInt(){let t=0,r=0,n;do n=this.dataView.getUint8(this.byteOffset+r),t+=(n&127)<<7*r,r++;while(n>=128);return this.byteOffset+=r,t}};function z(e){let t=new v(e),r=It(t);if(r.hasSizeAttribute&&t.readVarInt(),r.hasBoundingBox){let n=2;r.hasZ&&n++,r.hasM&&n++;for(let o=0;o<n;o++)t.readVarInt(),t.readVarInt()}return Pt(t,r,r.geometryType)}function It(e){let t=e.readUInt8(),r=e.readUInt8(),n=t&15,o=w(t>>4),i=Boolean(r>>3&1),s=!1,c=!1,a=0,u=1,l=0,g=1;if(i){let d=e.readUInt8();s=(d&1)===1,c=(d&2)===2,a=w((d&28)>>2),u=Math.pow(10,a),l=w((d&224)>>5),g=Math.pow(10,l)}return{geometryType:n,precision:o,precisionFactor:Math.pow(10,o),hasBoundingBox:Boolean(r>>0&1),hasSizeAttribute:Boolean(r>>1&1),hasIdList:Boolean(r>>2&1),hasExtendedPrecision:i,isEmpty:Boolean(r>>4&1),hasZ:s,hasM:c,zPrecision:a,zPrecisionFactor:u,mPrecision:l,mPrecisionFactor:g}}function Pt(e,t,r){switch(r){case f.Point:return Lt(e,t);case f.LineString:return Et(e,t);case f.Polygon:return Wt(e,t);case f.MultiPoint:return At(e,t);case f.MultiLineString:return Ot(e,t);case f.MultiPolygon:return Mt(e,t);case f.GeometryCollection:return Gt(e,t);default:throw new Error(`GeometryType ${r} not supported`)}}function Lt(e,t){return t.isEmpty?{type:"Point",coordinates:[]}:{type:"Point",coordinates:kt(e,t)}}function Et(e,t){if(t.isEmpty)return{type:"LineString",coordinates:[]};let r=e.readVarInt(),n=W(t),o=[];for(let i=0;i<r;i++)o.push(b(e,t,n));return{type:"LineString",coordinates:o}}function Wt(e,t){if(t.isEmpty)return{type:"Polygon",coordinates:[]};let r=e.readVarInt(),n=W(t),o=e.readVarInt(),i=[];for(let c=0;c<o;c++)i.push(b(e,t,n));let s=[i];for(let c=1;c<r;c++){let a=e.readVarInt(),u=[];for(let l=0;l<a;l++)u.push(b(e,t,n));s.push(u)}return{type:"Polygon",coordinates:s}}function At(e,t){if(t.isEmpty)return{type:"MultiPoint",coordinates:[]};let r=W(t),n=e.readVarInt(),o=[];for(let i=0;i<n;i++)o.push(b(e,t,r));return{type:"MultiPoint",coordinates:o}}function Ot(e,t){if(t.isEmpty)return{type:"MultiLineString",coordinates:[]};let r=W(t),n=e.readVarInt(),o=[];for(let i=0;i<n;i++){let s=e.readVarInt(),c=[];for(let a=0;a<s;a++)c.push(b(e,t,r));o.push(c)}return{type:"MultiLineString",coordinates:o}}function Mt(e,t){if(t.isEmpty)return{type:"MultiPolygon",coordinates:[]};let r=W(t),n=e.readVarInt(),o=[];for(let i=0;i<n;i++){let s=e.readVarInt(),c=e.readVarInt(),a=[];for(let l=0;l<c;l++)a.push(b(e,t,r));let u=a?[a]:[];for(let l=1;l<s;l++){let g=[],d=e.readVarInt();for(let fe=0;fe<d;fe++)g.push(b(e,t,r));u.push(g)}o.push(u)}return{type:"MultiPolygon",coordinates:o}}function Gt(e,t){return{type:"GeometryCollection",geometries:[]}}function w(e){return e>>1^-(e&1)}function We(e,t,r,n){return r!==void 0?n!==void 0?[e,t,r,n]:[e,t,r]:[e,t]}function W(e){return We(0,0,e.hasZ?0:void 0,e.hasM?0:void 0)}function kt(e,t){let r=w(e.readVarInt())/t.precisionFactor,n=w(e.readVarInt())/t.precisionFactor,o=t.hasZ?w(e.readVarInt())/t.zPrecisionFactor:void 0,i=t.hasM?w(e.readVarInt())/t.mPrecisionFactor:void 0;return We(r,n,o,i)}function b(e,t,r){return r[0]+=w(e.readVarInt())/t.precisionFactor,r[1]+=w(e.readVarInt())/t.precisionFactor,t.hasZ&&(r[2]+=w(e.readVarInt())/t.zPrecisionFactor),t.hasM&&(r[3]+=w(e.readVarInt())/t.mPrecisionFactor),r.slice()}function A(e){switch(e.type){case"Point":return`POINT ${T(Ae(e.coordinates))}`;case"LineString":return`LINESTRING ${T(te(e.coordinates))}`;case"Polygon":return`POLYGON ${T(re(e.coordinates))}`;case"MultiPoint":return`MULTIPOINT ${T(te(e.coordinates))}`;case"MultiPolygon":return`MULTIPOLYGON ${T(Kt(e.coordinates))}`;case"MultiLineString":return`MULTILINESTRING ${T(re(e.coordinates))}`;case"GeometryCollection":return`GEOMETRYCOLLECTION ${T(e.geometries.map(A).join(", "))}`;default:throw new Error("convertGeometryToWKT requires a valid GeoJSON Geometry (not Feature) as input")}}function Ae(e){return e.join(" ")}function te(e){return e.map(Ae).join(", ")}function re(e){return e.map(te).map(T).join(", ")}function Kt(e){return e.map(re).map(T).join(", ")}function T(e){return`(${e})`}var h=class{arrayBuffer;dataView;byteOffset=0;allowResize=!1;constructor(t,r){this.arrayBuffer=new ArrayBuffer(t),this.dataView=new DataView(this.arrayBuffer),this.byteOffset=0,this.allowResize=r||!1}writeUInt8(t){this._ensureSize(1),this.dataView.setUint8(this.byteOffset,t),this.byteOffset+=1}writeUInt16LE(t){this._ensureSize(2),this.dataView.setUint16(this.byteOffset,t,!0),this.byteOffset+=2}writeUInt16BE(t){this._ensureSize(2),this.dataView.setUint16(this.byteOffset,t,!1),this.byteOffset+=2}writeUInt32LE(t){this._ensureSize(4),this.dataView.setUint32(this.byteOffset,t,!0),this.byteOffset+=4}writeUInt32BE(t){this._ensureSize(4),this.dataView.setUint32(this.byteOffset,t,!1),this.byteOffset+=4}writeInt8(t){this._ensureSize(1),this.dataView.setInt8(this.byteOffset,t),this.byteOffset+=1}writeInt16LE(t){this._ensureSize(2),this.dataView.setInt16(this.byteOffset,t,!0),this.byteOffset+=2}writeInt16BE(t){this._ensureSize(2),this.dataView.setInt16(this.byteOffset,t,!1),this.byteOffset+=2}writeInt32LE(t){this._ensureSize(4),this.dataView.setInt32(this.byteOffset,t,!0),this.byteOffset+=4}writeInt32BE(t){this._ensureSize(4),this.dataView.setInt32(this.byteOffset,t,!1),this.byteOffset+=4}writeFloatLE(t){this._ensureSize(4),this.dataView.setFloat32(this.byteOffset,t,!0),this.byteOffset+=4}writeFloatBE(t){this._ensureSize(4),this.dataView.setFloat32(this.byteOffset,t,!1),this.byteOffset+=4}writeDoubleLE(t){this._ensureSize(8),this.dataView.setFloat64(this.byteOffset,t,!0),this.byteOffset+=8}writeDoubleBE(t){this._ensureSize(8),this.dataView.setFloat64(this.byteOffset,t,!1),this.byteOffset+=8}writeVarInt(t){let r=1;for(;t&4294967168;)this.writeUInt8(t&127|128),t>>>=7,r++;return this.writeUInt8(t&127),r}writeTypedArray(t){this._ensureSize(t.byteLength),new Uint8Array(this.arrayBuffer).set(t,this.byteOffset),this.byteOffset+=t.byteLength}writeBuffer(t){this._ensureSize(t.byteLength),new Uint8Array(this.arrayBuffer).set(new Uint8Array(t),this.byteOffset),this.byteOffset+=t.byteLength}_ensureSize(t){if(this.arrayBuffer.byteLength<this.byteOffset+t)if(this.allowResize){let r=new ArrayBuffer(this.byteOffset+t);new Uint8Array(r).set(new Uint8Array(this.arrayBuffer)),this.arrayBuffer=r}else throw new Error("BinaryWriter overflow")}};function O(e,t={}){switch(e.type==="Feature"&&(e=e.geometry),e.type){case"Point":return Oe(e.coordinates,t);case"LineString":return Ge(e.coordinates,t);case"Polygon":return ke(e.coordinates,t);case"MultiPoint":return Ft(e,t);case"MultiPolygon":return Rt(e,t);case"MultiLineString":return Ct(e,t);case"GeometryCollection":return Vt(e,t);default:let r=e;throw new Error(`Unhandled case: ${r}`)}}function Ut(e,t){switch(e.type){case"Point":return Me(t);case"LineString":return ne(e.coordinates,t);case"Polygon":return oe(e.coordinates,t);case"MultiPoint":return Ke(e,t);case"MultiPolygon":return Fe(e,t);case"MultiLineString":return Ue(e,t);case"GeometryCollection":return Ce(e,t);default:let r=e;throw new Error(`Unhandled case: ${r}`)}}function Oe(e,t){let r=new h(Me(t));return r.writeInt8(1),x(r,f.Point,t),typeof e[0]>"u"&&typeof e[1]>"u"?(r.writeDoubleLE(NaN),r.writeDoubleLE(NaN),t.hasZ&&r.writeDoubleLE(NaN),t.hasM&&r.writeDoubleLE(NaN)):_(r,e,t),r.arrayBuffer}function _(e,t,r){e.writeDoubleLE(t[0]),e.writeDoubleLE(t[1]),r.hasZ&&e.writeDoubleLE(t[2]),r.hasM&&e.writeDoubleLE(t[3])}function Me(e){let t=j(e);return 1+4+t}function Ge(e,t){let r=ne(e,t),n=new h(r);n.writeInt8(1),x(n,f.LineString,t),n.writeUInt32LE(e.length);for(let o of e)_(n,o,t);return n.arrayBuffer}function ne(e,t){let r=j(t);return 1+4+4+e.length*r}function ke(e,t){let r=new h(oe(e,t));r.writeInt8(1),x(r,f.Polygon,t);let[n=[],...o]=e;n.length>0?(r.writeUInt32LE(1+o.length),r.writeUInt32LE(n.length)):r.writeUInt32LE(0);for(let i of n)_(r,i,t);for(let i of o){r.writeUInt32LE(i.length);for(let s of i)_(r,s,t)}return r.arrayBuffer}function oe(e,t){let r=j(t),[n=[],...o]=e,i=1+4+4;n.length>0&&(i+=4+n.length*r);for(let s of o)i+=4+s.length*r;return i}function Ft(e,t){let r=new h(Ke(e,t)),n=e.coordinates;r.writeInt8(1),x(r,f.MultiPoint,t),r.writeUInt32LE(n.length);for(let o of n){let i=Oe(o,t);r.writeBuffer(i)}return r.arrayBuffer}function Ke(e,t){let r=j(t),n=e.coordinates;return r+=5,1+4+4+n.length*r}function Ct(e,t){let r=new h(Ue(e,t)),n=e.coordinates;r.writeInt8(1),x(r,f.MultiLineString,t),r.writeUInt32LE(n.length);for(let o of n){let i=Ge(o,t);r.writeBuffer(i)}return r.arrayBuffer}function Ue(e,t){let r=9,n=e.coordinates;for(let o of n)r+=ne(o,t);return r}function Rt(e,t){let r=new h(Fe(e,t)),n=e.coordinates;r.writeInt8(1),x(r,f.MultiPolygon,t),r.writeUInt32LE(n.length);for(let o of n){let i=ke(o,t);r.writeBuffer(i)}return r.arrayBuffer}function Fe(e,t){let r=9,n=e.coordinates;for(let o of n)r+=oe(o,t);return r}function Vt(e,t){let r=new h(Ce(e,t));r.writeInt8(1),x(r,f.GeometryCollection,t),r.writeUInt32LE(e.geometries.length);for(let n of e.geometries){let o=O(n,t);r.writeBuffer(o)}return r.arrayBuffer}function Ce(e,t){let r=9;for(let n of e.geometries)r+=Ut(n,t);return r}function x(e,t,r){let{hasZ:n,hasM:o,srid:i}=r,s=0;i?(n&&(s|=2147483648),o&&(s|=1073741824)):n&&o?s+=3e3:n?s+=1e3:o&&(s+=2e3),e.writeUInt32LE(s+t>>>0)}function j(e){let t=16;return e.hasZ&&(t+=8),e.hasM&&(t+=8),t}function D(e,t){let r=new h(0,!0),n={...Zt(5,0,0),hasZ:t?.hasZ,hasM:t?.hasM};return Re(r,e,n),r.arrayBuffer}function Re(e,t,r){switch(t.type){case"Point":return Nt(e,r,t);case"LineString":return vt(e,r,t);case"Polygon":return zt(e,r,t);case"MultiPoint":return _t(e,r,t);case"MultiLineString":return jt(e,r,t);case"MultiPolygon":return Dt(e,r,t);case"GeometryCollection":return $t(e,r,t);default:throw new Error("unsupported geometry type")}}function Nt(e,t,r){let n=r.coordinates.length===0||r[0]==="undefined"||r[1]==="undefined";if(B(e,t,f.Point,n),!n){let o=[0,0,0,0];P(e,t,r.coordinates,o)}}function vt(e,t,r){let n=r.coordinates,o=n.length===0;if(B(e,t,f.LineString,o),!o){e.writeVarInt(n.length);let i=[0,0,0,0];for(let s of n)P(e,t,s,i)}return e.arrayBuffer}function zt(e,t,r){let n=r.coordinates,o=n.length===0;if(B(e,t,f.Polygon,o),!o){e.writeVarInt(n.length);let i=[0,0,0,0];for(let s of n){e.writeVarInt(s.length);for(let c of s)P(e,t,i,c)}}return e.arrayBuffer}function _t(e,t,r){let n=r.coordinates,o=n.length===0;if(B(e,t,f.MultiPoint,o),!o){e.writeVarInt(n.length);let i=[0,0,0,0];for(let s=0;s<n.length;s++)P(e,t,i,n[s])}}function jt(e,t,r){let n=r.coordinates,o=n.length===0;if(B(e,t,f.MultiLineString,o),!o){e.writeVarInt(n.length);let i=[0,0,0,0];for(let s of n){e.writeVarInt(s.length);for(let c of s)P(e,t,i,c)}}return e.arrayBuffer}function Dt(e,t,r){let{coordinates:n}=r,o=n.length===0;if(B(e,t,f.MultiPolygon,o),!o){let i=n;e.writeVarInt(i.length);let s=[0,0,0,0];for(let c of i){e.writeVarInt(c.length);for(let a of c){e.writeVarInt(a.length);for(let u of a)P(e,t,s,u)}}}}function $t(e,t,r){let{geometries:n}=r,o=n.length===0;if(B(e,t,f.GeometryCollection,o),n.length>0){e.writeVarInt(n.length);for(let i of n)Re(e,i,t)}}function B(e,t,r,n){let o=(M(t.xy)<<4)+r,i=t.hasZ||t.hasM?1<<3:0;if(i+=n?1<<4:0,e.writeUInt8(o),e.writeUInt8(i),t.hasZ||t.hasM){let s=0;t.hasZ&&(s|=1),t.hasM&&(s|=2),e.writeUInt8(s)}}function P(e,t,r,n){let o=r[0]*t.xyFactor,i=r[1]*t.xyFactor,s=r[2]*t.zFactor,c=r[3]*t.mFactor;e.writeVarInt(M(o-n[0])),e.writeVarInt(M(i-n[1])),t.hasZ&&e.writeVarInt(M(s-n[2])),t.hasM&&e.writeVarInt(M(c-n[3])),n[0]=o,n[1]=i,n[2]=s,n[3]=c}function M(e){return e<<1^e>>31}function Zt(e,t,r){return{xy:e,z:t,m:r,xyFactor:Math.pow(10,e),zFactor:Math.pow(10,t),mFactor:Math.pow(10,r)}}function $(e,t){t?.debug&&console.log(`[wktcrs] parse starting with
8
+ `,e),e=e.replace(/[A-Z][A-Z\d_]+\[/gi,i=>`["${i.substr(0,i.length-1)}",`),e=e.replace(/, ?([A-Z][A-Z\d_]+[,\]])/gi,(i,s)=>{let c=s.substr(0,s.length-1);return`,"${t?.raw?"raw:":""}${c}"${s[s.length-1]}`}),t?.raw&&(e=e.replace(/, {0,2}(-?[\.\d]+)(?=,|\])/g,function(i,s){return`,"${t?.raw?"raw:":""}${s}"`})),t?.debug&&console.log(`[wktcrs] json'd wkt: '${e}'`);let r;try{r=JSON.parse(e)}catch(i){throw console.error(`[wktcrs] failed to parse '${e}'`),i}t?.debug&&console.log(`[wktcrs] json parsed: '${e}'`);function n(i,s){let c=i[0];i.forEach(function(u){Array.isArray(u)&&n(u,i)});let a=`MULTIPLE_${c}`;return a in s?s[a].push(i):c in s?(s[a]=[s[c],i],delete s[c]):s[c]=i,s}let o=n(r,[r]);return t?.debug&&console.log("[wktcrs] parse returning",o),t?.sort&&Ve(o,t),o}function Ve(e,t){let r=Object.keys(e).filter(o=>!/\d+/.test(o)),n=t?.keywords||[];if(!t?.keywords){let o={};if(Array.isArray(e)){e.forEach(i=>{if(Array.isArray(i)&&i.length>=2&&typeof i[1]=="string"){let s=i[0];o[s]||(o[s]=0),o[s]++}});for(let i in o)o[i]>0&&n.push(i)}}return r.forEach(o=>{e[o]=Ve(e[o])}),n.forEach(o=>{let i=[],s=[];e.forEach((c,a)=>{Array.isArray(c)&&c[0]===o&&(i.push(a),s.push(c))}),s.sort((c,a)=>(c=c[1].toString(),a=a[1].toString(),c<a?-1:c>a?1:0)),s.forEach((c,a)=>{e[i[a]]=c})}),e}function L(e,t){Array.isArray(e)&&e.length===1&&Array.isArray(e[0])&&(e=e[0]);let[r,...n]=e;return`${r}[${n.map(i=>{if(Array.isArray(i))return L(i,t);if(typeof i=="number")return i.toString();if(typeof i=="string")return i.startsWith("raw:")?i.replace("raw:",""):`"${i}"`;throw new Error(`[wktcrs] unexpected attribute "${i}"`)}).join(",")}]`}var Ne="0123456789abcdef",Ht=[],Z=[];for(let e=0;e<256;e++)Ht[e]=Ne[e>>4&15]+Ne[e&15],e<16&&(e<10?Z[48+e]=e:Z[97-10+e]=e);function ie(e){let t=e.length>>1,r=t<<1,n=new Uint8Array(t),o=0,i=0;for(;i<r;)n[o++]=Z[e.charCodeAt(i++)]<<4|Z[e.charCodeAt(i++)];return n}var p="4.4.0-alpha.9";var ve={dataType:null,batchType:null,name:"WKT CRS (Well-Known Text Coordinate Reference System)",id:"wkt-crs",module:"wkt-crs",version:p,worker:!0,extensions:[],mimeTypes:["text/plain"],category:"json",text:!0,options:{"wkt-crs":{}},parse:async(e,t)=>$(new TextDecoder().decode(e),t?.["wkt-crs"]),parseTextSync:(e,t)=>$(e,t?.["wkt-crs"])};var ze=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer;function H(e){if(e instanceof ArrayBuffer)return e;if(ze(e))return se(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:se(t,r,n)}function se(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}var _e={name:"WKT CRS (Well-Known Text Coordinate Reference System)",id:"wkt-crs",module:"wkt-crs",version:p,worker:!0,extensions:[],mimeTypes:["text/plain"],text:!0,options:{"wkt-crs":{}},encode:async(e,t)=>H(new TextEncoder().encode(L(e,t?.["wkt-crs"]))),encodeSync:(e,t)=>H(new TextEncoder().encode(L(e,t?.["wkt-crs"]))),encodeTextSync:(e,t)=>L(e,t?.["wkt-crs"])};var ce={dataType:null,batchType:null,name:"WKT (Well-Known Text)",id:"wkt",module:"wkt",version:p,worker:!0,extensions:["wkt"],mimeTypes:["text/plain"],category:"geometry",text:!0,tests:I,testText:R,options:{wkt:{shape:"geojson-geometry",crs:!0}}},je={...ce,parse:async(e,t)=>V(new TextDecoder().decode(e),t),parseTextSync:(e,t)=>V(e,t)};var $e={name:"WKT (Well Known Text)",id:"wkt",module:"wkt",version:p,extensions:["wkt"],mimeTypes:["application/wkt","text/plain"],text:!0,encode:async e=>De(e),encodeSync:De,encodeTextSync:A,options:{wkt:{}}};function De(e){let t=A(e);return new TextEncoder().encode(t).buffer}var ae={dataType:null,batchType:null,name:"WKB",id:"wkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["wkb"],mimeTypes:[],tests:[Q],options:{wkb:{shape:"geojson-geometry"}}},J={...ae,parse:async(e,t)=>Ze(e,t?.wkb),parseSync:(e,t)=>Ze(e,t?.wkb)};function Ze(e,t){let r=t?.shape||"geojson-geometry";switch(r){case"geojson-geometry":return E(e);default:throw new Error(r)}}var He={name:"WKB (Well Known Binary)",id:"wkb",module:"wkt",version:p,extensions:["wkb"],mimeTypes:["application/wkb","application/octet-stream"],options:{wkb:{hasZ:!1,hasM:!1}},async encode(e,t){return O(e)},encodeSync(e,t){return O(e)}};var Ye={dataType:null,batchType:null,name:"Hexadecimal WKB",id:"wkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["wkb"],mimeTypes:[],options:J.options,text:!0,testText:Jt,parse:async e=>Je(new TextDecoder().decode(e)),parseTextSync:Je};function Je(e,t){let r=ie(e);return E(r.buffer)}function Jt(e){return!e||e.length<10||e.length%2!==0||!e.startsWith("00")&&!e.startsWith("01")?!1:/^[0-9a-fA-F]+$/.test(e.slice(2))}var Yt={dataType:null,batchType:null,name:"TWKB (Tiny Well-Known Binary)",id:"twkb",module:"wkt",version:p,worker:!0,category:"geometry",extensions:["twkb"],mimeTypes:[],tests:[X],options:{wkb:{shape:"binary-geometry"}}},qe={...Yt,parse:async e=>z(e),parseSync:z};var Xe={name:"TWKB (Tiny Well Known Binary)",id:"twkb",module:"wkt",version:p,extensions:["twkb"],mimeTypes:["application/text"],encode:async(e,t)=>D(e,t?.twkb),encodeSync:(e,t)=>D(e,t?.twkb),options:{twkb:{hasZ:!1,hasM:!1}}};return ct(G);})();
9
9
  return __exports__;
10
10
  });
@@ -53,3 +53,4 @@ export function isHexWKB(string) {
53
53
  // check if the rest of the string is a valid hex
54
54
  return /^[0-9a-fA-F]+$/.test(string.slice(2));
55
55
  }
56
+ //# sourceMappingURL=hex-wkb-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex-wkb-loader.js","sourceRoot":"","sources":["../src/hex-wkb-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,oBAAoB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAItC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAA2B;IACrC,SAAS,EAAE,IAAa;IACxB,IAAI,EAAE,iBAAiB;IACvB,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,SAAS,CAAC,OAAO;IAC1B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,+DAA+D;IAC/D,KAAK,EAAE,KAAK,EAAE,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7F,aAAa,EAAE,WAAW;CAC+C,CAAC;AAE5E,SAAS,WAAW,CAAC,IAAY,EAAE,OAA6B;IAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;IACnF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAqB;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,+EAA+E;IAC/E,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iDAAiD;IACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
package/dist/index.cjs CHANGED
@@ -38,7 +38,7 @@ module.exports = __toCommonJS(dist_exports);
38
38
  var import_gis = require("@loaders.gl/gis");
39
39
 
40
40
  // dist/lib/version.js
41
- var VERSION = true ? "4.4.0-alpha.1" : "latest";
41
+ var VERSION = true ? "4.4.0-alpha.9" : "latest";
42
42
 
43
43
  // dist/wkt-crs-loader.js
44
44
  var WKTCRSLoader = {
@@ -61,6 +61,7 @@ var WKTCRSLoader = {
61
61
  };
62
62
 
63
63
  // dist/wkt-crs-writer.js
64
+ var import_loader_utils = require("@loaders.gl/loader-utils");
64
65
  var import_gis2 = require("@loaders.gl/gis");
65
66
  var WKTCRSWriter = {
66
67
  name: "WKT CRS (Well-Known Text Coordinate Reference System)",
@@ -75,8 +76,8 @@ var WKTCRSWriter = {
75
76
  options: {
76
77
  "wkt-crs": {}
77
78
  },
78
- encode: async (wktcrs, options) => new TextEncoder().encode((0, import_gis2.encodeWKTCRS)(wktcrs, options == null ? void 0 : options["wkt-crs"])),
79
- encodeSync: (wktcrs, options) => new TextEncoder().encode((0, import_gis2.encodeWKTCRS)(wktcrs, options == null ? void 0 : options["wkt-crs"])),
79
+ encode: async (wktcrs, options) => (0, import_loader_utils.ensureArrayBuffer)(new TextEncoder().encode((0, import_gis2.encodeWKTCRS)(wktcrs, options == null ? void 0 : options["wkt-crs"]))),
80
+ encodeSync: (wktcrs, options) => (0, import_loader_utils.ensureArrayBuffer)(new TextEncoder().encode((0, import_gis2.encodeWKTCRS)(wktcrs, options == null ? void 0 : options["wkt-crs"]))),
80
81
  encodeTextSync: (wktcrs, options) => (0, import_gis2.encodeWKTCRS)(wktcrs, options == null ? void 0 : options["wkt-crs"])
81
82
  };
82
83
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["index.js", "wkt-crs-loader.js", "lib/version.js", "wkt-crs-writer.js", "wkt-loader.js", "wkt-writer.js", "wkb-loader.js", "wkb-writer.js", "hex-wkb-loader.js", "twkb-loader.js", "twkb-writer.js"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport { WKTCRSLoader } from \"./wkt-crs-loader.js\";\nexport { WKTCRSWriter } from \"./wkt-crs-writer.js\";\nexport { WKTLoader, WKTWorkerLoader } from \"./wkt-loader.js\";\nexport { WKTWriter } from \"./wkt-writer.js\";\nexport { WKBLoader, WKBWorkerLoader } from \"./wkb-loader.js\";\nexport { WKBWriter } from \"./wkb-writer.js\";\nexport { HexWKBLoader } from \"./hex-wkb-loader.js\";\nexport { TWKBLoader } from \"./twkb-loader.js\";\nexport { TWKBWriter } from \"./twkb-writer.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseWKTCRS } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Well-Known text CRS loader\n * @see OGC Standard: https://www.ogc.org/standards/wkt-crs\n * @see Wikipedia Page: https://en.wikipedia.org/wiki/Well-known_text_representation_of_coordinate_reference_systems\n */\nexport const WKTCRSLoader = {\n dataType: null,\n batchType: null,\n name: 'WKT CRS (Well-Known Text Coordinate Reference System)',\n id: 'wkt-crs',\n module: 'wkt-crs',\n version: VERSION,\n worker: true,\n extensions: [],\n mimeTypes: ['text/plain'],\n category: 'json',\n text: true,\n options: {\n 'wkt-crs': {}\n },\n parse: async (arrayBuffer, options) => parseWKTCRS(new TextDecoder().decode(arrayBuffer), options?.['wkt-crs']),\n parseTextSync: (string, options) => parseWKTCRS(string, options?.['wkt-crs'])\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof \"4.4.0-alpha.1\" !== 'undefined' ? \"4.4.0-alpha.1\" : 'latest';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { encodeWKTCRS } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Well-Known text CRS loader\n * @see OGC Standard: https://www.ogc.org/standards/wkt-crs\n * @see Wikipedia Page: https://en.wikipedia.org/wiki/Well-known_text_representation_of_coordinate_reference_systems\n */\nexport const WKTCRSWriter = {\n name: 'WKT CRS (Well-Known Text Coordinate Reference System)',\n id: 'wkt-crs',\n module: 'wkt-crs',\n version: VERSION,\n worker: true,\n extensions: [],\n mimeTypes: ['text/plain'],\n // category: 'json',\n text: true,\n options: {\n 'wkt-crs': {}\n },\n encode: async (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),\n encodeSync: (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),\n encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.['wkt-crs'])\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { isWKT, WKT_MAGIC_STRINGS, convertWKTToGeometry } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Well-Known text worker loader\n */\nexport const WKTWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'WKT (Well-Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n worker: true,\n extensions: ['wkt'],\n mimeTypes: ['text/plain'],\n category: 'geometry',\n text: true,\n tests: WKT_MAGIC_STRINGS,\n testText: isWKT,\n options: {\n wkt: {\n shape: 'geojson-geometry',\n crs: true\n }\n }\n};\n/**\n * Well-Known text loader\n */\nexport const WKTLoader = {\n ...WKTWorkerLoader,\n parse: async (arrayBuffer, options) => convertWKTToGeometry(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (string, options) => convertWKTToGeometry(string, options)\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertGeometryToWKT } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * WKT exporter\n */\nexport const WKTWriter = {\n name: 'WKT (Well Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkt'],\n mimeTypes: ['application/wkt', 'text/plain'],\n text: true,\n encode: async (geometry) => convertGeometryToWKTSync(geometry),\n encodeSync: convertGeometryToWKTSync,\n encodeTextSync: convertGeometryToWKT,\n options: {\n wkt: {}\n }\n};\nfunction convertGeometryToWKTSync(geometry) {\n const wktString = convertGeometryToWKT(geometry);\n const wktTypedArray = new TextEncoder().encode(wktString);\n return wktTypedArray.buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertWKBToGeometry, isWKB } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const WKBWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n // TODO can we define static, serializable tests, eg. some binary strings?\n tests: [isWKB],\n options: {\n wkb: {\n shape: 'geojson-geometry'\n }\n }\n};\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const WKBLoader = {\n ...WKBWorkerLoader,\n parse: async (arrayBuffer, options) => parseWKB(arrayBuffer, options?.wkb),\n parseSync: (arrayBuffer, options) => parseWKB(arrayBuffer, options?.wkb)\n};\nexport function parseWKB(arrayBuffer, options) {\n const shape = options?.shape || 'geojson-geometry';\n switch (shape) {\n case 'geojson-geometry':\n return convertWKBToGeometry(arrayBuffer);\n default:\n throw new Error(shape);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertGeometryToWKB } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * WKB exporter\n */\nexport const WKBWriter = {\n name: 'WKB (Well Known Binary)',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkb'],\n mimeTypes: ['application/wkb', 'application/octet-stream'],\n options: {\n wkb: {\n hasZ: false,\n hasM: false\n }\n },\n async encode(data, options) {\n return convertGeometryToWKB(data); // , options?.wkb);\n },\n encodeSync(data, options) {\n return convertGeometryToWKB(data); // , options?.wkb);\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertWKBToGeometry, decodeHex } from '@loaders.gl/gis';\nimport { WKBLoader } from \"./wkb-loader.js\";\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Worker loader for Hex-encoded WKB (Well-Known Binary)\n */\nexport const HexWKBLoader = {\n dataType: null,\n batchType: null,\n name: 'Hexadecimal WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n options: WKBLoader.options,\n text: true,\n testText: isHexWKB,\n // TODO - encoding here seems wasteful - extend hex transcoder?\n parse: async (arrayBuffer) => parseHexWKB(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseHexWKB\n};\nfunction parseHexWKB(text, options) {\n const uint8Array = decodeHex(text);\n const binaryGeometry = convertWKBToGeometry(uint8Array.buffer); // , options?.wkb);\n return binaryGeometry;\n}\n/**\n * Check if string is a valid Well-known binary (WKB) in HEX format\n * https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry\n *\n * @param str input string\n * @returns true if string is a valid WKB in HEX format\n * @todo Avoid costly regex check\n */\nexport function isHexWKB(string) {\n if (!string) {\n return false;\n }\n // check if the length of the string is even and is at least 10 characters long\n if (string.length < 10 || string.length % 2 !== 0) {\n return false;\n }\n // check if first two characters are 00 or 01\n if (!string.startsWith('00') && !string.startsWith('01')) {\n return false;\n }\n // check if the rest of the string is a valid hex\n return /^[0-9a-fA-F]+$/.test(string.slice(2));\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertTWKBToGeometry, isTWKB } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const TWKBWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'TWKB (Tiny Well-Known Binary)',\n id: 'twkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['twkb'],\n mimeTypes: [],\n // TODO can we define static, serializable tests, eg. some binary strings?\n tests: [isTWKB],\n options: {\n wkb: {\n shape: 'binary-geometry' // 'geojson-geometry'\n }\n }\n};\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const TWKBLoader = {\n ...TWKBWorkerLoader,\n parse: async (arrayBuffer) => convertTWKBToGeometry(arrayBuffer),\n parseSync: convertTWKBToGeometry\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { convertGeometryToTWKB } from '@loaders.gl/gis';\nimport { VERSION } from \"./lib/version.js\";\n/**\n * WKB exporter\n */\nexport const TWKBWriter = {\n name: 'TWKB (Tiny Well Known Binary)',\n id: 'twkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['twkb'],\n mimeTypes: ['application/text'],\n encode: async (geometry, options) => convertGeometryToTWKB(geometry, options?.twkb),\n encodeSync: (geometry, options) => convertGeometryToTWKB(geometry, options?.twkb),\n options: {\n twkb: {\n hasZ: false,\n hasM: false\n }\n }\n};\n"],
5
- "mappings": "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",
3
+ "sources": ["../src/index.ts", "../src/wkt-crs-loader.ts", "../src/lib/version.ts", "../src/wkt-crs-writer.ts", "../src/wkt-loader.ts", "../src/wkt-writer.ts", "../src/wkb-loader.ts", "../src/wkb-writer.ts", "../src/hex-wkb-loader.ts", "../src/twkb-loader.ts", "../src/twkb-writer.ts"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {WKTCRSLoader} from './wkt-crs-loader';\nexport {WKTCRSWriter} from './wkt-crs-writer';\n\nexport {WKTLoader, WKTWorkerLoader} from './wkt-loader';\nexport {WKTWriter} from './wkt-writer';\n\nexport {WKBLoader, WKBWorkerLoader} from './wkb-loader';\nexport {WKBWriter} from './wkb-writer';\n\nexport {HexWKBLoader} from './hex-wkb-loader';\n\nexport {TWKBLoader} from './twkb-loader';\nexport {TWKBWriter} from './twkb-writer';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ParseWKTCRSOptions, WKTCRS} from '@loaders.gl/gis';\nimport {parseWKTCRS} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKTCRSLoaderOptions = LoaderOptions & {\n 'wkt-crs'?: ParseWKTCRSOptions;\n};\n\n/**\n * Well-Known text CRS loader\n * @see OGC Standard: https://www.ogc.org/standards/wkt-crs\n * @see Wikipedia Page: https://en.wikipedia.org/wiki/Well-known_text_representation_of_coordinate_reference_systems\n */\nexport const WKTCRSLoader = {\n dataType: null as unknown as WKTCRS,\n batchType: null as never,\n name: 'WKT CRS (Well-Known Text Coordinate Reference System)',\n id: 'wkt-crs',\n module: 'wkt-crs',\n version: VERSION,\n worker: true,\n extensions: [],\n mimeTypes: ['text/plain'],\n category: 'json',\n text: true,\n options: {\n 'wkt-crs': {}\n },\n parse: async (arrayBuffer, options) =>\n parseWKTCRS(new TextDecoder().decode(arrayBuffer), options?.['wkt-crs']),\n parseTextSync: (string, options) => parseWKTCRS(string, options?.['wkt-crs'])\n} as const satisfies LoaderWithParser<WKTCRS, never, WKTCRSLoaderOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n type WriterWithEncoder,\n type WriterOptions,\n ensureArrayBuffer\n} from '@loaders.gl/loader-utils';\nimport type {WKTCRS, EncodeWKTCRSOptions} from '@loaders.gl/gis';\nimport {encodeWKTCRS} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKTCRSWriterOptions = WriterOptions & {\n 'wkt-crs'?: EncodeWKTCRSOptions;\n};\n\n/**\n * Well-Known text CRS loader\n * @see OGC Standard: https://www.ogc.org/standards/wkt-crs\n * @see Wikipedia Page: https://en.wikipedia.org/wiki/Well-known_text_representation_of_coordinate_reference_systems\n */\nexport const WKTCRSWriter = {\n name: 'WKT CRS (Well-Known Text Coordinate Reference System)',\n id: 'wkt-crs',\n module: 'wkt-crs',\n version: VERSION,\n worker: true,\n extensions: [],\n mimeTypes: ['text/plain'],\n // category: 'json',\n text: true,\n options: {\n 'wkt-crs': {}\n },\n encode: async (wktcrs, options) =>\n ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),\n encodeSync: (wktcrs, options) =>\n ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),\n encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.['wkt-crs'])\n} as const satisfies WriterWithEncoder<WKTCRS, never, WKTCRSWriterOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {Geometry} from '@loaders.gl/schema';\nimport {isWKT, WKT_MAGIC_STRINGS, convertWKTToGeometry} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKTLoaderOptions = LoaderOptions & {\n /** Options for the WKTLoader */\n wkt?: {\n /** Shape of returned geometry */\n shape?: 'geojson-geometry'; // 'binary-geometry'\n /** Whether to add any CRS, if found, as undocumented CRS property on the returned geometry */\n crs?: boolean;\n /** Override the URL to the worker bundle (by default loads from unpkg.com) */\n workerUrl?: string;\n };\n};\n\n/**\n * Well-Known text worker loader\n */\nexport const WKTWorkerLoader = {\n dataType: null as unknown as Geometry,\n batchType: null as never,\n\n name: 'WKT (Well-Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n worker: true,\n extensions: ['wkt'],\n mimeTypes: ['text/plain'],\n category: 'geometry',\n text: true,\n tests: WKT_MAGIC_STRINGS,\n testText: isWKT,\n options: {\n wkt: {\n shape: 'geojson-geometry',\n crs: true\n }\n }\n} as const satisfies Loader<Geometry, never, WKTLoaderOptions>;\n\n/**\n * Well-Known text loader\n */\nexport const WKTLoader = {\n ...WKTWorkerLoader,\n parse: async (arrayBuffer, options?) =>\n convertWKTToGeometry(new TextDecoder().decode(arrayBuffer), options)!,\n parseTextSync: (string: string, options?) => convertWKTToGeometry(string, options)!\n} as const satisfies LoaderWithParser<Geometry, never, WKTLoaderOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Geometry} from '@loaders.gl/schema';\nimport {convertGeometryToWKT} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKTWriterOptions = WriterOptions & {\n wkt?: {};\n};\n\n/**\n * WKT exporter\n */\nexport const WKTWriter = {\n name: 'WKT (Well Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkt'],\n mimeTypes: ['application/wkt', 'text/plain'],\n text: true,\n encode: async (geometry: Geometry) => convertGeometryToWKTSync(geometry),\n encodeSync: convertGeometryToWKTSync,\n encodeTextSync: convertGeometryToWKT,\n options: {\n wkt: {}\n }\n} as const satisfies WriterWithEncoder<Geometry, never, WKTWriterOptions>;\n\nfunction convertGeometryToWKTSync(geometry: Geometry): ArrayBuffer {\n const wktString = convertGeometryToWKT(geometry);\n const wktTypedArray = new TextEncoder().encode(wktString);\n return wktTypedArray.buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {Geometry} from '@loaders.gl/schema';\nimport {convertWKBToGeometry, isWKB} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKBLoaderOptions = LoaderOptions & {\n wkb?: {\n /** Shape is deprecated, only geojson is supported */\n shape: 'geojson-geometry';\n };\n};\n\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const WKBWorkerLoader = {\n dataType: null as unknown as Geometry,\n batchType: null as never,\n name: 'WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n // TODO can we define static, serializable tests, eg. some binary strings?\n tests: [isWKB],\n options: {\n wkb: {\n shape: 'geojson-geometry'\n }\n }\n} as const satisfies Loader<Geometry, never, WKBLoaderOptions>;\n\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const WKBLoader = {\n ...WKBWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer, options?) => parseWKB(arrayBuffer, options?.wkb),\n parseSync: (arrayBuffer: ArrayBuffer, options?) => parseWKB(arrayBuffer, options?.wkb)\n} as const satisfies LoaderWithParser<Geometry, never, WKBLoaderOptions>;\n\nexport function parseWKB(\n arrayBuffer: ArrayBuffer,\n options?: {shape?: 'geojson-geometry'}\n): Geometry {\n const shape = options?.shape || 'geojson-geometry';\n switch (shape) {\n case 'geojson-geometry':\n return convertWKBToGeometry(arrayBuffer);\n default:\n throw new Error(shape);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Geometry, Feature} from '@loaders.gl/schema';\nimport {convertGeometryToWKB} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKBWriterOptions = WriterOptions & {\n wkb?: {\n /** Does the GeoJSON input have Z values? */\n hasZ?: boolean;\n\n /** Does the GeoJSON input have M values? */\n hasM?: boolean;\n\n /** Spatial reference for input GeoJSON */\n srid?: any;\n };\n};\n\n/**\n * WKB exporter\n */\nexport const WKBWriter = {\n name: 'WKB (Well Known Binary)',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkb'],\n mimeTypes: ['application/wkb', 'application/octet-stream'],\n options: {\n wkb: {\n hasZ: false,\n hasM: false\n }\n },\n async encode(data: Geometry | Feature, options?: WKBWriterOptions): Promise<ArrayBuffer> {\n return convertGeometryToWKB(data); // , options?.wkb);\n },\n encodeSync(data: Geometry | Feature, options?: WKBWriterOptions): ArrayBuffer {\n return convertGeometryToWKB(data); // , options?.wkb);\n }\n} as const satisfies WriterWithEncoder<Geometry | Feature, never, WKBWriterOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {Geometry} from '@loaders.gl/schema';\nimport {convertWKBToGeometry, decodeHex} from '@loaders.gl/gis';\n\nimport type {WKBLoaderOptions} from './wkb-loader';\nimport {WKBLoader} from './wkb-loader';\nimport {VERSION} from './lib/version';\n\nexport type HexWKBLoaderOptions = WKBLoaderOptions;\n\n/**\n * Worker loader for Hex-encoded WKB (Well-Known Binary)\n */\nexport const HexWKBLoader = {\n dataType: null as unknown as Geometry,\n batchType: null as never,\n name: 'Hexadecimal WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n options: WKBLoader.options,\n text: true,\n testText: isHexWKB,\n // TODO - encoding here seems wasteful - extend hex transcoder?\n parse: async (arrayBuffer: ArrayBuffer) => parseHexWKB(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseHexWKB\n} as const satisfies LoaderWithParser<Geometry, never, HexWKBLoaderOptions>;\n\nfunction parseHexWKB(text: string, options?: HexWKBLoaderOptions): Geometry {\n const uint8Array = decodeHex(text);\n const binaryGeometry = convertWKBToGeometry(uint8Array.buffer); // , options?.wkb);\n return binaryGeometry;\n}\n\n/**\n * Check if string is a valid Well-known binary (WKB) in HEX format\n * https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry\n *\n * @param str input string\n * @returns true if string is a valid WKB in HEX format\n * @todo Avoid costly regex check\n */\nexport function isHexWKB(string: string | null): boolean {\n if (!string) {\n return false;\n }\n // check if the length of the string is even and is at least 10 characters long\n if (string.length < 10 || string.length % 2 !== 0) {\n return false;\n }\n // check if first two characters are 00 or 01\n if (!string.startsWith('00') && !string.startsWith('01')) {\n return false;\n }\n // check if the rest of the string is a valid hex\n return /^[0-9a-fA-F]+$/.test(string.slice(2));\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {BinaryGeometry, Geometry} from '@loaders.gl/schema';\nimport {convertTWKBToGeometry, isTWKB} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type WKBLoaderOptions = LoaderOptions & {\n wkb?: {\n shape: 'geojson-geometry' | 'binary-geometry';\n };\n};\n\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const TWKBWorkerLoader = {\n dataType: null as unknown as Geometry,\n batchType: null as never,\n\n name: 'TWKB (Tiny Well-Known Binary)',\n id: 'twkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['twkb'],\n mimeTypes: [],\n // TODO can we define static, serializable tests, eg. some binary strings?\n tests: [isTWKB],\n options: {\n wkb: {\n shape: 'binary-geometry' // 'geojson-geometry'\n }\n }\n} as const satisfies Loader<Geometry, never, WKBLoaderOptions>;\n\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const TWKBLoader = {\n ...TWKBWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer) => convertTWKBToGeometry(arrayBuffer),\n parseSync: convertTWKBToGeometry\n} as const satisfies LoaderWithParser<BinaryGeometry | Geometry, never, WKBLoaderOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Geometry} from '@loaders.gl/schema';\nimport {convertGeometryToTWKB} from '@loaders.gl/gis';\nimport {VERSION} from './lib/version';\n\nexport type TWKBWriterOptions = WriterOptions & {\n twkb?: {\n hasZ?: boolean;\n hasM?: boolean;\n };\n};\n\n/**\n * WKB exporter\n */\nexport const TWKBWriter = {\n name: 'TWKB (Tiny Well Known Binary)',\n id: 'twkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['twkb'],\n mimeTypes: ['application/text'],\n encode: async (geometry: Geometry, options?: TWKBWriterOptions) =>\n convertGeometryToTWKB(geometry, options?.twkb),\n encodeSync: (geometry: Geometry, options?: TWKBWriterOptions) =>\n convertGeometryToTWKB(geometry, options?.twkb),\n options: {\n twkb: {\n hasZ: false,\n hasM: false\n }\n }\n} as const satisfies WriterWithEncoder<Geometry, never, TWKBWriterOptions>;\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_gis", "import_gis", "import_gis", "import_gis", "import_gis", "import_gis", "import_gis", "import_gis"]
7
7
  }
package/dist/index.js CHANGED
@@ -10,3 +10,4 @@ export { WKBWriter } from "./wkb-writer.js";
10
10
  export { HexWKBLoader } from "./hex-wkb-loader.js";
11
11
  export { TWKBLoader } from "./twkb-loader.js";
12
12
  export { TWKBWriter } from "./twkb-writer.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,wBAAqB;AACxD,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAEvC,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,wBAAqB;AACxD,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAEvC,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,OAAO,EAAC,UAAU,EAAC,yBAAsB;AACzC,OAAO,EAAC,UAAU,EAAC,yBAAsB"}
@@ -4,4 +4,5 @@
4
4
  // Version constant cannot be imported, it needs to correspond to the build version of **this** module.
5
5
  // __VERSION__ is injected by babel-plugin-version-inline
6
6
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
7
- export const VERSION = typeof "4.4.0-alpha.1" !== 'undefined' ? "4.4.0-alpha.1" : 'latest';
7
+ export const VERSION = typeof "4.4.0-alpha.9" !== 'undefined' ? "4.4.0-alpha.9" : 'latest';
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,uGAAuG;AACvG,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,sBAAkB,KAAK,WAAW,CAAC,CAAC,iBAAa,CAAC,CAAC,QAAQ,CAAC"}
@@ -33,3 +33,4 @@ export const TWKBLoader = {
33
33
  parse: async (arrayBuffer) => convertTWKBToGeometry(arrayBuffer),
34
34
  parseSync: convertTWKBToGeometry
35
35
  };
36
+ //# sourceMappingURL=twkb-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twkb-loader.js","sourceRoot":"","sources":["../src/twkb-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,qBAAqB,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAQtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,IAA2B;IACrC,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,+BAA+B;IACrC,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,SAAS,EAAE,EAAE;IACb,0EAA0E;IAC1E,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,iBAAiB,CAAC,qBAAqB;SAC/C;KACF;CAC2D,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,gBAAgB;IACnB,KAAK,EAAE,KAAK,EAAE,WAAwB,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC;IAC7E,SAAS,EAAE,qBAAqB;CACuD,CAAC"}
@@ -22,3 +22,4 @@ export const TWKBWriter = {
22
22
  }
23
23
  }
24
24
  };
25
+ //# sourceMappingURL=twkb-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twkb-writer.js","sourceRoot":"","sources":["../src/twkb-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAStC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,+BAA+B;IACrC,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,kBAAkB,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,QAAkB,EAAE,OAA2B,EAAE,EAAE,CAChE,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;IAChD,UAAU,EAAE,CAAC,QAAkB,EAAE,OAA2B,EAAE,EAAE,CAC9D,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;IAChD,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;KACF;CACuE,CAAC"}
@@ -42,3 +42,4 @@ export function parseWKB(arrayBuffer, options) {
42
42
  throw new Error(shape);
43
43
  }
44
44
  }
45
+ //# sourceMappingURL=wkb-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-loader.js","sourceRoot":"","sources":["../src/wkb-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,oBAAoB,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAStC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,IAA2B;IACrC,SAAS,EAAE,IAAa;IACxB,IAAI,EAAE,KAAK;IACX,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,EAAE;IACb,0EAA0E;IAC1E,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,OAAO,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,kBAAkB;SAC1B;KACF;CAC2D,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,eAAe;IAClB,KAAK,EAAE,KAAK,EAAE,WAAwB,EAAE,OAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;IACxF,SAAS,EAAE,CAAC,WAAwB,EAAE,OAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;CAChB,CAAC;AAEzE,MAAM,UAAU,QAAQ,CACtB,WAAwB,EACxB,OAAsC;IAEtC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,kBAAkB,CAAC;IACnD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,kBAAkB;YACrB,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC3C;YACE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -26,3 +26,4 @@ export const WKBWriter = {
26
26
  return convertGeometryToWKB(data); // , options?.wkb);
27
27
  }
28
28
  };
29
+ //# sourceMappingURL=wkb-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-writer.js","sourceRoot":"","sources":["../src/wkb-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAetC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,yBAAyB;IAC/B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IAC1D,OAAO,EAAE;QACP,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;KACF;IACD,KAAK,CAAC,MAAM,CAAC,IAAwB,EAAE,OAA0B;QAC/D,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;IACxD,CAAC;IACD,UAAU,CAAC,IAAwB,EAAE,OAA0B;QAC7D,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;IACxD,CAAC;CACgF,CAAC"}
@@ -26,3 +26,4 @@ export const WKTCRSLoader = {
26
26
  parse: async (arrayBuffer, options) => parseWKTCRS(new TextDecoder().decode(arrayBuffer), options?.['wkt-crs']),
27
27
  parseTextSync: (string, options) => parseWKTCRS(string, options?.['wkt-crs'])
28
28
  };
29
+ //# sourceMappingURL=wkt-crs-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-crs-loader.js","sourceRoot":"","sources":["../src/wkt-crs-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAMtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAAyB;IACnC,SAAS,EAAE,IAAa;IACxB,IAAI,EAAE,uDAAuD;IAC7D,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE;QACP,SAAS,EAAE,EAAE;KACd;IACD,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACpC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1E,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;CACN,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { WriterOptions } from '@loaders.gl/loader-utils';
1
+ import { type WriterOptions } from '@loaders.gl/loader-utils';
2
2
  import type { EncodeWKTCRSOptions } from '@loaders.gl/gis';
3
3
  export type WKTCRSWriterOptions = WriterOptions & {
4
4
  'wkt-crs'?: EncodeWKTCRSOptions;
@@ -20,8 +20,8 @@ export declare const WKTCRSWriter: {
20
20
  readonly options: {
21
21
  readonly 'wkt-crs': {};
22
22
  };
23
- readonly encode: (wktcrs: any, options: WKTCRSWriterOptions | undefined) => Promise<Uint8Array>;
24
- readonly encodeSync: (wktcrs: any, options: WKTCRSWriterOptions | undefined) => Uint8Array;
23
+ readonly encode: (wktcrs: any, options: WKTCRSWriterOptions | undefined) => Promise<ArrayBuffer>;
24
+ readonly encodeSync: (wktcrs: any, options: WKTCRSWriterOptions | undefined) => ArrayBuffer;
25
25
  readonly encodeTextSync: (wktcrs: any, options: WKTCRSWriterOptions | undefined) => string;
26
26
  };
27
27
  //# sourceMappingURL=wkt-crs-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wkt-crs-writer.d.ts","sourceRoot":"","sources":["../src/wkt-crs-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAS,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIjE,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAkBiD,CAAC"}
1
+ {"version":3,"file":"wkt-crs-writer.d.ts","sourceRoot":"","sources":["../src/wkt-crs-writer.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAS,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIjE,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAkBiD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ import { ensureArrayBuffer } from '@loaders.gl/loader-utils';
4
5
  import { encodeWKTCRS } from '@loaders.gl/gis';
5
6
  import { VERSION } from "./lib/version.js";
6
7
  /**
@@ -21,7 +22,8 @@ export const WKTCRSWriter = {
21
22
  options: {
22
23
  'wkt-crs': {}
23
24
  },
24
- encode: async (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),
25
- encodeSync: (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),
25
+ encode: async (wktcrs, options) => ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),
26
+ encodeSync: (wktcrs, options) => ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),
26
27
  encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.['wkt-crs'])
27
28
  };
29
+ //# sourceMappingURL=wkt-crs-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-crs-writer.js","sourceRoot":"","sources":["../src/wkt-crs-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAGL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAMtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,uDAAuD;IAC7D,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,oBAAoB;IACpB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE;QACP,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAChC,iBAAiB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzF,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAC9B,iBAAiB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzF,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;CACP,CAAC"}
@@ -35,3 +35,4 @@ export const WKTLoader = {
35
35
  parse: async (arrayBuffer, options) => convertWKTToGeometry(new TextDecoder().decode(arrayBuffer), options),
36
36
  parseTextSync: (string, options) => convertWKTToGeometry(string, options)
37
37
  };
38
+ //# sourceMappingURL=wkt-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-loader.js","sourceRoot":"","sources":["../src/wkt-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAC,OAAO,EAAC,yBAAsB;AActC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,IAA2B;IACrC,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,uBAAuB;IAC7B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,kBAAkB;YACzB,GAAG,EAAE,IAAI;SACV;KACF;CAC2D,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,eAAe;IAClB,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAQ,EAAE,EAAE,CACrC,oBAAoB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAE;IACvE,aAAa,EAAE,CAAC,MAAc,EAAE,OAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAE;CACb,CAAC"}
@@ -194,7 +194,10 @@
194
194
  options = {
195
195
  ...options,
196
196
  modules: loader && loader.options && loader.options.modules || {},
197
- worker: false
197
+ core: {
198
+ ...options.core,
199
+ worker: false
200
+ }
198
201
  };
199
202
  return await parser(data, { ...options }, context, loader);
200
203
  }
@@ -454,7 +457,7 @@
454
457
  }
455
458
 
456
459
  // src/lib/version.ts
457
- var VERSION = true ? "4.4.0-alpha.1" : "latest";
460
+ var VERSION = true ? "4.4.0-alpha.9" : "latest";
458
461
 
459
462
  // src/wkt-loader.ts
460
463
  var WKTWorkerLoader = {
@@ -26,3 +26,4 @@ function convertGeometryToWKTSync(geometry) {
26
26
  const wktTypedArray = new TextEncoder().encode(wktString);
27
27
  return wktTypedArray.buffer;
28
28
  }
29
+ //# sourceMappingURL=wkt-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-writer.js","sourceRoot":"","sources":["../src/wkt-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAC,yBAAsB;AAMtC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,uBAAuB;IAC7B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC5C,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK,EAAE,QAAkB,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IACxE,UAAU,EAAE,wBAAwB;IACpC,cAAc,EAAE,oBAAoB;IACpC,OAAO,EAAE;QACP,GAAG,EAAE,EAAE;KACR;CACsE,CAAC;AAE1E,SAAS,wBAAwB,CAAC,QAAkB;IAClD,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,MAAM,CAAC;AAC9B,CAAC"}
@@ -4,3 +4,4 @@
4
4
  import { createLoaderWorker } from '@loaders.gl/loader-utils';
5
5
  import { WKBLoader } from "../wkb-loader.js";
6
6
  createLoaderWorker(WKBLoader);
7
+ //# sourceMappingURL=wkb-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-worker.js","sourceRoot":"","sources":["../../src/workers/wkb-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAC,yBAAsB;AAExC,kBAAkB,CAAC,SAAS,CAAC,CAAC"}
@@ -4,3 +4,4 @@
4
4
  import { createLoaderWorker } from '@loaders.gl/loader-utils';
5
5
  import { WKTLoader } from "../wkt-loader.js";
6
6
  createLoaderWorker(WKTLoader);
7
+ //# sourceMappingURL=wkt-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-worker.js","sourceRoot":"","sources":["../../src/workers/wkt-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAC,yBAAsB;AAExC,kBAAkB,CAAC,SAAS,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loaders.gl/wkt",
3
3
  "description": "Loader and Writer for the WKT (Well Known Text) Format",
4
- "version": "4.4.0-alpha.2",
4
+ "version": "4.4.0-alpha.9",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "publishConfig": {
@@ -26,6 +26,9 @@
26
26
  "types": "./dist/index.d.ts",
27
27
  "import": "./dist/index.js",
28
28
  "require": "./dist/index.cjs"
29
+ },
30
+ "./wkt-worker.js": {
31
+ "import": "./dist/wkt-worker.js"
29
32
  }
30
33
  },
31
34
  "sideEffects": false,
@@ -44,12 +47,12 @@
44
47
  "fuzzer": "^0.2.1"
45
48
  },
46
49
  "dependencies": {
47
- "@loaders.gl/gis": "4.4.0-alpha.2",
48
- "@loaders.gl/loader-utils": "4.4.0-alpha.2",
49
- "@loaders.gl/schema": "4.4.0-alpha.2"
50
+ "@loaders.gl/gis": "4.4.0-alpha.9",
51
+ "@loaders.gl/loader-utils": "4.4.0-alpha.9",
52
+ "@loaders.gl/schema": "4.4.0-alpha.9"
50
53
  },
51
54
  "peerDependencies": {
52
55
  "@loaders.gl/core": "4.4.0-alpha.1"
53
56
  },
54
- "gitHead": "3d9fed050eabdc0812ddf2f4d5fb9914a34ee0c2"
57
+ "gitHead": "e9e6710379718c7663e97eba868c76e15de4cb84"
55
58
  }
@@ -2,7 +2,11 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';
5
+ import {
6
+ type WriterWithEncoder,
7
+ type WriterOptions,
8
+ ensureArrayBuffer
9
+ } from '@loaders.gl/loader-utils';
6
10
  import type {WKTCRS, EncodeWKTCRSOptions} from '@loaders.gl/gis';
7
11
  import {encodeWKTCRS} from '@loaders.gl/gis';
8
12
  import {VERSION} from './lib/version';
@@ -30,8 +34,8 @@ export const WKTCRSWriter = {
30
34
  'wkt-crs': {}
31
35
  },
32
36
  encode: async (wktcrs, options) =>
33
- new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),
37
+ ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),
34
38
  encodeSync: (wktcrs, options) =>
35
- new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs'])),
39
+ ensureArrayBuffer(new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.['wkt-crs']))),
36
40
  encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.['wkt-crs'])
37
41
  } as const satisfies WriterWithEncoder<WKTCRS, never, WKTCRSWriterOptions>;