@loaders.gl/wkt 4.0.0-alpha.5 → 4.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/dist.min.js +9 -3
  3. package/dist/es5/bundle.js +6 -0
  4. package/dist/es5/bundle.js.map +1 -0
  5. package/dist/es5/index.js +46 -0
  6. package/dist/es5/index.js.map +1 -0
  7. package/dist/es5/lib/encode-wkb.js +373 -0
  8. package/dist/es5/lib/encode-wkb.js.map +1 -0
  9. package/dist/es5/lib/encode-wkt.js +45 -0
  10. package/dist/es5/lib/encode-wkt.js.map +1 -0
  11. package/dist/es5/lib/parse-wkb.js +290 -0
  12. package/dist/es5/lib/parse-wkb.js.map +1 -0
  13. package/dist/es5/lib/parse-wkt.js +176 -0
  14. package/dist/es5/lib/parse-wkt.js.map +1 -0
  15. package/dist/es5/lib/utils/binary-writer.js +161 -0
  16. package/dist/es5/lib/utils/binary-writer.js.map +1 -0
  17. package/dist/es5/lib/utils/version.js +9 -0
  18. package/dist/es5/lib/utils/version.js.map +1 -0
  19. package/dist/es5/wkb-loader.js +54 -0
  20. package/dist/es5/wkb-loader.js.map +1 -0
  21. package/dist/es5/wkb-writer.js +25 -0
  22. package/dist/es5/wkb-writer.js.map +1 -0
  23. package/dist/es5/wkt-loader.js +51 -0
  24. package/dist/es5/wkt-loader.js.map +1 -0
  25. package/dist/es5/wkt-writer.js +22 -0
  26. package/dist/es5/wkt-writer.js.map +1 -0
  27. package/dist/es5/workers/wkb-worker.js +6 -0
  28. package/dist/es5/workers/wkb-worker.js.map +1 -0
  29. package/dist/es5/workers/wkt-worker.js +6 -0
  30. package/dist/es5/workers/wkt-worker.js.map +1 -0
  31. package/dist/esm/bundle.js +4 -0
  32. package/dist/esm/bundle.js.map +1 -0
  33. package/dist/esm/index.js +5 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/esm/lib/encode-wkb.js +252 -0
  36. package/dist/esm/lib/encode-wkb.js.map +1 -0
  37. package/dist/esm/lib/encode-wkt.js +39 -0
  38. package/dist/esm/lib/encode-wkt.js.map +1 -0
  39. package/dist/esm/lib/parse-wkb.js +255 -0
  40. package/dist/esm/lib/parse-wkb.js.map +1 -0
  41. package/dist/esm/lib/parse-wkt.js +170 -0
  42. package/dist/esm/lib/parse-wkt.js.map +1 -0
  43. package/dist/esm/lib/utils/binary-writer.js +114 -0
  44. package/dist/esm/lib/utils/binary-writer.js.map +1 -0
  45. package/dist/esm/lib/utils/version.js +2 -0
  46. package/dist/esm/lib/utils/version.js.map +1 -0
  47. package/dist/esm/wkb-loader.js +23 -0
  48. package/dist/esm/wkb-loader.js.map +1 -0
  49. package/dist/esm/wkb-writer.js +17 -0
  50. package/dist/esm/wkb-writer.js.map +1 -0
  51. package/dist/esm/wkt-loader.js +22 -0
  52. package/dist/esm/wkt-loader.js.map +1 -0
  53. package/dist/esm/wkt-writer.js +14 -0
  54. package/dist/esm/wkt-writer.js.map +1 -0
  55. package/dist/esm/workers/wkb-worker.js +4 -0
  56. package/dist/esm/workers/wkb-worker.js.map +1 -0
  57. package/dist/esm/workers/wkt-worker.js +4 -0
  58. package/dist/esm/workers/wkt-worker.js.map +1 -0
  59. package/dist/index.js +13 -5
  60. package/dist/lib/encode-wkb.d.ts +6 -1
  61. package/dist/lib/encode-wkb.d.ts.map +1 -1
  62. package/dist/lib/encode-wkb.js +250 -278
  63. package/dist/lib/encode-wkt.js +35 -41
  64. package/dist/lib/parse-wkb.js +208 -276
  65. package/dist/lib/parse-wkt.js +218 -189
  66. package/dist/lib/utils/binary-writer.js +117 -150
  67. package/dist/lib/utils/version.js +7 -2
  68. package/dist/wkb-loader.js +32 -20
  69. package/dist/wkb-writer.d.ts +1 -1
  70. package/dist/wkb-writer.d.ts.map +1 -1
  71. package/dist/wkb-writer.js +25 -13
  72. package/dist/wkt-loader.js +31 -19
  73. package/dist/wkt-worker.js +48 -16
  74. package/dist/wkt-writer.js +22 -13
  75. package/dist/workers/wkb-worker.js +5 -4
  76. package/dist/workers/wkt-worker.js +5 -4
  77. package/package.json +6 -6
  78. package/src/lib/encode-wkb.ts +12 -1
  79. package/src/wkb-writer.ts +6 -3
  80. package/dist/bundle.js.map +0 -1
  81. package/dist/index.js.map +0 -1
  82. package/dist/lib/encode-wkb.js.map +0 -1
  83. package/dist/lib/encode-wkt.js.map +0 -1
  84. package/dist/lib/parse-wkb.js.map +0 -1
  85. package/dist/lib/parse-wkt.js.map +0 -1
  86. package/dist/lib/utils/binary-writer.js.map +0 -1
  87. package/dist/lib/utils/version.js.map +0 -1
  88. package/dist/wkb-loader.js.map +0 -1
  89. package/dist/wkb-writer.js.map +0 -1
  90. package/dist/wkt-loader.js.map +0 -1
  91. package/dist/wkt-writer.js.map +0 -1
  92. package/dist/workers/wkb-worker.js.map +0 -1
  93. package/dist/workers/wkt-worker.js.map +0 -1
@@ -0,0 +1,170 @@
1
+ const numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;
2
+ const tuples = new RegExp('^' + numberRegexp.source + '(\\s' + numberRegexp.source + '){1,}');
3
+ export default function parseWKT(input) {
4
+ const parts = input.split(';');
5
+ let _ = parts.pop();
6
+ const srid = (parts.shift() || '').split('=').pop();
7
+ let i = 0;
8
+ function $(re) {
9
+ const match = _.substring(i).match(re);
10
+ if (!match) return null;else {
11
+ i += match[0].length;
12
+ return match[0];
13
+ }
14
+ }
15
+ function crs(obj) {
16
+ if (obj && srid.match(/\d+/)) {
17
+ obj.crs = {
18
+ type: 'name',
19
+ properties: {
20
+ name: 'urn:ogc:def:crs:EPSG::' + srid
21
+ }
22
+ };
23
+ }
24
+ return obj;
25
+ }
26
+ function white() {
27
+ $(/^\s*/);
28
+ }
29
+ function multicoords() {
30
+ white();
31
+ let depth = 0;
32
+ const rings = [];
33
+ const stack = [rings];
34
+ let pointer = rings;
35
+ let elem;
36
+ while (elem = $(/^(\()/) || $(/^(\))/) || $(/^(,)/) || $(tuples)) {
37
+ if (elem === '(') {
38
+ stack.push(pointer);
39
+ pointer = [];
40
+ stack[stack.length - 1].push(pointer);
41
+ depth++;
42
+ } else if (elem === ')') {
43
+ if (pointer.length === 0) return null;
44
+ pointer = stack.pop();
45
+ if (!pointer) return null;
46
+ depth--;
47
+ if (depth === 0) break;
48
+ } else if (elem === ',') {
49
+ pointer = [];
50
+ stack[stack.length - 1].push(pointer);
51
+ } else if (!elem.split(/\s/g).some(isNaN)) {
52
+ Array.prototype.push.apply(pointer, elem.split(/\s/g).map(parseFloat));
53
+ } else {
54
+ return null;
55
+ }
56
+ white();
57
+ }
58
+ if (depth !== 0) return null;
59
+ return rings;
60
+ }
61
+ function coords() {
62
+ const list = [];
63
+ let item;
64
+ let pt;
65
+ while (pt = $(tuples) || $(/^(,)/)) {
66
+ if (pt === ',') {
67
+ list.push(item);
68
+ item = [];
69
+ } else if (!pt.split(/\s/g).some(isNaN)) {
70
+ if (!item) item = [];
71
+ Array.prototype.push.apply(item, pt.split(/\s/g).map(parseFloat));
72
+ }
73
+ white();
74
+ }
75
+ if (item) list.push(item);else return null;
76
+ return list.length ? list : null;
77
+ }
78
+ function point() {
79
+ if (!$(/^(point(\sz)?)/i)) return null;
80
+ white();
81
+ if (!$(/^(\()/)) return null;
82
+ const c = coords();
83
+ if (!c) return null;
84
+ white();
85
+ if (!$(/^(\))/)) return null;
86
+ return {
87
+ type: 'Point',
88
+ coordinates: c[0]
89
+ };
90
+ }
91
+ function multipoint() {
92
+ if (!$(/^(multipoint)/i)) return null;
93
+ white();
94
+ const newCoordsFormat = _.substring(_.indexOf('(') + 1, _.length - 1).replace(/\(/g, '').replace(/\)/g, '');
95
+ _ = 'MULTIPOINT (' + newCoordsFormat + ')';
96
+ const c = multicoords();
97
+ if (!c) return null;
98
+ white();
99
+ return {
100
+ type: 'MultiPoint',
101
+ coordinates: c
102
+ };
103
+ }
104
+ function multilinestring() {
105
+ if (!$(/^(multilinestring)/i)) return null;
106
+ white();
107
+ const c = multicoords();
108
+ if (!c) return null;
109
+ white();
110
+ return {
111
+ type: 'MultiLineString',
112
+ coordinates: c
113
+ };
114
+ }
115
+ function linestring() {
116
+ if (!$(/^(linestring(\sz)?)/i)) return null;
117
+ white();
118
+ if (!$(/^(\()/)) return null;
119
+ const c = coords();
120
+ if (!c) return null;
121
+ if (!$(/^(\))/)) return null;
122
+ return {
123
+ type: 'LineString',
124
+ coordinates: c
125
+ };
126
+ }
127
+ function polygon() {
128
+ if (!$(/^(polygon(\sz)?)/i)) return null;
129
+ white();
130
+ const c = multicoords();
131
+ if (!c) return null;
132
+ return {
133
+ type: 'Polygon',
134
+ coordinates: c
135
+ };
136
+ }
137
+ function multipolygon() {
138
+ if (!$(/^(multipolygon)/i)) return null;
139
+ white();
140
+ const c = multicoords();
141
+ if (!c) return null;
142
+ return {
143
+ type: 'MultiPolygon',
144
+ coordinates: c
145
+ };
146
+ }
147
+ function geometrycollection() {
148
+ const geometries = [];
149
+ let geometry;
150
+ if (!$(/^(geometrycollection)/i)) return null;
151
+ white();
152
+ if (!$(/^(\()/)) return null;
153
+ while (geometry = root()) {
154
+ geometries.push(geometry);
155
+ white();
156
+ $(/^(,)/);
157
+ white();
158
+ }
159
+ if (!$(/^(\))/)) return null;
160
+ return {
161
+ type: 'GeometryCollection',
162
+ geometries: geometries
163
+ };
164
+ }
165
+ function root() {
166
+ return point() || linestring() || polygon() || multipoint() || multilinestring() || multipolygon() || geometrycollection();
167
+ }
168
+ return crs(root());
169
+ }
170
+ //# sourceMappingURL=parse-wkt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-wkt.js","names":["numberRegexp","tuples","RegExp","source","parseWKT","input","parts","split","_","pop","srid","shift","i","$","re","match","substring","length","crs","obj","type","properties","name","white","multicoords","depth","rings","stack","pointer","elem","push","some","isNaN","Array","prototype","apply","map","parseFloat","coords","list","item","pt","point","c","coordinates","multipoint","newCoordsFormat","indexOf","replace","multilinestring","linestring","polygon","multipolygon","geometrycollection","geometries","geometry","root"],"sources":["../../../src/lib/parse-wkt.ts"],"sourcesContent":["// Fork of https://github.com/mapbox/wellknown under ISC license (MIT/BSD-2-clause equivalent)\n\n/* eslint-disable */\n// @ts-nocheck\n\nconst numberRegexp = /[-+]?([0-9]*\\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;\n// Matches sequences like '100 100' or '100 100 100'.\nconst tuples = new RegExp('^' + numberRegexp.source + '(\\\\s' + numberRegexp.source + '){1,}');\n\n/**\n * Parse WKT and return GeoJSON.\n *\n * @param {string} _ A WKT geometry\n * @return {?Object} A GeoJSON geometry object\n **/\nexport default function parseWKT(input) {\n const parts = input.split(';');\n let _ = parts.pop();\n const srid = (parts.shift() || '').split('=').pop();\n\n let i = 0;\n\n function $(re) {\n const match = _.substring(i).match(re);\n if (!match) return null;\n else {\n i += match[0].length;\n return match[0];\n }\n }\n\n function crs(obj) {\n if (obj && srid.match(/\\d+/)) {\n obj.crs = {\n type: 'name',\n properties: {\n name: 'urn:ogc:def:crs:EPSG::' + srid\n }\n };\n }\n\n return obj;\n }\n\n function white() {\n $(/^\\s*/);\n }\n\n function multicoords() {\n white();\n let depth = 0;\n const rings = [];\n const stack = [rings];\n let pointer = rings;\n let elem;\n\n while ((elem = $(/^(\\()/) || $(/^(\\))/) || $(/^(,)/) || $(tuples))) {\n if (elem === '(') {\n stack.push(pointer);\n pointer = [];\n stack[stack.length - 1].push(pointer);\n depth++;\n } else if (elem === ')') {\n // For the case: Polygon(), ...\n if (pointer.length === 0) return null;\n\n // @ts-ignore\n pointer = stack.pop();\n // the stack was empty, input was malformed\n if (!pointer) return null;\n depth--;\n if (depth === 0) break;\n } else if (elem === ',') {\n pointer = [];\n stack[stack.length - 1].push(pointer);\n } else if (!elem.split(/\\s/g).some(isNaN)) {\n Array.prototype.push.apply(pointer, elem.split(/\\s/g).map(parseFloat));\n } else {\n return null;\n }\n white();\n }\n\n if (depth !== 0) return null;\n\n return rings;\n }\n\n function coords() {\n const list = [];\n let item;\n let pt;\n while ((pt = $(tuples) || $(/^(,)/))) {\n if (pt === ',') {\n list.push(item);\n item = [];\n } else if (!pt.split(/\\s/g).some(isNaN)) {\n if (!item) item = [];\n Array.prototype.push.apply(item, pt.split(/\\s/g).map(parseFloat));\n }\n white();\n }\n\n if (item) list.push(item);\n else return null;\n\n return list.length ? list : null;\n }\n\n function point() {\n if (!$(/^(point(\\sz)?)/i)) return null;\n white();\n if (!$(/^(\\()/)) return null;\n const c = coords();\n if (!c) return null;\n white();\n if (!$(/^(\\))/)) return null;\n return {\n type: 'Point',\n coordinates: c[0]\n };\n }\n\n function multipoint() {\n if (!$(/^(multipoint)/i)) return null;\n white();\n const newCoordsFormat = _.substring(_.indexOf('(') + 1, _.length - 1)\n .replace(/\\(/g, '')\n .replace(/\\)/g, '');\n _ = 'MULTIPOINT (' + newCoordsFormat + ')';\n const c = multicoords();\n if (!c) return null;\n white();\n return {\n type: 'MultiPoint',\n coordinates: c\n };\n }\n\n function multilinestring() {\n if (!$(/^(multilinestring)/i)) return null;\n white();\n const c = multicoords();\n if (!c) return null;\n white();\n return {\n type: 'MultiLineString',\n coordinates: c\n };\n }\n\n function linestring() {\n if (!$(/^(linestring(\\sz)?)/i)) return null;\n white();\n if (!$(/^(\\()/)) return null;\n const c = coords();\n if (!c) return null;\n if (!$(/^(\\))/)) return null;\n return {\n type: 'LineString',\n coordinates: c\n };\n }\n\n function polygon() {\n if (!$(/^(polygon(\\sz)?)/i)) return null;\n white();\n const c = multicoords();\n if (!c) return null;\n return {\n type: 'Polygon',\n coordinates: c\n };\n }\n\n function multipolygon() {\n if (!$(/^(multipolygon)/i)) return null;\n white();\n const c = multicoords();\n if (!c) return null;\n return {\n type: 'MultiPolygon',\n coordinates: c\n };\n }\n\n function geometrycollection() {\n const geometries = [];\n let geometry;\n\n if (!$(/^(geometrycollection)/i)) return null;\n white();\n\n if (!$(/^(\\()/)) return null;\n while ((geometry = root())) {\n geometries.push(geometry);\n white();\n $(/^(,)/);\n white();\n }\n if (!$(/^(\\))/)) return null;\n\n return {\n type: 'GeometryCollection',\n geometries: geometries\n };\n }\n\n function root() {\n return (\n point() ||\n linestring() ||\n polygon() ||\n multipoint() ||\n multilinestring() ||\n multipolygon() ||\n geometrycollection()\n );\n }\n\n return crs(root());\n}\n"],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ const LE = true;
3
+ const BE = false;
4
+ export default class BinaryWriter {
5
+ constructor(size, allowResize) {
6
+ _defineProperty(this, "arrayBuffer", void 0);
7
+ _defineProperty(this, "dataView", void 0);
8
+ _defineProperty(this, "byteOffset", 0);
9
+ _defineProperty(this, "allowResize", false);
10
+ this.arrayBuffer = new ArrayBuffer(size);
11
+ this.dataView = new DataView(this.arrayBuffer);
12
+ this.byteOffset = 0;
13
+ this.allowResize = allowResize || false;
14
+ }
15
+ writeUInt8(value) {
16
+ this._ensureSize(1);
17
+ this.dataView.setUint8(this.byteOffset, value);
18
+ this.byteOffset += 1;
19
+ }
20
+ writeUInt16LE(value) {
21
+ this._ensureSize(2);
22
+ this.dataView.setUint16(this.byteOffset, value, LE);
23
+ this.byteOffset += 2;
24
+ }
25
+ writeUInt16BE(value) {
26
+ this._ensureSize(2);
27
+ this.dataView.setUint16(this.byteOffset, value, BE);
28
+ this.byteOffset += 2;
29
+ }
30
+ writeUInt32LE(value) {
31
+ this._ensureSize(4);
32
+ this.dataView.setUint32(this.byteOffset, value, LE);
33
+ this.byteOffset += 4;
34
+ }
35
+ writeUInt32BE(value) {
36
+ this._ensureSize(4);
37
+ this.dataView.setUint32(this.byteOffset, value, BE);
38
+ this.byteOffset += 4;
39
+ }
40
+ writeInt8(value) {
41
+ this._ensureSize(1);
42
+ this.dataView.setInt8(this.byteOffset, value);
43
+ this.byteOffset += 1;
44
+ }
45
+ writeInt16LE(value) {
46
+ this._ensureSize(2);
47
+ this.dataView.setInt16(this.byteOffset, value, LE);
48
+ this.byteOffset += 2;
49
+ }
50
+ writeInt16BE(value) {
51
+ this._ensureSize(2);
52
+ this.dataView.setInt16(this.byteOffset, value, BE);
53
+ this.byteOffset += 2;
54
+ }
55
+ writeInt32LE(value) {
56
+ this._ensureSize(4);
57
+ this.dataView.setInt32(this.byteOffset, value, LE);
58
+ this.byteOffset += 4;
59
+ }
60
+ writeInt32BE(value) {
61
+ this._ensureSize(4);
62
+ this.dataView.setInt32(this.byteOffset, value, BE);
63
+ this.byteOffset += 4;
64
+ }
65
+ writeFloatLE(value) {
66
+ this._ensureSize(4);
67
+ this.dataView.setFloat32(this.byteOffset, value, LE);
68
+ this.byteOffset += 4;
69
+ }
70
+ writeFloatBE(value) {
71
+ this._ensureSize(4);
72
+ this.dataView.setFloat32(this.byteOffset, value, BE);
73
+ this.byteOffset += 4;
74
+ }
75
+ writeDoubleLE(value) {
76
+ this._ensureSize(8);
77
+ this.dataView.setFloat64(this.byteOffset, value, LE);
78
+ this.byteOffset += 8;
79
+ }
80
+ writeDoubleBE(value) {
81
+ this._ensureSize(8);
82
+ this.dataView.setFloat64(this.byteOffset, value, BE);
83
+ this.byteOffset += 8;
84
+ }
85
+ writeVarInt(value) {
86
+ let length = 1;
87
+ while ((value & 0xffffff80) !== 0) {
88
+ this.writeUInt8(value & 0x7f | 0x80);
89
+ value >>>= 7;
90
+ length++;
91
+ }
92
+ this.writeUInt8(value & 0x7f);
93
+ return length;
94
+ }
95
+ writeBuffer(arrayBuffer) {
96
+ this._ensureSize(arrayBuffer.byteLength);
97
+ const tempArray = new Uint8Array(this.arrayBuffer);
98
+ tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);
99
+ this.byteOffset += arrayBuffer.byteLength;
100
+ }
101
+ _ensureSize(size) {
102
+ if (this.arrayBuffer.byteLength < this.byteOffset + size) {
103
+ if (this.allowResize) {
104
+ const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);
105
+ const tempArray = new Uint8Array(newArrayBuffer);
106
+ tempArray.set(new Uint8Array(this.arrayBuffer));
107
+ this.arrayBuffer = newArrayBuffer;
108
+ } else {
109
+ throw new Error('BinaryWriter overflow');
110
+ }
111
+ }
112
+ }
113
+ }
114
+ //# sourceMappingURL=binary-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-writer.js","names":["LE","BE","BinaryWriter","constructor","size","allowResize","_defineProperty","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","writeUInt8","value","_ensureSize","setUint8","writeUInt16LE","setUint16","writeUInt16BE","writeUInt32LE","setUint32","writeUInt32BE","writeInt8","setInt8","writeInt16LE","setInt16","writeInt16BE","writeInt32LE","setInt32","writeInt32BE","writeFloatLE","setFloat32","writeFloatBE","writeDoubleLE","setFloat64","writeDoubleBE","writeVarInt","length","writeBuffer","byteLength","tempArray","Uint8Array","set","newArrayBuffer","Error"],"sources":["../../../../src/lib/utils/binary-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nconst LE = true;\nconst BE = false;\n\nexport default class BinaryWriter {\n arrayBuffer: ArrayBuffer;\n dataView: DataView;\n byteOffset: number = 0;\n allowResize: boolean = false;\n\n constructor(size: number, allowResize?: boolean) {\n this.arrayBuffer = new ArrayBuffer(size);\n this.dataView = new DataView(this.arrayBuffer);\n this.byteOffset = 0;\n this.allowResize = allowResize || false;\n }\n\n writeUInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setUint8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeUInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeUInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeUInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeUInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setInt8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeFloatLE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeFloatBE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeDoubleLE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, LE);\n this.byteOffset += 8;\n }\n writeDoubleBE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, BE);\n this.byteOffset += 8;\n }\n\n /** A varint uses a variable number of bytes */\n writeVarInt(value: number): number {\n // TODO - ensure size?\n let length = 1;\n while ((value & 0xffffff80) !== 0) {\n this.writeUInt8((value & 0x7f) | 0x80);\n value >>>= 7;\n length++;\n }\n this.writeUInt8(value & 0x7f);\n return length;\n }\n\n /** Append another ArrayBuffer to this ArrayBuffer */\n writeBuffer(arrayBuffer: ArrayBuffer): void {\n this._ensureSize(arrayBuffer.byteLength);\n const tempArray = new Uint8Array(this.arrayBuffer);\n tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);\n this.byteOffset += arrayBuffer.byteLength;\n }\n\n /** Resizes this.arrayBuffer if not enough space */\n _ensureSize(size: number) {\n if (this.arrayBuffer.byteLength < this.byteOffset + size) {\n if (this.allowResize) {\n const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);\n const tempArray = new Uint8Array(newArrayBuffer);\n tempArray.set(new Uint8Array(this.arrayBuffer));\n this.arrayBuffer = newArrayBuffer;\n } else {\n throw new Error('BinaryWriter overflow');\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const VERSION = typeof "4.0.0-alpha.6" !== 'undefined' ? "4.0.0-alpha.6" : 'latest';
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","names":["VERSION"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// 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"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ"}
@@ -0,0 +1,23 @@
1
+ import { VERSION } from './lib/utils/version';
2
+ import parseWKB from './lib/parse-wkb';
3
+ export const WKBWorkerLoader = {
4
+ name: 'WKB',
5
+ id: 'wkb',
6
+ module: 'wkt',
7
+ version: VERSION,
8
+ worker: true,
9
+ category: 'geometry',
10
+ extensions: ['wkb'],
11
+ mimeTypes: [],
12
+ options: {
13
+ wkb: {}
14
+ }
15
+ };
16
+ export const WKBLoader = {
17
+ ...WKBWorkerLoader,
18
+ parse: async arrayBuffer => parseWKB(arrayBuffer),
19
+ parseSync: parseWKB
20
+ };
21
+ export const _typecheckWKBWorkerLoader = WKBWorkerLoader;
22
+ export const _typecheckWKBLoader = WKBLoader;
23
+ //# sourceMappingURL=wkb-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-loader.js","names":["VERSION","parseWKB","WKBWorkerLoader","name","id","module","version","worker","category","extensions","mimeTypes","options","wkb","WKBLoader","parse","arrayBuffer","parseSync","_typecheckWKBWorkerLoader","_typecheckWKBLoader"],"sources":["../../src/wkb-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKB from './lib/parse-wkb';\n\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const WKBWorkerLoader = {\n name: 'WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n options: {\n wkb: {}\n }\n};\n\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const WKBLoader = {\n ...WKBWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer) => parseWKB(arrayBuffer),\n parseSync: parseWKB\n};\n\nexport const _typecheckWKBWorkerLoader: Loader = WKBWorkerLoader;\nexport const _typecheckWKBLoader: LoaderWithParser = WKBLoader;\n"],"mappings":"AACA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,OAAOC,QAAQ,MAAM,iBAAiB;AAKtC,OAAO,MAAMC,eAAe,GAAG;EAC7BC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,EAAE;EACbC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAKD,OAAO,MAAMC,SAAS,GAAG;EACvB,GAAGX,eAAe;EAClBY,KAAK,EAAE,MAAOC,WAAwB,IAAKd,QAAQ,CAACc,WAAW,CAAC;EAChEC,SAAS,EAAEf;AACb,CAAC;AAED,OAAO,MAAMgB,yBAAiC,GAAGf,eAAe;AAChE,OAAO,MAAMgB,mBAAqC,GAAGL,SAAS"}
@@ -0,0 +1,17 @@
1
+ import { VERSION } from './lib/utils/version';
2
+ import encodeWKB from './lib/encode-wkb';
3
+ export const WKBWriter = {
4
+ name: 'WKB (Well Known Binary)',
5
+ id: 'wkb',
6
+ module: 'wkt',
7
+ version: VERSION,
8
+ extensions: ['wkb'],
9
+ encodeSync: encodeWKB,
10
+ options: {
11
+ wkb: {
12
+ hasZ: false,
13
+ hasM: false
14
+ }
15
+ }
16
+ };
17
+ //# sourceMappingURL=wkb-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-writer.js","names":["VERSION","encodeWKB","WKBWriter","name","id","module","version","extensions","encodeSync","options","wkb","hasZ","hasM"],"sources":["../../src/wkb-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKB from './lib/encode-wkb';\n\n/**\n * WKB exporter\n */\nexport const WKBWriter: Writer = {\n name: 'WKB (Well Known Binary)',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkb'],\n // @ts-ignore\n encodeSync: encodeWKB,\n options: {\n wkb: {\n hasZ: false,\n hasM: false\n }\n }\n};\n"],"mappings":"AACA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,OAAOC,SAAS,MAAM,kBAAkB;AAKxC,OAAO,MAAMC,SAAiB,GAAG;EAC/BC,IAAI,EAAE,yBAAyB;EAC/BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,UAAU,EAAEP,SAAS;EACrBQ,OAAO,EAAE;IACPC,GAAG,EAAE;MACHC,IAAI,EAAE,KAAK;MACXC,IAAI,EAAE;IACR;EACF;AACF,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { VERSION } from './lib/utils/version';
2
+ import parseWKT from './lib/parse-wkt';
3
+ export const WKTWorkerLoader = {
4
+ name: 'WKT (Well-Known Text)',
5
+ id: 'wkt',
6
+ module: 'wkt',
7
+ version: VERSION,
8
+ worker: true,
9
+ extensions: ['wkt'],
10
+ mimeTypes: ['text/plain'],
11
+ category: 'geometry',
12
+ text: true,
13
+ options: {
14
+ wkt: {}
15
+ }
16
+ };
17
+ export const WKTLoader = {
18
+ ...WKTWorkerLoader,
19
+ parse: async arrayBuffer => parseWKT(new TextDecoder().decode(arrayBuffer)),
20
+ parseTextSync: parseWKT
21
+ };
22
+ //# sourceMappingURL=wkt-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-loader.js","names":["VERSION","parseWKT","WKTWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","wkt","WKTLoader","parse","arrayBuffer","TextDecoder","decode","parseTextSync"],"sources":["../../src/wkt-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKT from './lib/parse-wkt';\n\n/**\n * Well-Known text loader\n */\nexport const WKTWorkerLoader: Loader = {\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 options: {\n wkt: {}\n }\n};\n\n/**\n * Well-Known text loader\n */\nexport const WKTLoader: LoaderWithParser = {\n ...WKTWorkerLoader,\n parse: async (arrayBuffer) => parseWKT(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseWKT\n};\n"],"mappings":"AACA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,OAAOC,QAAQ,MAAM,iBAAiB;AAKtC,OAAO,MAAMC,eAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,YAAY,CAAC;EACzBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAKD,OAAO,MAAMC,SAA2B,GAAG;EACzC,GAAGZ,eAAe;EAClBa,KAAK,EAAE,MAAOC,WAAW,IAAKf,QAAQ,CAAC,IAAIgB,WAAW,CAAC,CAAC,CAACC,MAAM,CAACF,WAAW,CAAC,CAAC;EAC7EG,aAAa,EAAElB;AACjB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { VERSION } from './lib/utils/version';
2
+ import encodeWKT from './lib/encode-wkt';
3
+ export const WKTWriter = {
4
+ name: 'WKT (Well Known Text)',
5
+ id: 'wkt',
6
+ module: 'wkt',
7
+ version: VERSION,
8
+ extensions: ['wkt'],
9
+ encode: encodeWKT,
10
+ options: {
11
+ wkt: {}
12
+ }
13
+ };
14
+ //# sourceMappingURL=wkt-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-writer.js","names":["VERSION","encodeWKT","WKTWriter","name","id","module","version","extensions","encode","options","wkt"],"sources":["../../src/wkt-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKT from './lib/encode-wkt';\n\n/**\n * WKT exporter\n */\nexport const WKTWriter: Writer = {\n name: 'WKT (Well Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkt'],\n // @ts-ignore\n encode: encodeWKT,\n options: {\n wkt: {}\n }\n};\n"],"mappings":"AACA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,OAAOC,SAAS,MAAM,kBAAkB;AAKxC,OAAO,MAAMC,SAAiB,GAAG;EAC/BC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,MAAM,EAAEP,SAAS;EACjBQ,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
+ import { WKBLoader } from '../wkb-loader';
3
+ createLoaderWorker(WKBLoader);
4
+ //# sourceMappingURL=wkb-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb-worker.js","names":["createLoaderWorker","WKBLoader"],"sources":["../../../src/workers/wkb-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKBLoader} from '../wkb-loader';\n\ncreateLoaderWorker(WKBLoader);\n"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,SAAQC,SAAS,QAAO,eAAe;AAEvCD,kBAAkB,CAACC,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
+ import { WKTLoader } from '../wkt-loader';
3
+ createLoaderWorker(WKTLoader);
4
+ //# sourceMappingURL=wkt-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-worker.js","names":["createLoaderWorker","WKTLoader"],"sources":["../../../src/workers/wkt-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKTLoader} from '../wkt-loader';\n\ncreateLoaderWorker(WKTLoader);\n"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,SAAQC,SAAS,QAAO,eAAe;AAEvCD,kBAAkB,CAACC,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,13 @@
1
- export { WKBLoader, WKBWorkerLoader } from './wkb-loader';
2
- export { WKTLoader, WKTWorkerLoader } from './wkt-loader';
3
- export { WKTWriter } from './wkt-writer';
4
- export { WKBWriter } from './wkb-writer';
5
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WKBWriter = exports.WKTWriter = exports.WKTWorkerLoader = exports.WKTLoader = exports.WKBWorkerLoader = exports.WKBLoader = void 0;
4
+ var wkb_loader_1 = require("./wkb-loader");
5
+ Object.defineProperty(exports, "WKBLoader", { enumerable: true, get: function () { return wkb_loader_1.WKBLoader; } });
6
+ Object.defineProperty(exports, "WKBWorkerLoader", { enumerable: true, get: function () { return wkb_loader_1.WKBWorkerLoader; } });
7
+ var wkt_loader_1 = require("./wkt-loader");
8
+ Object.defineProperty(exports, "WKTLoader", { enumerable: true, get: function () { return wkt_loader_1.WKTLoader; } });
9
+ Object.defineProperty(exports, "WKTWorkerLoader", { enumerable: true, get: function () { return wkt_loader_1.WKTWorkerLoader; } });
10
+ var wkt_writer_1 = require("./wkt-writer");
11
+ Object.defineProperty(exports, "WKTWriter", { enumerable: true, get: function () { return wkt_writer_1.WKTWriter; } });
12
+ var wkb_writer_1 = require("./wkb-writer");
13
+ Object.defineProperty(exports, "WKBWriter", { enumerable: true, get: function () { return wkb_writer_1.WKBWriter; } });
@@ -3,8 +3,11 @@ import type { Feature, Geometry } from '@loaders.gl/schema';
3
3
  * Options for encodeWKB
4
4
  */
5
5
  interface WKBOptions {
6
+ /** Does the GeoJSON input have Z values? */
6
7
  hasZ?: boolean;
8
+ /** Does the GeoJSON input have M values? */
7
9
  hasM?: boolean;
10
+ /** Spatial reference for input GeoJSON */
8
11
  srid?: any;
9
12
  }
10
13
  /**
@@ -12,6 +15,8 @@ interface WKBOptions {
12
15
  * @param geojson A GeoJSON Feature or Geometry
13
16
  * @returns string
14
17
  */
15
- export default function encodeWKB(geometry: Geometry | Feature, options?: WKBOptions): ArrayBuffer;
18
+ export default function encodeWKB(geometry: Geometry | Feature, options: WKBOptions | {
19
+ wkb: WKBOptions;
20
+ }): ArrayBuffer;
16
21
  export {};
17
22
  //# sourceMappingURL=encode-wkb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode-wkb.d.ts","sourceRoot":"","sources":["../../src/lib/encode-wkb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EAQT,MAAM,oBAAoB,CAAC;AAkB5B;;GAEG;AACH,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAC5B,OAAO,GAAE,UAAuC,GAC/C,WAAW,CAwBb"}
1
+ {"version":3,"file":"encode-wkb.d.ts","sourceRoot":"","sources":["../../src/lib/encode-wkb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EAQT,MAAM,oBAAoB,CAAC;AAkB5B;;GAEG;AACH,UAAU,UAAU;IAClB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAC5B,OAAO,EAAE,UAAU,GAAG;IAAC,GAAG,EAAE,UAAU,CAAA;CAAC,GACtC,WAAW,CA8Bb"}