@loaders.gl/wkt 4.0.0-beta.2 → 4.0.0-beta.3

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 (236) hide show
  1. package/dist/{dist.min.js → dist.dev.js} +587 -606
  2. package/dist/hex-wkb-loader.d.ts.map +1 -0
  3. package/dist/{esm/hex-wkb-loader.js → hex-wkb-loader.js} +3 -3
  4. package/dist/hex-wkb-loader.js.map +1 -0
  5. package/dist/index.cjs +1799 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +14 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/lib/encode-twkb.d.ts.map +1 -0
  10. package/dist/{esm/lib → lib}/encode-twkb.js +2 -2
  11. package/dist/lib/encode-twkb.js.map +1 -0
  12. package/dist/lib/encode-wkb.d.ts.map +1 -0
  13. package/dist/{esm/lib → lib}/encode-wkb.js +3 -3
  14. package/dist/lib/encode-wkb.js.map +1 -0
  15. package/dist/lib/encode-wkt-crs.d.ts.map +1 -0
  16. package/dist/{esm/lib → lib}/encode-wkt-crs.js +4 -4
  17. package/dist/lib/encode-wkt-crs.js.map +1 -0
  18. package/dist/lib/encode-wkt.d.ts.map +1 -0
  19. package/dist/{esm/lib → lib}/encode-wkt.js +8 -8
  20. package/dist/lib/encode-wkt.js.map +1 -0
  21. package/dist/lib/parse-hex-wkb.d.ts.map +1 -0
  22. package/dist/lib/parse-hex-wkb.js.map +1 -0
  23. package/dist/lib/parse-twkb.d.ts.map +1 -0
  24. package/dist/{esm/lib → lib}/parse-twkb.js +3 -3
  25. package/dist/lib/parse-twkb.js.map +1 -0
  26. package/dist/lib/parse-wkb-header.d.ts.map +1 -0
  27. package/dist/{esm/lib → lib}/parse-wkb-header.js +1 -1
  28. package/dist/lib/parse-wkb-header.js.map +1 -0
  29. package/dist/lib/parse-wkb.d.ts.map +1 -0
  30. package/dist/{esm/lib → lib}/parse-wkb.js +2 -2
  31. package/dist/lib/parse-wkb.js.map +1 -0
  32. package/dist/lib/parse-wkt-crs.d.ts.map +1 -0
  33. package/dist/{esm/lib → lib}/parse-wkt-crs.js +7 -7
  34. package/dist/lib/parse-wkt-crs.js.map +1 -0
  35. package/dist/lib/parse-wkt.d.ts.map +1 -0
  36. package/dist/lib/parse-wkt.js.map +1 -0
  37. package/dist/lib/utils/base64-encoder.d.ts.map +1 -0
  38. package/dist/lib/utils/base64-encoder.js.map +1 -0
  39. package/dist/lib/utils/binary-reader.d.ts.map +1 -0
  40. package/dist/{esm/lib → lib}/utils/binary-reader.js +4 -5
  41. package/dist/lib/utils/binary-reader.js.map +1 -0
  42. package/dist/lib/utils/binary-writer.d.ts.map +1 -0
  43. package/dist/{esm/lib → lib}/utils/binary-writer.js +4 -5
  44. package/dist/lib/utils/binary-writer.js.map +1 -0
  45. package/dist/lib/utils/hex-encoder.d.ts.map +1 -0
  46. package/dist/lib/utils/hex-encoder.js.map +1 -0
  47. package/dist/lib/utils/hex-transcoder.d.ts.map +1 -0
  48. package/dist/lib/utils/hex-transcoder.js.map +1 -0
  49. package/dist/lib/utils/version.d.ts.map +1 -0
  50. package/dist/lib/utils/version.js +2 -0
  51. package/dist/lib/utils/version.js.map +1 -0
  52. package/dist/twkb-loader.d.ts.map +1 -0
  53. package/dist/{esm/twkb-loader.js → twkb-loader.js} +2 -2
  54. package/dist/twkb-loader.js.map +1 -0
  55. package/dist/twkb-writer.d.ts.map +1 -0
  56. package/dist/{esm/twkb-writer.js → twkb-writer.js} +2 -2
  57. package/dist/twkb-writer.js.map +1 -0
  58. package/dist/wkb-loader.d.ts.map +1 -0
  59. package/dist/{esm/wkb-loader.js → wkb-loader.js} +3 -3
  60. package/dist/wkb-loader.js.map +1 -0
  61. package/dist/wkb-writer.d.ts.map +1 -0
  62. package/dist/{esm/wkb-writer.js → wkb-writer.js} +2 -2
  63. package/dist/wkb-writer.js.map +1 -0
  64. package/dist/wkt-crs-loader.d.ts.map +1 -0
  65. package/dist/{esm/wkt-crs-loader.js → wkt-crs-loader.js} +2 -2
  66. package/dist/wkt-crs-loader.js.map +1 -0
  67. package/dist/wkt-crs-writer.d.ts.map +1 -0
  68. package/dist/{esm/wkt-crs-writer.js → wkt-crs-writer.js} +2 -2
  69. package/dist/wkt-crs-writer.js.map +1 -0
  70. package/dist/wkt-loader.d.ts.map +1 -0
  71. package/dist/{esm/wkt-loader.js → wkt-loader.js} +3 -3
  72. package/dist/wkt-loader.js.map +1 -0
  73. package/dist/wkt-worker.js +18 -3
  74. package/dist/wkt-writer.d.ts.map +1 -0
  75. package/dist/{esm/wkt-writer.js → wkt-writer.js} +2 -2
  76. package/dist/wkt-writer.js.map +1 -0
  77. package/dist/{src/workers → workers}/wkb-worker.d.ts.map +1 -1
  78. package/dist/{esm/workers → workers}/wkb-worker.js +1 -1
  79. package/dist/workers/wkb-worker.js.map +1 -0
  80. package/dist/{src/workers → workers}/wkt-worker.d.ts.map +1 -1
  81. package/dist/{esm/workers → workers}/wkt-worker.js +1 -1
  82. package/dist/workers/wkt-worker.js.map +1 -0
  83. package/package.json +16 -8
  84. package/dist/es5/bundle.js +0 -6
  85. package/dist/es5/bundle.js.map +0 -1
  86. package/dist/es5/hex-wkb-loader.js +0 -64
  87. package/dist/es5/hex-wkb-loader.js.map +0 -1
  88. package/dist/es5/index.js +0 -121
  89. package/dist/es5/index.js.map +0 -1
  90. package/dist/es5/lib/encode-twkb.js +0 -269
  91. package/dist/es5/lib/encode-twkb.js.map +0 -1
  92. package/dist/es5/lib/encode-wkb.js +0 -376
  93. package/dist/es5/lib/encode-wkb.js.map +0 -1
  94. package/dist/es5/lib/encode-wkt-crs.js +0 -32
  95. package/dist/es5/lib/encode-wkt-crs.js.map +0 -1
  96. package/dist/es5/lib/encode-wkt.js +0 -45
  97. package/dist/es5/lib/encode-wkt.js.map +0 -1
  98. package/dist/es5/lib/parse-hex-wkb.js +0 -2
  99. package/dist/es5/lib/parse-hex-wkb.js.map +0 -1
  100. package/dist/es5/lib/parse-twkb.js +0 -263
  101. package/dist/es5/lib/parse-twkb.js.map +0 -1
  102. package/dist/es5/lib/parse-wkb-header.js +0 -114
  103. package/dist/es5/lib/parse-wkb-header.js.map +0 -1
  104. package/dist/es5/lib/parse-wkb.js +0 -297
  105. package/dist/es5/lib/parse-wkb.js.map +0 -1
  106. package/dist/es5/lib/parse-wkt-crs.js +0 -106
  107. package/dist/es5/lib/parse-wkt-crs.js.map +0 -1
  108. package/dist/es5/lib/parse-wkt.js +0 -233
  109. package/dist/es5/lib/parse-wkt.js.map +0 -1
  110. package/dist/es5/lib/utils/base64-encoder.js +0 -26
  111. package/dist/es5/lib/utils/base64-encoder.js.map +0 -1
  112. package/dist/es5/lib/utils/binary-reader.js +0 -98
  113. package/dist/es5/lib/utils/binary-reader.js.map +0 -1
  114. package/dist/es5/lib/utils/binary-writer.js +0 -161
  115. package/dist/es5/lib/utils/binary-writer.js.map +0 -1
  116. package/dist/es5/lib/utils/hex-encoder.js +0 -63
  117. package/dist/es5/lib/utils/hex-encoder.js.map +0 -1
  118. package/dist/es5/lib/utils/hex-transcoder.js +0 -41
  119. package/dist/es5/lib/utils/hex-transcoder.js.map +0 -1
  120. package/dist/es5/lib/utils/version.js +0 -9
  121. package/dist/es5/lib/utils/version.js.map +0 -1
  122. package/dist/es5/twkb-loader.js +0 -53
  123. package/dist/es5/twkb-loader.js.map +0 -1
  124. package/dist/es5/twkb-writer.js +0 -40
  125. package/dist/es5/twkb-writer.js.map +0 -1
  126. package/dist/es5/wkb-loader.js +0 -54
  127. package/dist/es5/wkb-loader.js.map +0 -1
  128. package/dist/es5/wkb-writer.js +0 -24
  129. package/dist/es5/wkb-writer.js.map +0 -1
  130. package/dist/es5/wkt-crs-loader.js +0 -47
  131. package/dist/es5/wkt-crs-loader.js.map +0 -1
  132. package/dist/es5/wkt-crs-writer.js +0 -49
  133. package/dist/es5/wkt-crs-writer.js.map +0 -1
  134. package/dist/es5/wkt-loader.js +0 -55
  135. package/dist/es5/wkt-loader.js.map +0 -1
  136. package/dist/es5/wkt-writer.js +0 -21
  137. package/dist/es5/wkt-writer.js.map +0 -1
  138. package/dist/es5/workers/wkb-worker.js +0 -6
  139. package/dist/es5/workers/wkb-worker.js.map +0 -1
  140. package/dist/es5/workers/wkt-worker.js +0 -6
  141. package/dist/es5/workers/wkt-worker.js.map +0 -1
  142. package/dist/esm/bundle.js +0 -4
  143. package/dist/esm/bundle.js.map +0 -1
  144. package/dist/esm/hex-wkb-loader.js.map +0 -1
  145. package/dist/esm/index.js +0 -14
  146. package/dist/esm/index.js.map +0 -1
  147. package/dist/esm/lib/encode-twkb.js.map +0 -1
  148. package/dist/esm/lib/encode-wkb.js.map +0 -1
  149. package/dist/esm/lib/encode-wkt-crs.js.map +0 -1
  150. package/dist/esm/lib/encode-wkt.js.map +0 -1
  151. package/dist/esm/lib/parse-hex-wkb.js.map +0 -1
  152. package/dist/esm/lib/parse-twkb.js.map +0 -1
  153. package/dist/esm/lib/parse-wkb-header.js.map +0 -1
  154. package/dist/esm/lib/parse-wkb.js.map +0 -1
  155. package/dist/esm/lib/parse-wkt-crs.js.map +0 -1
  156. package/dist/esm/lib/parse-wkt.js.map +0 -1
  157. package/dist/esm/lib/utils/base64-encoder.js.map +0 -1
  158. package/dist/esm/lib/utils/binary-reader.js.map +0 -1
  159. package/dist/esm/lib/utils/binary-writer.js.map +0 -1
  160. package/dist/esm/lib/utils/hex-encoder.js.map +0 -1
  161. package/dist/esm/lib/utils/hex-transcoder.js.map +0 -1
  162. package/dist/esm/lib/utils/version.js +0 -2
  163. package/dist/esm/lib/utils/version.js.map +0 -1
  164. package/dist/esm/twkb-loader.js.map +0 -1
  165. package/dist/esm/twkb-writer.js.map +0 -1
  166. package/dist/esm/wkb-loader.js.map +0 -1
  167. package/dist/esm/wkb-writer.js.map +0 -1
  168. package/dist/esm/wkt-crs-loader.js.map +0 -1
  169. package/dist/esm/wkt-crs-writer.js.map +0 -1
  170. package/dist/esm/wkt-loader.js.map +0 -1
  171. package/dist/esm/wkt-writer.js.map +0 -1
  172. package/dist/esm/workers/wkb-worker.js.map +0 -1
  173. package/dist/esm/workers/wkt-worker.js.map +0 -1
  174. package/dist/src/bundle.d.ts +0 -2
  175. package/dist/src/bundle.d.ts.map +0 -1
  176. package/dist/src/hex-wkb-loader.d.ts.map +0 -1
  177. package/dist/src/index.d.ts.map +0 -1
  178. package/dist/src/lib/encode-twkb.d.ts.map +0 -1
  179. package/dist/src/lib/encode-wkb.d.ts.map +0 -1
  180. package/dist/src/lib/encode-wkt-crs.d.ts.map +0 -1
  181. package/dist/src/lib/encode-wkt.d.ts.map +0 -1
  182. package/dist/src/lib/parse-hex-wkb.d.ts.map +0 -1
  183. package/dist/src/lib/parse-twkb.d.ts.map +0 -1
  184. package/dist/src/lib/parse-wkb-header.d.ts.map +0 -1
  185. package/dist/src/lib/parse-wkb.d.ts.map +0 -1
  186. package/dist/src/lib/parse-wkt-crs.d.ts.map +0 -1
  187. package/dist/src/lib/parse-wkt.d.ts.map +0 -1
  188. package/dist/src/lib/utils/base64-encoder.d.ts.map +0 -1
  189. package/dist/src/lib/utils/binary-reader.d.ts.map +0 -1
  190. package/dist/src/lib/utils/binary-writer.d.ts.map +0 -1
  191. package/dist/src/lib/utils/hex-encoder.d.ts.map +0 -1
  192. package/dist/src/lib/utils/hex-transcoder.d.ts.map +0 -1
  193. package/dist/src/lib/utils/version.d.ts.map +0 -1
  194. package/dist/src/twkb-loader.d.ts.map +0 -1
  195. package/dist/src/twkb-writer.d.ts.map +0 -1
  196. package/dist/src/wkb-loader.d.ts.map +0 -1
  197. package/dist/src/wkb-writer.d.ts.map +0 -1
  198. package/dist/src/wkt-crs-loader.d.ts.map +0 -1
  199. package/dist/src/wkt-crs-writer.d.ts.map +0 -1
  200. package/dist/src/wkt-loader.d.ts.map +0 -1
  201. package/dist/src/wkt-writer.d.ts.map +0 -1
  202. package/dist/tsconfig.tsbuildinfo +0 -1
  203. package/src/bundle.ts +0 -4
  204. /package/dist/{src/hex-wkb-loader.d.ts → hex-wkb-loader.d.ts} +0 -0
  205. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  206. /package/dist/{src/lib → lib}/encode-twkb.d.ts +0 -0
  207. /package/dist/{src/lib → lib}/encode-wkb.d.ts +0 -0
  208. /package/dist/{src/lib → lib}/encode-wkt-crs.d.ts +0 -0
  209. /package/dist/{src/lib → lib}/encode-wkt.d.ts +0 -0
  210. /package/dist/{src/lib → lib}/parse-hex-wkb.d.ts +0 -0
  211. /package/dist/{esm/lib → lib}/parse-hex-wkb.js +0 -0
  212. /package/dist/{src/lib → lib}/parse-twkb.d.ts +0 -0
  213. /package/dist/{src/lib → lib}/parse-wkb-header.d.ts +0 -0
  214. /package/dist/{src/lib → lib}/parse-wkb.d.ts +0 -0
  215. /package/dist/{src/lib → lib}/parse-wkt-crs.d.ts +0 -0
  216. /package/dist/{src/lib → lib}/parse-wkt.d.ts +0 -0
  217. /package/dist/{esm/lib → lib}/parse-wkt.js +0 -0
  218. /package/dist/{src/lib → lib}/utils/base64-encoder.d.ts +0 -0
  219. /package/dist/{esm/lib → lib}/utils/base64-encoder.js +0 -0
  220. /package/dist/{src/lib → lib}/utils/binary-reader.d.ts +0 -0
  221. /package/dist/{src/lib → lib}/utils/binary-writer.d.ts +0 -0
  222. /package/dist/{src/lib → lib}/utils/hex-encoder.d.ts +0 -0
  223. /package/dist/{esm/lib → lib}/utils/hex-encoder.js +0 -0
  224. /package/dist/{src/lib → lib}/utils/hex-transcoder.d.ts +0 -0
  225. /package/dist/{esm/lib → lib}/utils/hex-transcoder.js +0 -0
  226. /package/dist/{src/lib → lib}/utils/version.d.ts +0 -0
  227. /package/dist/{src/twkb-loader.d.ts → twkb-loader.d.ts} +0 -0
  228. /package/dist/{src/twkb-writer.d.ts → twkb-writer.d.ts} +0 -0
  229. /package/dist/{src/wkb-loader.d.ts → wkb-loader.d.ts} +0 -0
  230. /package/dist/{src/wkb-writer.d.ts → wkb-writer.d.ts} +0 -0
  231. /package/dist/{src/wkt-crs-loader.d.ts → wkt-crs-loader.d.ts} +0 -0
  232. /package/dist/{src/wkt-crs-writer.d.ts → wkt-crs-writer.d.ts} +0 -0
  233. /package/dist/{src/wkt-loader.d.ts → wkt-loader.d.ts} +0 -0
  234. /package/dist/{src/wkt-writer.d.ts → wkt-writer.d.ts} +0 -0
  235. /package/dist/{src/workers → workers}/wkb-worker.d.ts +0 -0
  236. /package/dist/{src/workers → workers}/wkt-worker.d.ts +0 -0
@@ -1,26 +1,54 @@
1
- (() => {
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loader'] = factory();
6
+ else root['loader'] = factory();})(globalThis, function () {
7
+ "use strict";
8
+ var __exports__ = (() => {
2
9
  var __defProp = Object.defineProperty;
3
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
4
- var __esm = (fn, res) => function __init() {
5
- return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
6
- };
7
- var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
- };
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
13
  var __export = (target, all) => {
11
- __markAsModule(target);
12
14
  for (var name in all)
13
15
  __defProp(target, name, { get: all[name], enumerable: true });
14
16
  };
15
-
16
- // src/lib/utils/version.ts
17
- var VERSION;
18
- var init_version = __esm({
19
- "src/lib/utils/version.ts"() {
20
- VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
22
  }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+
27
+ // src/index.ts
28
+ var src_exports = {};
29
+ __export(src_exports, {
30
+ HexWKBLoader: () => HexWKBLoader,
31
+ TWKBLoader: () => TWKBLoader,
32
+ TWKBWriter: () => TWKBWriter,
33
+ WKBLoader: () => WKBLoader,
34
+ WKBWorkerLoader: () => WKBWorkerLoader,
35
+ WKBWriter: () => WKBWriter,
36
+ WKTCRSLoader: () => WKTCRSLoader,
37
+ WKTCRSWriter: () => WKTCRSWriter,
38
+ WKTLoader: () => WKTLoader,
39
+ WKTWorkerLoader: () => WKTWorkerLoader,
40
+ WKTWriter: () => WKTWriter,
41
+ decodeHex: () => decodeHex,
42
+ encodeHex: () => encodeHex,
43
+ isTWKB: () => isTWKB,
44
+ isWKB: () => isWKB,
45
+ isWKT: () => isWKT,
46
+ parseWKBHeader: () => parseWKBHeader
22
47
  });
23
48
 
49
+ // src/lib/utils/version.ts
50
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
51
+
24
52
  // src/lib/parse-wkt-crs.ts
25
53
  function parseWKTCRS(wkt, options) {
26
54
  if (options?.debug) {
@@ -119,35 +147,24 @@
119
147
  });
120
148
  return data;
121
149
  }
122
- var init_parse_wkt_crs = __esm({
123
- "src/lib/parse-wkt-crs.ts"() {
124
- }
125
- });
126
150
 
127
151
  // src/wkt-crs-loader.ts
128
- var WKTCRSLoader;
129
- var init_wkt_crs_loader = __esm({
130
- "src/wkt-crs-loader.ts"() {
131
- init_version();
132
- init_parse_wkt_crs();
133
- WKTCRSLoader = {
134
- name: "WKT CRS (Well-Known Text Coordinate Reference System)",
135
- id: "wkt-crs",
136
- module: "wkt-crs",
137
- version: VERSION,
138
- worker: true,
139
- extensions: [],
140
- mimeTypes: ["text/plain"],
141
- category: "json",
142
- text: true,
143
- options: {
144
- "wkt-crs": {}
145
- },
146
- parse: async (arrayBuffer, options) => parseWKTCRS(new TextDecoder().decode(arrayBuffer), options?.["wkt-crs"]),
147
- parseTextSync: (string, options) => parseWKTCRS(string, options?.["wkt-crs"])
148
- };
149
- }
150
- });
152
+ var WKTCRSLoader = {
153
+ name: "WKT CRS (Well-Known Text Coordinate Reference System)",
154
+ id: "wkt-crs",
155
+ module: "wkt-crs",
156
+ version: VERSION,
157
+ worker: true,
158
+ extensions: [],
159
+ mimeTypes: ["text/plain"],
160
+ category: "json",
161
+ text: true,
162
+ options: {
163
+ "wkt-crs": {}
164
+ },
165
+ parse: async (arrayBuffer, options) => parseWKTCRS(new TextDecoder().decode(arrayBuffer), options?.["wkt-crs"]),
166
+ parseTextSync: (string, options) => parseWKTCRS(string, options?.["wkt-crs"])
167
+ };
151
168
 
152
169
  // src/lib/encode-wkt-crs.ts
153
170
  function encodeWKTCRS(wkt, options) {
@@ -170,37 +187,39 @@
170
187
  }).join(",")}]`;
171
188
  return str;
172
189
  }
173
- var init_encode_wkt_crs = __esm({
174
- "src/lib/encode-wkt-crs.ts"() {
175
- }
176
- });
177
190
 
178
191
  // src/wkt-crs-writer.ts
179
- var WKTCRSWriter;
180
- var init_wkt_crs_writer = __esm({
181
- "src/wkt-crs-writer.ts"() {
182
- init_version();
183
- init_encode_wkt_crs();
184
- WKTCRSWriter = {
185
- name: "WKT CRS (Well-Known Text Coordinate Reference System)",
186
- id: "wkt-crs",
187
- module: "wkt-crs",
188
- version: VERSION,
189
- worker: true,
190
- extensions: [],
191
- mimeTypes: ["text/plain"],
192
- text: true,
193
- options: {
194
- "wkt-crs": {}
195
- },
196
- encode: async (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
197
- encodeSync: (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
198
- encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.["wkt-crs"])
199
- };
200
- }
201
- });
192
+ var WKTCRSWriter = {
193
+ name: "WKT CRS (Well-Known Text Coordinate Reference System)",
194
+ id: "wkt-crs",
195
+ module: "wkt-crs",
196
+ version: VERSION,
197
+ worker: true,
198
+ extensions: [],
199
+ mimeTypes: ["text/plain"],
200
+ // category: 'json',
201
+ text: true,
202
+ options: {
203
+ "wkt-crs": {}
204
+ },
205
+ encode: async (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
206
+ encodeSync: (wktcrs, options) => new TextEncoder().encode(encodeWKTCRS(wktcrs, options?.["wkt-crs"])),
207
+ encodeTextSync: (wktcrs, options) => encodeWKTCRS(wktcrs, options?.["wkt-crs"])
208
+ };
202
209
 
203
210
  // src/lib/parse-wkt.ts
211
+ var numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;
212
+ var tuples = new RegExp("^" + numberRegexp.source + "(\\s" + numberRegexp.source + "){1,}");
213
+ var WKT_MAGIC_STRINGS = [
214
+ "POINT(",
215
+ "LINESTRING(",
216
+ "POLYGON(",
217
+ "MULTIPOINT(",
218
+ "MULTILINESTRING(",
219
+ "MULTIPOLYGON(",
220
+ "GEOMETRYCOLLECTION("
221
+ // We only support this "geojson" subset of the OGC simple features standard
222
+ ];
204
223
  function isWKT(input) {
205
224
  return WKT_MAGIC_STRINGS.some((magicString) => input.startsWith(magicString));
206
225
  }
@@ -211,7 +230,11 @@
211
230
  const parts = input.split(";");
212
231
  let _ = parts.pop();
213
232
  const srid = (parts.shift() || "").split("=").pop();
214
- const state = { parts, _, i: 0 };
233
+ const state = {
234
+ parts,
235
+ _,
236
+ i: 0
237
+ };
215
238
  const geometry = parseGeometry(state);
216
239
  return options?.wkt?.crs ? addCRS(geometry, srid) : geometry;
217
240
  }
@@ -299,6 +322,7 @@
299
322
  white(state);
300
323
  return {
301
324
  type: "MultiLineString",
325
+ // @ts-expect-error
302
326
  coordinates: c
303
327
  };
304
328
  }
@@ -313,6 +337,7 @@
313
337
  }
314
338
  return {
315
339
  type: "Polygon",
340
+ // @ts-expect-error
316
341
  coordinates: c
317
342
  };
318
343
  }
@@ -327,6 +352,7 @@
327
352
  }
328
353
  return {
329
354
  type: "MultiPolygon",
355
+ // @ts-expect-error
330
356
  coordinates: c
331
357
  };
332
358
  }
@@ -423,55 +449,31 @@
423
449
  function white(state) {
424
450
  $(/^\s*/, state);
425
451
  }
426
- var numberRegexp, tuples, WKT_MAGIC_STRINGS;
427
- var init_parse_wkt = __esm({
428
- "src/lib/parse-wkt.ts"() {
429
- numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;
430
- tuples = new RegExp("^" + numberRegexp.source + "(\\s" + numberRegexp.source + "){1,}");
431
- WKT_MAGIC_STRINGS = [
432
- "POINT(",
433
- "LINESTRING(",
434
- "POLYGON(",
435
- "MULTIPOINT(",
436
- "MULTILINESTRING(",
437
- "MULTIPOLYGON(",
438
- "GEOMETRYCOLLECTION("
439
- ];
440
- }
441
- });
442
452
 
443
453
  // src/wkt-loader.ts
444
- var WKTWorkerLoader, WKTLoader;
445
- var init_wkt_loader = __esm({
446
- "src/wkt-loader.ts"() {
447
- init_version();
448
- init_parse_wkt();
449
- init_parse_wkt();
450
- WKTWorkerLoader = {
451
- name: "WKT (Well-Known Text)",
452
- id: "wkt",
453
- module: "wkt",
454
- version: VERSION,
455
- worker: true,
456
- extensions: ["wkt"],
457
- mimeTypes: ["text/plain"],
458
- category: "geometry",
459
- text: true,
460
- tests: WKT_MAGIC_STRINGS,
461
- testText: isWKT,
462
- options: {
463
- wkt: {
464
- crs: true
465
- }
466
- }
467
- };
468
- WKTLoader = {
469
- ...WKTWorkerLoader,
470
- parse: async (arrayBuffer, options) => parseWKT(new TextDecoder().decode(arrayBuffer), options),
471
- parseTextSync: parseWKT
472
- };
454
+ var WKTWorkerLoader = {
455
+ name: "WKT (Well-Known Text)",
456
+ id: "wkt",
457
+ module: "wkt",
458
+ version: VERSION,
459
+ worker: true,
460
+ extensions: ["wkt"],
461
+ mimeTypes: ["text/plain"],
462
+ category: "geometry",
463
+ text: true,
464
+ tests: WKT_MAGIC_STRINGS,
465
+ testText: isWKT,
466
+ options: {
467
+ wkt: {
468
+ crs: true
469
+ }
473
470
  }
474
- });
471
+ };
472
+ var WKTLoader = {
473
+ ...WKTWorkerLoader,
474
+ parse: async (arrayBuffer, options) => parseWKT(new TextDecoder().decode(arrayBuffer), options),
475
+ parseTextSync: parseWKT
476
+ };
475
477
 
476
478
  // src/lib/encode-wkt.ts
477
479
  function encodeWKT(geometry) {
@@ -512,30 +514,20 @@
512
514
  function wrapParens(s) {
513
515
  return `(${s})`;
514
516
  }
515
- var init_encode_wkt = __esm({
516
- "src/lib/encode-wkt.ts"() {
517
- }
518
- });
519
517
 
520
518
  // src/wkt-writer.ts
521
- var WKTWriter;
522
- var init_wkt_writer = __esm({
523
- "src/wkt-writer.ts"() {
524
- init_version();
525
- init_encode_wkt();
526
- WKTWriter = {
527
- name: "WKT (Well Known Text)",
528
- id: "wkt",
529
- module: "wkt",
530
- version: VERSION,
531
- extensions: ["wkt"],
532
- encodeSync: encodeWKT,
533
- options: {
534
- wkt: {}
535
- }
536
- };
519
+ var WKTWriter = {
520
+ name: "WKT (Well Known Text)",
521
+ id: "wkt",
522
+ module: "wkt",
523
+ version: VERSION,
524
+ extensions: ["wkt"],
525
+ // @ts-expect-error
526
+ encodeSync: encodeWKT,
527
+ options: {
528
+ wkt: {}
537
529
  }
538
- });
530
+ };
539
531
 
540
532
  // ../gis/src/lib/binary-to-geojson.ts
541
533
  function binaryToGeometry(data, startIndex, endIndex) {
@@ -552,7 +544,9 @@
552
544
  }
553
545
  }
554
546
  function polygonToGeoJson(data, startIndex = -Infinity, endIndex = Infinity) {
555
- const { positions } = data;
547
+ const {
548
+ positions
549
+ } = data;
556
550
  const polygonIndices = data.polygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
557
551
  const primitivePolygonIndices = data.primitivePolygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
558
552
  const multi = polygonIndices.length > 2;
@@ -564,7 +558,10 @@
564
558
  const ringCoordinates = ringToGeoJson(positions, startRingIndex, endRingIndex);
565
559
  coordinates2.push(ringCoordinates);
566
560
  }
567
- return { type: "Polygon", coordinates: coordinates2 };
561
+ return {
562
+ type: "Polygon",
563
+ coordinates: coordinates2
564
+ };
568
565
  }
569
566
  const coordinates = [];
570
567
  for (let i = 0; i < polygonIndices.length - 1; i++) {
@@ -573,31 +570,50 @@
573
570
  const polygonCoordinates = polygonToGeoJson(data, startPolygonIndex, endPolygonIndex).coordinates;
574
571
  coordinates.push(polygonCoordinates);
575
572
  }
576
- return { type: "MultiPolygon", coordinates };
573
+ return {
574
+ type: "MultiPolygon",
575
+ coordinates
576
+ };
577
577
  }
578
578
  function lineStringToGeoJson(data, startIndex = -Infinity, endIndex = Infinity) {
579
- const { positions } = data;
579
+ const {
580
+ positions
581
+ } = data;
580
582
  const pathIndices = data.pathIndices.value.filter((x) => x >= startIndex && x <= endIndex);
581
583
  const multi = pathIndices.length > 2;
582
584
  if (!multi) {
583
585
  const coordinates2 = ringToGeoJson(positions, pathIndices[0], pathIndices[1]);
584
- return { type: "LineString", coordinates: coordinates2 };
586
+ return {
587
+ type: "LineString",
588
+ coordinates: coordinates2
589
+ };
585
590
  }
586
591
  const coordinates = [];
587
592
  for (let i = 0; i < pathIndices.length - 1; i++) {
588
593
  const ringCoordinates = ringToGeoJson(positions, pathIndices[i], pathIndices[i + 1]);
589
594
  coordinates.push(ringCoordinates);
590
595
  }
591
- return { type: "MultiLineString", coordinates };
596
+ return {
597
+ type: "MultiLineString",
598
+ coordinates
599
+ };
592
600
  }
593
601
  function pointToGeoJson(data, startIndex, endIndex) {
594
- const { positions } = data;
602
+ const {
603
+ positions
604
+ } = data;
595
605
  const coordinates = ringToGeoJson(positions, startIndex, endIndex);
596
606
  const multi = coordinates.length > 1;
597
607
  if (multi) {
598
- return { type: "MultiPoint", coordinates };
608
+ return {
609
+ type: "MultiPoint",
610
+ coordinates
611
+ };
599
612
  }
600
- return { type: "Point", coordinates: coordinates[0] };
613
+ return {
614
+ type: "Point",
615
+ coordinates: coordinates[0]
616
+ };
601
617
  }
602
618
  function ringToGeoJson(positions, startIndex, endIndex) {
603
619
  startIndex = startIndex || 0;
@@ -612,19 +628,22 @@
612
628
  }
613
629
  return ringCoordinates;
614
630
  }
615
- var init_binary_to_geojson = __esm({
616
- "../gis/src/lib/binary-to-geojson.ts"() {
617
- }
618
- });
619
-
620
- // ../gis/src/index.ts
621
- var init_src = __esm({
622
- "../gis/src/index.ts"() {
623
- init_binary_to_geojson();
624
- }
625
- });
626
631
 
627
632
  // src/lib/parse-wkb-header.ts
633
+ var EWKB_FLAG_Z = 2147483648;
634
+ var EWKB_FLAG_M = 1073741824;
635
+ var EWKB_FLAG_SRID = 536870912;
636
+ var MAX_SRID = 1e4;
637
+ var WKBGeometryType = /* @__PURE__ */ function(WKBGeometryType2) {
638
+ WKBGeometryType2[WKBGeometryType2["Point"] = 1] = "Point";
639
+ WKBGeometryType2[WKBGeometryType2["LineString"] = 2] = "LineString";
640
+ WKBGeometryType2[WKBGeometryType2["Polygon"] = 3] = "Polygon";
641
+ WKBGeometryType2[WKBGeometryType2["MultiPoint"] = 4] = "MultiPoint";
642
+ WKBGeometryType2[WKBGeometryType2["MultiLineString"] = 5] = "MultiLineString";
643
+ WKBGeometryType2[WKBGeometryType2["MultiPolygon"] = 6] = "MultiPolygon";
644
+ WKBGeometryType2[WKBGeometryType2["GeometryCollection"] = 7] = "GeometryCollection";
645
+ return WKBGeometryType2;
646
+ }({});
628
647
  function isWKB(arrayBuffer) {
629
648
  const dataView = new DataView(arrayBuffer);
630
649
  let byteOffset = 0;
@@ -715,24 +734,6 @@
715
734
  }
716
735
  return wkbHeader;
717
736
  }
718
- var EWKB_FLAG_Z, EWKB_FLAG_M, EWKB_FLAG_SRID, MAX_SRID, WKBGeometryType;
719
- var init_parse_wkb_header = __esm({
720
- "src/lib/parse-wkb-header.ts"() {
721
- EWKB_FLAG_Z = 2147483648;
722
- EWKB_FLAG_M = 1073741824;
723
- EWKB_FLAG_SRID = 536870912;
724
- MAX_SRID = 1e4;
725
- (function(WKBGeometryType2) {
726
- WKBGeometryType2[WKBGeometryType2["Point"] = 1] = "Point";
727
- WKBGeometryType2[WKBGeometryType2["LineString"] = 2] = "LineString";
728
- WKBGeometryType2[WKBGeometryType2["Polygon"] = 3] = "Polygon";
729
- WKBGeometryType2[WKBGeometryType2["MultiPoint"] = 4] = "MultiPoint";
730
- WKBGeometryType2[WKBGeometryType2["MultiLineString"] = 5] = "MultiLineString";
731
- WKBGeometryType2[WKBGeometryType2["MultiPolygon"] = 6] = "MultiPolygon";
732
- WKBGeometryType2[WKBGeometryType2["GeometryCollection"] = 7] = "GeometryCollection";
733
- })(WKBGeometryType || (WKBGeometryType = {}));
734
- }
735
- });
736
737
 
737
738
  // src/lib/parse-wkb.ts
738
739
  function parseWKB(arrayBuffer, options) {
@@ -750,7 +751,11 @@
750
751
  function parseWKBToBinary(arrayBuffer, options) {
751
752
  const dataView = new DataView(arrayBuffer);
752
753
  const wkbHeader = parseWKBHeader(dataView);
753
- const { geometryType, dimensions, littleEndian } = wkbHeader;
754
+ const {
755
+ geometryType,
756
+ dimensions,
757
+ littleEndian
758
+ } = wkbHeader;
754
759
  const offset = wkbHeader.byteOffset;
755
760
  switch (geometryType) {
756
761
  case WKBGeometryType.Point:
@@ -785,7 +790,13 @@
785
790
  offset += 8;
786
791
  }
787
792
  return {
788
- geometry: { type: "Point", positions: { value: positions, size: dimension } },
793
+ geometry: {
794
+ type: "Point",
795
+ positions: {
796
+ value: positions,
797
+ size: dimension
798
+ }
799
+ },
789
800
  offset
790
801
  };
791
802
  }
@@ -804,19 +815,28 @@
804
815
  return {
805
816
  geometry: {
806
817
  type: "LineString",
807
- positions: { value: positions, size: dimension },
808
- pathIndices: { value: new Uint16Array(pathIndices), size: 1 }
818
+ positions: {
819
+ value: positions,
820
+ size: dimension
821
+ },
822
+ pathIndices: {
823
+ value: new Uint16Array(pathIndices),
824
+ size: 1
825
+ }
809
826
  },
810
827
  offset
811
828
  };
812
829
  }
830
+ var cumulativeSum = (sum) => (value) => sum += value;
813
831
  function parsePolygon2(dataView, offset, dimension, littleEndian) {
814
832
  const nRings = dataView.getUint32(offset, littleEndian);
815
833
  offset += 4;
816
834
  const rings = [];
817
835
  for (let i = 0; i < nRings; i++) {
818
836
  const parsed = parseLineString2(dataView, offset, dimension, littleEndian);
819
- const { positions } = parsed.geometry;
837
+ const {
838
+ positions
839
+ } = parsed.geometry;
820
840
  offset = parsed.offset;
821
841
  rings.push(positions.value);
822
842
  }
@@ -830,12 +850,18 @@
830
850
  return {
831
851
  geometry: {
832
852
  type: "Polygon",
833
- positions: { value: concatenatedPositions, size: dimension },
853
+ positions: {
854
+ value: concatenatedPositions,
855
+ size: dimension
856
+ },
834
857
  polygonIndices: {
835
858
  value: new Uint16Array(polygonIndices),
836
859
  size: 1
837
860
  },
838
- primitivePolygonIndices: { value: new Uint16Array(primitivePolygonIndices), size: 1 }
861
+ primitivePolygonIndices: {
862
+ value: new Uint16Array(primitivePolygonIndices),
863
+ size: 1
864
+ }
839
865
  },
840
866
  offset
841
867
  };
@@ -896,7 +922,10 @@
896
922
  const concatenatedPositions = new Float64Array(concatTypedArrays(positions).buffer);
897
923
  return {
898
924
  type: "Point",
899
- positions: { value: concatenatedPositions, size: dimension }
925
+ positions: {
926
+ value: concatenatedPositions,
927
+ size: dimension
928
+ }
900
929
  };
901
930
  }
902
931
  function concatenateBinaryLineGeometries(binaryLineGeometries, dimension) {
@@ -906,15 +935,24 @@
906
935
  pathIndices.unshift(0);
907
936
  return {
908
937
  type: "LineString",
909
- positions: { value: concatenatedPositions, size: dimension },
910
- pathIndices: { value: new Uint16Array(pathIndices), size: 1 }
938
+ positions: {
939
+ value: concatenatedPositions,
940
+ size: dimension
941
+ },
942
+ pathIndices: {
943
+ value: new Uint16Array(pathIndices),
944
+ size: 1
945
+ }
911
946
  };
912
947
  }
913
948
  function concatenateBinaryPolygonGeometries(binaryPolygonGeometries, dimension) {
914
949
  const polygons = [];
915
950
  const primitivePolygons = [];
916
951
  for (const binaryPolygon of binaryPolygonGeometries) {
917
- const { positions, primitivePolygonIndices: primitivePolygonIndices2 } = binaryPolygon;
952
+ const {
953
+ positions,
954
+ primitivePolygonIndices: primitivePolygonIndices2
955
+ } = binaryPolygon;
918
956
  polygons.push(positions.value);
919
957
  primitivePolygons.push(primitivePolygonIndices2.value);
920
958
  }
@@ -927,9 +965,18 @@
927
965
  }
928
966
  return {
929
967
  type: "Polygon",
930
- positions: { value: concatenatedPositions, size: dimension },
931
- polygonIndices: { value: new Uint16Array(polygonIndices), size: 1 },
932
- primitivePolygonIndices: { value: new Uint16Array(primitivePolygonIndices), size: 1 }
968
+ positions: {
969
+ value: concatenatedPositions,
970
+ size: dimension
971
+ },
972
+ polygonIndices: {
973
+ value: new Uint16Array(polygonIndices),
974
+ size: 1
975
+ },
976
+ primitivePolygonIndices: {
977
+ value: new Uint16Array(primitivePolygonIndices),
978
+ size: 1
979
+ }
933
980
  };
934
981
  }
935
982
  function concatTypedArrays(arrays) {
@@ -948,164 +995,157 @@
948
995
  }
949
996
  return buffer;
950
997
  }
951
- var cumulativeSum;
952
- var init_parse_wkb = __esm({
953
- "src/lib/parse-wkb.ts"() {
954
- init_src();
955
- init_parse_wkb_header();
956
- cumulativeSum = (sum) => (value) => sum += value;
957
- }
958
- });
959
998
 
960
999
  // src/wkb-loader.ts
961
- var WKBWorkerLoader, WKBLoader;
962
- var init_wkb_loader = __esm({
963
- "src/wkb-loader.ts"() {
964
- init_version();
965
- init_parse_wkb();
966
- init_parse_wkb_header();
967
- WKBWorkerLoader = {
968
- name: "WKB",
969
- id: "wkb",
970
- module: "wkt",
971
- version: VERSION,
972
- worker: true,
973
- category: "geometry",
974
- extensions: ["wkb"],
975
- mimeTypes: [],
976
- tests: [isWKB],
977
- options: {
978
- wkb: {
979
- shape: "binary-geometry"
980
- }
981
- }
982
- };
983
- WKBLoader = {
984
- ...WKBWorkerLoader,
985
- parse: async (arrayBuffer) => parseWKB(arrayBuffer),
986
- parseSync: parseWKB
987
- };
1000
+ var WKBWorkerLoader = {
1001
+ name: "WKB",
1002
+ id: "wkb",
1003
+ module: "wkt",
1004
+ version: VERSION,
1005
+ worker: true,
1006
+ category: "geometry",
1007
+ extensions: ["wkb"],
1008
+ mimeTypes: [],
1009
+ // TODO can we define static, serializable tests, eg. some binary strings?
1010
+ tests: [isWKB],
1011
+ options: {
1012
+ wkb: {
1013
+ shape: "binary-geometry"
1014
+ }
988
1015
  }
989
- });
1016
+ };
1017
+ var WKBLoader = {
1018
+ ...WKBWorkerLoader,
1019
+ parse: async (arrayBuffer) => parseWKB(arrayBuffer),
1020
+ parseSync: parseWKB
1021
+ };
990
1022
 
991
1023
  // src/lib/utils/binary-writer.ts
992
- var LE, BE, BinaryWriter;
993
- var init_binary_writer = __esm({
994
- "src/lib/utils/binary-writer.ts"() {
995
- LE = true;
996
- BE = false;
997
- BinaryWriter = class {
998
- constructor(size, allowResize) {
999
- this.byteOffset = 0;
1000
- this.allowResize = false;
1001
- this.arrayBuffer = new ArrayBuffer(size);
1002
- this.dataView = new DataView(this.arrayBuffer);
1003
- this.byteOffset = 0;
1004
- this.allowResize = allowResize || false;
1005
- }
1006
- writeUInt8(value) {
1007
- this._ensureSize(1);
1008
- this.dataView.setUint8(this.byteOffset, value);
1009
- this.byteOffset += 1;
1010
- }
1011
- writeUInt16LE(value) {
1012
- this._ensureSize(2);
1013
- this.dataView.setUint16(this.byteOffset, value, LE);
1014
- this.byteOffset += 2;
1015
- }
1016
- writeUInt16BE(value) {
1017
- this._ensureSize(2);
1018
- this.dataView.setUint16(this.byteOffset, value, BE);
1019
- this.byteOffset += 2;
1020
- }
1021
- writeUInt32LE(value) {
1022
- this._ensureSize(4);
1023
- this.dataView.setUint32(this.byteOffset, value, LE);
1024
- this.byteOffset += 4;
1025
- }
1026
- writeUInt32BE(value) {
1027
- this._ensureSize(4);
1028
- this.dataView.setUint32(this.byteOffset, value, BE);
1029
- this.byteOffset += 4;
1030
- }
1031
- writeInt8(value) {
1032
- this._ensureSize(1);
1033
- this.dataView.setInt8(this.byteOffset, value);
1034
- this.byteOffset += 1;
1035
- }
1036
- writeInt16LE(value) {
1037
- this._ensureSize(2);
1038
- this.dataView.setInt16(this.byteOffset, value, LE);
1039
- this.byteOffset += 2;
1040
- }
1041
- writeInt16BE(value) {
1042
- this._ensureSize(2);
1043
- this.dataView.setInt16(this.byteOffset, value, BE);
1044
- this.byteOffset += 2;
1045
- }
1046
- writeInt32LE(value) {
1047
- this._ensureSize(4);
1048
- this.dataView.setInt32(this.byteOffset, value, LE);
1049
- this.byteOffset += 4;
1050
- }
1051
- writeInt32BE(value) {
1052
- this._ensureSize(4);
1053
- this.dataView.setInt32(this.byteOffset, value, BE);
1054
- this.byteOffset += 4;
1055
- }
1056
- writeFloatLE(value) {
1057
- this._ensureSize(4);
1058
- this.dataView.setFloat32(this.byteOffset, value, LE);
1059
- this.byteOffset += 4;
1060
- }
1061
- writeFloatBE(value) {
1062
- this._ensureSize(4);
1063
- this.dataView.setFloat32(this.byteOffset, value, BE);
1064
- this.byteOffset += 4;
1065
- }
1066
- writeDoubleLE(value) {
1067
- this._ensureSize(8);
1068
- this.dataView.setFloat64(this.byteOffset, value, LE);
1069
- this.byteOffset += 8;
1070
- }
1071
- writeDoubleBE(value) {
1072
- this._ensureSize(8);
1073
- this.dataView.setFloat64(this.byteOffset, value, BE);
1074
- this.byteOffset += 8;
1075
- }
1076
- writeVarInt(value) {
1077
- let length = 1;
1078
- while ((value & 4294967168) !== 0) {
1079
- this.writeUInt8(value & 127 | 128);
1080
- value >>>= 7;
1081
- length++;
1082
- }
1083
- this.writeUInt8(value & 127);
1084
- return length;
1085
- }
1086
- writeBuffer(arrayBuffer) {
1087
- this._ensureSize(arrayBuffer.byteLength);
1088
- const tempArray = new Uint8Array(this.arrayBuffer);
1089
- tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);
1090
- this.byteOffset += arrayBuffer.byteLength;
1091
- }
1092
- _ensureSize(size) {
1093
- if (this.arrayBuffer.byteLength < this.byteOffset + size) {
1094
- if (this.allowResize) {
1095
- const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);
1096
- const tempArray = new Uint8Array(newArrayBuffer);
1097
- tempArray.set(new Uint8Array(this.arrayBuffer));
1098
- this.arrayBuffer = newArrayBuffer;
1099
- } else {
1100
- throw new Error("BinaryWriter overflow");
1101
- }
1102
- }
1024
+ var LE = true;
1025
+ var BE = false;
1026
+ var BinaryWriter = class {
1027
+ byteOffset = 0;
1028
+ allowResize = false;
1029
+ constructor(size, allowResize) {
1030
+ this.arrayBuffer = new ArrayBuffer(size);
1031
+ this.dataView = new DataView(this.arrayBuffer);
1032
+ this.byteOffset = 0;
1033
+ this.allowResize = allowResize || false;
1034
+ }
1035
+ writeUInt8(value) {
1036
+ this._ensureSize(1);
1037
+ this.dataView.setUint8(this.byteOffset, value);
1038
+ this.byteOffset += 1;
1039
+ }
1040
+ writeUInt16LE(value) {
1041
+ this._ensureSize(2);
1042
+ this.dataView.setUint16(this.byteOffset, value, LE);
1043
+ this.byteOffset += 2;
1044
+ }
1045
+ writeUInt16BE(value) {
1046
+ this._ensureSize(2);
1047
+ this.dataView.setUint16(this.byteOffset, value, BE);
1048
+ this.byteOffset += 2;
1049
+ }
1050
+ writeUInt32LE(value) {
1051
+ this._ensureSize(4);
1052
+ this.dataView.setUint32(this.byteOffset, value, LE);
1053
+ this.byteOffset += 4;
1054
+ }
1055
+ writeUInt32BE(value) {
1056
+ this._ensureSize(4);
1057
+ this.dataView.setUint32(this.byteOffset, value, BE);
1058
+ this.byteOffset += 4;
1059
+ }
1060
+ writeInt8(value) {
1061
+ this._ensureSize(1);
1062
+ this.dataView.setInt8(this.byteOffset, value);
1063
+ this.byteOffset += 1;
1064
+ }
1065
+ writeInt16LE(value) {
1066
+ this._ensureSize(2);
1067
+ this.dataView.setInt16(this.byteOffset, value, LE);
1068
+ this.byteOffset += 2;
1069
+ }
1070
+ writeInt16BE(value) {
1071
+ this._ensureSize(2);
1072
+ this.dataView.setInt16(this.byteOffset, value, BE);
1073
+ this.byteOffset += 2;
1074
+ }
1075
+ writeInt32LE(value) {
1076
+ this._ensureSize(4);
1077
+ this.dataView.setInt32(this.byteOffset, value, LE);
1078
+ this.byteOffset += 4;
1079
+ }
1080
+ writeInt32BE(value) {
1081
+ this._ensureSize(4);
1082
+ this.dataView.setInt32(this.byteOffset, value, BE);
1083
+ this.byteOffset += 4;
1084
+ }
1085
+ writeFloatLE(value) {
1086
+ this._ensureSize(4);
1087
+ this.dataView.setFloat32(this.byteOffset, value, LE);
1088
+ this.byteOffset += 4;
1089
+ }
1090
+ writeFloatBE(value) {
1091
+ this._ensureSize(4);
1092
+ this.dataView.setFloat32(this.byteOffset, value, BE);
1093
+ this.byteOffset += 4;
1094
+ }
1095
+ writeDoubleLE(value) {
1096
+ this._ensureSize(8);
1097
+ this.dataView.setFloat64(this.byteOffset, value, LE);
1098
+ this.byteOffset += 8;
1099
+ }
1100
+ writeDoubleBE(value) {
1101
+ this._ensureSize(8);
1102
+ this.dataView.setFloat64(this.byteOffset, value, BE);
1103
+ this.byteOffset += 8;
1104
+ }
1105
+ /** A varint uses a variable number of bytes */
1106
+ writeVarInt(value) {
1107
+ let length = 1;
1108
+ while ((value & 4294967168) !== 0) {
1109
+ this.writeUInt8(value & 127 | 128);
1110
+ value >>>= 7;
1111
+ length++;
1112
+ }
1113
+ this.writeUInt8(value & 127);
1114
+ return length;
1115
+ }
1116
+ /** Append another ArrayBuffer to this ArrayBuffer */
1117
+ writeBuffer(arrayBuffer) {
1118
+ this._ensureSize(arrayBuffer.byteLength);
1119
+ const tempArray = new Uint8Array(this.arrayBuffer);
1120
+ tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);
1121
+ this.byteOffset += arrayBuffer.byteLength;
1122
+ }
1123
+ /** Resizes this.arrayBuffer if not enough space */
1124
+ _ensureSize(size) {
1125
+ if (this.arrayBuffer.byteLength < this.byteOffset + size) {
1126
+ if (this.allowResize) {
1127
+ const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);
1128
+ const tempArray = new Uint8Array(newArrayBuffer);
1129
+ tempArray.set(new Uint8Array(this.arrayBuffer));
1130
+ this.arrayBuffer = newArrayBuffer;
1131
+ } else {
1132
+ throw new Error("BinaryWriter overflow");
1103
1133
  }
1104
- };
1134
+ }
1105
1135
  }
1106
- });
1136
+ };
1107
1137
 
1108
1138
  // src/lib/encode-wkb.ts
1139
+ var WKB = /* @__PURE__ */ function(WKB2) {
1140
+ WKB2[WKB2["Point"] = 1] = "Point";
1141
+ WKB2[WKB2["LineString"] = 2] = "LineString";
1142
+ WKB2[WKB2["Polygon"] = 3] = "Polygon";
1143
+ WKB2[WKB2["MultiPoint"] = 4] = "MultiPoint";
1144
+ WKB2[WKB2["MultiLineString"] = 5] = "MultiLineString";
1145
+ WKB2[WKB2["MultiPolygon"] = 6] = "MultiPolygon";
1146
+ WKB2[WKB2["GeometryCollection"] = 7] = "GeometryCollection";
1147
+ return WKB2;
1148
+ }({});
1109
1149
  function encodeWKB(geometry, options = {}) {
1110
1150
  if (geometry.type === "Feature") {
1111
1151
  geometry = geometry.geometry;
@@ -1157,7 +1197,7 @@
1157
1197
  function encodePoint(coordinates, options) {
1158
1198
  const writer = new BinaryWriter(getPointSize(options));
1159
1199
  writer.writeInt8(1);
1160
- writeWkbType(writer, 1, options);
1200
+ writeWkbType(writer, WKB.Point, options);
1161
1201
  if (typeof coordinates[0] === "undefined" && typeof coordinates[1] === "undefined") {
1162
1202
  writer.writeDoubleLE(NaN);
1163
1203
  writer.writeDoubleLE(NaN);
@@ -1190,7 +1230,7 @@
1190
1230
  const size = getLineStringSize(coordinates, options);
1191
1231
  const writer = new BinaryWriter(size);
1192
1232
  writer.writeInt8(1);
1193
- writeWkbType(writer, 2, options);
1233
+ writeWkbType(writer, WKB.LineString, options);
1194
1234
  writer.writeUInt32LE(coordinates.length);
1195
1235
  for (const coordinate of coordinates) {
1196
1236
  writeCoordinate(writer, coordinate, options);
@@ -1204,7 +1244,7 @@
1204
1244
  function encodePolygon(coordinates, options) {
1205
1245
  const writer = new BinaryWriter(getPolygonSize(coordinates, options));
1206
1246
  writer.writeInt8(1);
1207
- writeWkbType(writer, 3, options);
1247
+ writeWkbType(writer, WKB.Polygon, options);
1208
1248
  const [exteriorRing, ...interiorRings] = coordinates;
1209
1249
  if (exteriorRing.length > 0) {
1210
1250
  writer.writeUInt32LE(1 + interiorRings.length);
@@ -1239,7 +1279,7 @@
1239
1279
  const writer = new BinaryWriter(getMultiPointSize(multiPoint, options));
1240
1280
  const points = multiPoint.coordinates;
1241
1281
  writer.writeInt8(1);
1242
- writeWkbType(writer, 4, options);
1282
+ writeWkbType(writer, WKB.MultiPoint, options);
1243
1283
  writer.writeUInt32LE(points.length);
1244
1284
  for (const point of points) {
1245
1285
  const arrayBuffer = encodePoint(point, options);
@@ -1257,7 +1297,7 @@
1257
1297
  const writer = new BinaryWriter(getMultiLineStringSize(multiLineString, options));
1258
1298
  const lineStrings = multiLineString.coordinates;
1259
1299
  writer.writeInt8(1);
1260
- writeWkbType(writer, 5, options);
1300
+ writeWkbType(writer, WKB.MultiLineString, options);
1261
1301
  writer.writeUInt32LE(lineStrings.length);
1262
1302
  for (const lineString of lineStrings) {
1263
1303
  const encodedLineString = encodeLineString(lineString, options);
@@ -1277,7 +1317,7 @@
1277
1317
  const writer = new BinaryWriter(getMultiPolygonSize(multiPolygon, options));
1278
1318
  const polygons = multiPolygon.coordinates;
1279
1319
  writer.writeInt8(1);
1280
- writeWkbType(writer, 6, options);
1320
+ writeWkbType(writer, WKB.MultiPolygon, options);
1281
1321
  writer.writeUInt32LE(polygons.length);
1282
1322
  for (const polygon of polygons) {
1283
1323
  const encodedPolygon = encodePolygon(polygon, options);
@@ -1296,7 +1336,7 @@
1296
1336
  function encodeGeometryCollection(collection, options) {
1297
1337
  const writer = new BinaryWriter(getGeometryCollectionSize(collection, options));
1298
1338
  writer.writeInt8(1);
1299
- writeWkbType(writer, 7, options);
1339
+ writeWkbType(writer, WKB.GeometryCollection, options);
1300
1340
  writer.writeUInt32LE(collection.geometries.length);
1301
1341
  for (const geometry of collection.geometries) {
1302
1342
  const arrayBuffer = encodeWKB(geometry, options);
@@ -1312,7 +1352,11 @@
1312
1352
  return size;
1313
1353
  }
1314
1354
  function writeWkbType(writer, geometryType, options) {
1315
- const { hasZ, hasM, srid } = options;
1355
+ const {
1356
+ hasZ,
1357
+ hasM,
1358
+ srid
1359
+ } = options;
1316
1360
  let dimensionType = 0;
1317
1361
  if (!srid) {
1318
1362
  if (hasZ && hasM) {
@@ -1342,46 +1386,37 @@
1342
1386
  }
1343
1387
  return coordinateSize;
1344
1388
  }
1345
- var WKB;
1346
- var init_encode_wkb = __esm({
1347
- "src/lib/encode-wkb.ts"() {
1348
- init_binary_writer();
1349
- (function(WKB2) {
1350
- WKB2[WKB2["Point"] = 1] = "Point";
1351
- WKB2[WKB2["LineString"] = 2] = "LineString";
1352
- WKB2[WKB2["Polygon"] = 3] = "Polygon";
1353
- WKB2[WKB2["MultiPoint"] = 4] = "MultiPoint";
1354
- WKB2[WKB2["MultiLineString"] = 5] = "MultiLineString";
1355
- WKB2[WKB2["MultiPolygon"] = 6] = "MultiPolygon";
1356
- WKB2[WKB2["GeometryCollection"] = 7] = "GeometryCollection";
1357
- })(WKB || (WKB = {}));
1358
- }
1359
- });
1360
1389
 
1361
1390
  // src/wkb-writer.ts
1362
- var WKBWriter;
1363
- var init_wkb_writer = __esm({
1364
- "src/wkb-writer.ts"() {
1365
- init_version();
1366
- init_encode_wkb();
1367
- WKBWriter = {
1368
- name: "WKB (Well Known Binary)",
1369
- id: "wkb",
1370
- module: "wkt",
1371
- version: VERSION,
1372
- extensions: ["wkb"],
1373
- encodeSync: encodeWKB,
1374
- options: {
1375
- wkb: {
1376
- hasZ: false,
1377
- hasM: false
1378
- }
1379
- }
1380
- };
1391
+ var WKBWriter = {
1392
+ name: "WKB (Well Known Binary)",
1393
+ id: "wkb",
1394
+ module: "wkt",
1395
+ version: VERSION,
1396
+ extensions: ["wkb"],
1397
+ encodeSync: encodeWKB,
1398
+ options: {
1399
+ wkb: {
1400
+ hasZ: false,
1401
+ hasM: false
1402
+ }
1381
1403
  }
1382
- });
1404
+ };
1383
1405
 
1384
1406
  // src/lib/utils/hex-transcoder.ts
1407
+ var alphabet = "0123456789abcdef";
1408
+ var encodeLookup = [];
1409
+ var decodeLookup = [];
1410
+ for (let i = 0; i < 256; i++) {
1411
+ encodeLookup[i] = alphabet[i >> 4 & 15] + alphabet[i & 15];
1412
+ if (i < 16) {
1413
+ if (i < 10) {
1414
+ decodeLookup[48 + i] = i;
1415
+ } else {
1416
+ decodeLookup[97 - 10 + i] = i;
1417
+ }
1418
+ }
1419
+ }
1385
1420
  function encodeHex(array) {
1386
1421
  const length = array.length;
1387
1422
  let string = "";
@@ -1402,26 +1437,24 @@
1402
1437
  }
1403
1438
  return array;
1404
1439
  }
1405
- var alphabet, encodeLookup, decodeLookup;
1406
- var init_hex_transcoder = __esm({
1407
- "src/lib/utils/hex-transcoder.ts"() {
1408
- alphabet = "0123456789abcdef";
1409
- encodeLookup = [];
1410
- decodeLookup = [];
1411
- for (let i = 0; i < 256; i++) {
1412
- encodeLookup[i] = alphabet[i >> 4 & 15] + alphabet[i & 15];
1413
- if (i < 16) {
1414
- if (i < 10) {
1415
- decodeLookup[48 + i] = i;
1416
- } else {
1417
- decodeLookup[97 - 10 + i] = i;
1418
- }
1419
- }
1420
- }
1421
- }
1422
- });
1423
1440
 
1424
1441
  // src/hex-wkb-loader.ts
1442
+ var HexWKBLoader = {
1443
+ name: "Hexadecimal WKB",
1444
+ id: "wkb",
1445
+ module: "wkt",
1446
+ version: VERSION,
1447
+ worker: true,
1448
+ category: "geometry",
1449
+ extensions: ["wkb"],
1450
+ mimeTypes: [],
1451
+ options: WKBLoader.options,
1452
+ text: true,
1453
+ testText: isHexWKB,
1454
+ // TODO - encoding here seems wasteful - extend hex transcoder?
1455
+ parse: async (arrayBuffer) => parseHexWKB(new TextDecoder().decode(arrayBuffer)),
1456
+ parseTextSync: parseHexWKB
1457
+ };
1425
1458
  function parseHexWKB(text, options) {
1426
1459
  const uint8Array = decodeHex(text);
1427
1460
  const binaryGeometry = WKBLoader.parseSync?.(uint8Array.buffer, options);
@@ -1439,96 +1472,68 @@
1439
1472
  }
1440
1473
  return /^[0-9a-fA-F]+$/.test(string.slice(2));
1441
1474
  }
1442
- var HexWKBLoader;
1443
- var init_hex_wkb_loader = __esm({
1444
- "src/hex-wkb-loader.ts"() {
1445
- init_wkb_loader();
1446
- init_version();
1447
- init_hex_transcoder();
1448
- HexWKBLoader = {
1449
- name: "Hexadecimal WKB",
1450
- id: "wkb",
1451
- module: "wkt",
1452
- version: VERSION,
1453
- worker: true,
1454
- category: "geometry",
1455
- extensions: ["wkb"],
1456
- mimeTypes: [],
1457
- options: WKBLoader.options,
1458
- text: true,
1459
- testText: isHexWKB,
1460
- parse: async (arrayBuffer) => parseHexWKB(new TextDecoder().decode(arrayBuffer)),
1461
- parseTextSync: parseHexWKB
1462
- };
1463
- }
1464
- });
1465
1475
 
1466
1476
  // src/lib/utils/binary-reader.ts
1467
- var BinaryReader;
1468
- var init_binary_reader = __esm({
1469
- "src/lib/utils/binary-reader.ts"() {
1470
- BinaryReader = class {
1471
- constructor(arrayBuffer, isBigEndian = false) {
1472
- this.arrayBuffer = arrayBuffer;
1473
- this.dataView = new DataView(arrayBuffer);
1474
- this.byteOffset = 0;
1475
- this.littleEndian = !isBigEndian;
1476
- }
1477
- readUInt8() {
1478
- const value = this.dataView.getUint8(this.byteOffset);
1479
- this.byteOffset += 1;
1480
- return value;
1481
- }
1482
- readUInt16() {
1483
- const value = this.dataView.getUint16(this.byteOffset, this.littleEndian);
1484
- this.byteOffset += 2;
1485
- return value;
1486
- }
1487
- readUInt32() {
1488
- const value = this.dataView.getUint32(this.byteOffset, this.littleEndian);
1489
- this.byteOffset += 4;
1490
- return value;
1491
- }
1492
- readInt8() {
1493
- const value = this.dataView.getInt8(this.byteOffset);
1494
- this.byteOffset += 1;
1495
- return value;
1496
- }
1497
- readInt16() {
1498
- const value = this.dataView.getInt16(this.byteOffset, this.littleEndian);
1499
- this.byteOffset += 2;
1500
- return value;
1501
- }
1502
- readInt32() {
1503
- const value = this.dataView.getInt32(this.byteOffset, this.littleEndian);
1504
- this.byteOffset += 4;
1505
- return value;
1506
- }
1507
- readFloat() {
1508
- const value = this.dataView.getFloat32(this.byteOffset, this.littleEndian);
1509
- this.byteOffset += 4;
1510
- return value;
1511
- }
1512
- readDouble() {
1513
- const value = this.dataView.getFloat64(this.byteOffset, this.littleEndian);
1514
- this.byteOffset += 8;
1515
- return value;
1516
- }
1517
- readVarInt() {
1518
- let result = 0;
1519
- let bytesRead = 0;
1520
- let nextByte;
1521
- do {
1522
- nextByte = this.dataView.getUint8(this.byteOffset + bytesRead);
1523
- result += (nextByte & 127) << 7 * bytesRead;
1524
- bytesRead++;
1525
- } while (nextByte >= 128);
1526
- this.byteOffset += bytesRead;
1527
- return result;
1528
- }
1529
- };
1477
+ var BinaryReader = class {
1478
+ constructor(arrayBuffer, isBigEndian = false) {
1479
+ this.arrayBuffer = arrayBuffer;
1480
+ this.dataView = new DataView(arrayBuffer);
1481
+ this.byteOffset = 0;
1482
+ this.littleEndian = !isBigEndian;
1483
+ }
1484
+ readUInt8() {
1485
+ const value = this.dataView.getUint8(this.byteOffset);
1486
+ this.byteOffset += 1;
1487
+ return value;
1488
+ }
1489
+ readUInt16() {
1490
+ const value = this.dataView.getUint16(this.byteOffset, this.littleEndian);
1491
+ this.byteOffset += 2;
1492
+ return value;
1493
+ }
1494
+ readUInt32() {
1495
+ const value = this.dataView.getUint32(this.byteOffset, this.littleEndian);
1496
+ this.byteOffset += 4;
1497
+ return value;
1498
+ }
1499
+ readInt8() {
1500
+ const value = this.dataView.getInt8(this.byteOffset);
1501
+ this.byteOffset += 1;
1502
+ return value;
1503
+ }
1504
+ readInt16() {
1505
+ const value = this.dataView.getInt16(this.byteOffset, this.littleEndian);
1506
+ this.byteOffset += 2;
1507
+ return value;
1508
+ }
1509
+ readInt32() {
1510
+ const value = this.dataView.getInt32(this.byteOffset, this.littleEndian);
1511
+ this.byteOffset += 4;
1512
+ return value;
1513
+ }
1514
+ readFloat() {
1515
+ const value = this.dataView.getFloat32(this.byteOffset, this.littleEndian);
1516
+ this.byteOffset += 4;
1517
+ return value;
1518
+ }
1519
+ readDouble() {
1520
+ const value = this.dataView.getFloat64(this.byteOffset, this.littleEndian);
1521
+ this.byteOffset += 8;
1522
+ return value;
1523
+ }
1524
+ readVarInt() {
1525
+ let result = 0;
1526
+ let bytesRead = 0;
1527
+ let nextByte;
1528
+ do {
1529
+ nextByte = this.dataView.getUint8(this.byteOffset + bytesRead);
1530
+ result += (nextByte & 127) << 7 * bytesRead;
1531
+ bytesRead++;
1532
+ } while (nextByte >= 128);
1533
+ this.byteOffset += bytesRead;
1534
+ return result;
1530
1535
  }
1531
- });
1536
+ };
1532
1537
 
1533
1538
  // src/lib/parse-twkb.ts
1534
1539
  function isTWKB(arrayBuffer) {
@@ -1621,13 +1626,22 @@
1621
1626
  }
1622
1627
  function parsePoint3(reader, context) {
1623
1628
  if (context.isEmpty) {
1624
- return { type: "Point", coordinates: [] };
1629
+ return {
1630
+ type: "Point",
1631
+ coordinates: []
1632
+ };
1625
1633
  }
1626
- return { type: "Point", coordinates: readFirstPoint(reader, context) };
1634
+ return {
1635
+ type: "Point",
1636
+ coordinates: readFirstPoint(reader, context)
1637
+ };
1627
1638
  }
1628
1639
  function parseLineString3(reader, context) {
1629
1640
  if (context.isEmpty) {
1630
- return { type: "LineString", coordinates: [] };
1641
+ return {
1642
+ type: "LineString",
1643
+ coordinates: []
1644
+ };
1631
1645
  }
1632
1646
  const pointCount = reader.readVarInt();
1633
1647
  const previousPoint = makePreviousPoint(context);
@@ -1635,11 +1649,17 @@
1635
1649
  for (let i = 0; i < pointCount; i++) {
1636
1650
  points.push(parseNextPoint(reader, context, previousPoint));
1637
1651
  }
1638
- return { type: "LineString", coordinates: points };
1652
+ return {
1653
+ type: "LineString",
1654
+ coordinates: points
1655
+ };
1639
1656
  }
1640
1657
  function parsePolygon3(reader, context) {
1641
1658
  if (context.isEmpty) {
1642
- return { type: "Polygon", coordinates: [] };
1659
+ return {
1660
+ type: "Polygon",
1661
+ coordinates: []
1662
+ };
1643
1663
  }
1644
1664
  const ringCount = reader.readVarInt();
1645
1665
  const previousPoint = makePreviousPoint(context);
@@ -1657,11 +1677,17 @@
1657
1677
  }
1658
1678
  polygon.push(interiorRing);
1659
1679
  }
1660
- return { type: "Polygon", coordinates: polygon };
1680
+ return {
1681
+ type: "Polygon",
1682
+ coordinates: polygon
1683
+ };
1661
1684
  }
1662
1685
  function parseMultiPoint3(reader, context) {
1663
1686
  if (context.isEmpty) {
1664
- return { type: "MultiPoint", coordinates: [] };
1687
+ return {
1688
+ type: "MultiPoint",
1689
+ coordinates: []
1690
+ };
1665
1691
  }
1666
1692
  const previousPoint = makePreviousPoint(context);
1667
1693
  const pointCount = reader.readVarInt();
@@ -1669,11 +1695,17 @@
1669
1695
  for (let i = 0; i < pointCount; i++) {
1670
1696
  coordinates.push(parseNextPoint(reader, context, previousPoint));
1671
1697
  }
1672
- return { type: "MultiPoint", coordinates };
1698
+ return {
1699
+ type: "MultiPoint",
1700
+ coordinates
1701
+ };
1673
1702
  }
1674
1703
  function parseMultiLineString3(reader, context) {
1675
1704
  if (context.isEmpty) {
1676
- return { type: "MultiLineString", coordinates: [] };
1705
+ return {
1706
+ type: "MultiLineString",
1707
+ coordinates: []
1708
+ };
1677
1709
  }
1678
1710
  const previousPoint = makePreviousPoint(context);
1679
1711
  const lineStringCount = reader.readVarInt();
@@ -1686,11 +1718,17 @@
1686
1718
  }
1687
1719
  coordinates.push(lineString);
1688
1720
  }
1689
- return { type: "MultiLineString", coordinates };
1721
+ return {
1722
+ type: "MultiLineString",
1723
+ coordinates
1724
+ };
1690
1725
  }
1691
1726
  function parseMultiPolygon3(reader, context) {
1692
1727
  if (context.isEmpty) {
1693
- return { type: "MultiPolygon", coordinates: [] };
1728
+ return {
1729
+ type: "MultiPolygon",
1730
+ coordinates: []
1731
+ };
1694
1732
  }
1695
1733
  const previousPoint = makePreviousPoint(context);
1696
1734
  const polygonCount = reader.readVarInt();
@@ -1713,10 +1751,16 @@
1713
1751
  }
1714
1752
  polygons.push(polygon);
1715
1753
  }
1716
- return { type: "MultiPolygon", coordinates: polygons };
1754
+ return {
1755
+ type: "MultiPolygon",
1756
+ coordinates: polygons
1757
+ };
1717
1758
  }
1718
1759
  function parseGeometryCollection2(reader, context) {
1719
- return { type: "GeometryCollection", geometries: [] };
1760
+ return {
1761
+ type: "GeometryCollection",
1762
+ geometries: []
1763
+ };
1720
1764
  }
1721
1765
  function zigZagDecode(value) {
1722
1766
  return value >> 1 ^ -(value & 1);
@@ -1745,42 +1789,30 @@
1745
1789
  }
1746
1790
  return previousPoint.slice();
1747
1791
  }
1748
- var init_parse_twkb = __esm({
1749
- "src/lib/parse-twkb.ts"() {
1750
- init_binary_reader();
1751
- init_parse_wkb_header();
1752
- }
1753
- });
1754
1792
 
1755
1793
  // src/twkb-loader.ts
1756
- var TWKBWorkerLoader, TWKBLoader;
1757
- var init_twkb_loader = __esm({
1758
- "src/twkb-loader.ts"() {
1759
- init_version();
1760
- init_parse_twkb();
1761
- TWKBWorkerLoader = {
1762
- name: "TWKB (Tiny Well-Known Binary)",
1763
- id: "twkb",
1764
- module: "wkt",
1765
- version: VERSION,
1766
- worker: true,
1767
- category: "geometry",
1768
- extensions: ["twkb"],
1769
- mimeTypes: [],
1770
- tests: [isTWKB],
1771
- options: {
1772
- wkb: {
1773
- shape: "binary-geometry"
1774
- }
1775
- }
1776
- };
1777
- TWKBLoader = {
1778
- ...TWKBWorkerLoader,
1779
- parse: async (arrayBuffer) => parseTWKBGeometry(arrayBuffer),
1780
- parseSync: parseTWKBGeometry
1781
- };
1794
+ var TWKBWorkerLoader = {
1795
+ name: "TWKB (Tiny Well-Known Binary)",
1796
+ id: "twkb",
1797
+ module: "wkt",
1798
+ version: VERSION,
1799
+ worker: true,
1800
+ category: "geometry",
1801
+ extensions: ["twkb"],
1802
+ mimeTypes: [],
1803
+ // TODO can we define static, serializable tests, eg. some binary strings?
1804
+ tests: [isTWKB],
1805
+ options: {
1806
+ wkb: {
1807
+ shape: "binary-geometry"
1808
+ }
1782
1809
  }
1783
- });
1810
+ };
1811
+ var TWKBLoader = {
1812
+ ...TWKBWorkerLoader,
1813
+ parse: async (arrayBuffer) => parseTWKBGeometry(arrayBuffer),
1814
+ parseSync: parseTWKBGeometry
1815
+ };
1784
1816
 
1785
1817
  // src/lib/encode-twkb.ts
1786
1818
  function encodeTWKB(geometry, options) {
@@ -1879,7 +1911,9 @@
1879
1911
  return writer.arrayBuffer;
1880
1912
  }
1881
1913
  function encodeMultiPolygon2(writer, context, multiPolygon) {
1882
- const { coordinates } = multiPolygon;
1914
+ const {
1915
+ coordinates
1916
+ } = multiPolygon;
1883
1917
  const isEmpty = coordinates.length === 0;
1884
1918
  writeTwkbHeader(writer, context, WKBGeometryType.MultiPolygon, isEmpty);
1885
1919
  if (!isEmpty) {
@@ -1898,7 +1932,9 @@
1898
1932
  }
1899
1933
  }
1900
1934
  function encodeGeometryCollection2(writer, context, geometryCollection) {
1901
- const { geometries } = geometryCollection;
1935
+ const {
1936
+ geometries
1937
+ } = geometryCollection;
1902
1938
  const isEmpty = geometries.length === 0;
1903
1939
  writeTwkbHeader(writer, context, WKBGeometryType.GeometryCollection, isEmpty);
1904
1940
  if (geometries.length > 0) {
@@ -1956,79 +1992,24 @@
1956
1992
  mFactor: Math.pow(10, mPrecision)
1957
1993
  };
1958
1994
  }
1959
- var init_encode_twkb = __esm({
1960
- "src/lib/encode-twkb.ts"() {
1961
- init_binary_writer();
1962
- init_parse_wkb_header();
1963
- }
1964
- });
1965
1995
 
1966
1996
  // src/twkb-writer.ts
1967
- var TWKBWriter;
1968
- var init_twkb_writer = __esm({
1969
- "src/twkb-writer.ts"() {
1970
- init_version();
1971
- init_encode_twkb();
1972
- TWKBWriter = {
1973
- name: "TWKB (Tiny Well Known Binary)",
1974
- id: "twkb",
1975
- module: "wkt",
1976
- version: VERSION,
1977
- extensions: ["twkb"],
1978
- encodeSync: async (data, options) => encodeTWKB,
1979
- options: {
1980
- twkb: {}
1981
- }
1982
- };
1983
- }
1984
- });
1985
-
1986
- // src/index.ts
1987
- var src_exports = {};
1988
- __export(src_exports, {
1989
- HexWKBLoader: () => HexWKBLoader,
1990
- TWKBLoader: () => TWKBLoader,
1991
- TWKBWriter: () => TWKBWriter,
1992
- WKBLoader: () => WKBLoader,
1993
- WKBWorkerLoader: () => WKBWorkerLoader,
1994
- WKBWriter: () => WKBWriter,
1995
- WKTCRSLoader: () => WKTCRSLoader,
1996
- WKTCRSWriter: () => WKTCRSWriter,
1997
- WKTLoader: () => WKTLoader,
1998
- WKTWorkerLoader: () => WKTWorkerLoader,
1999
- WKTWriter: () => WKTWriter,
2000
- decodeHex: () => decodeHex,
2001
- encodeHex: () => encodeHex,
2002
- isTWKB: () => isTWKB,
2003
- isWKB: () => isWKB,
2004
- isWKT: () => isWKT,
2005
- parseWKBHeader: () => parseWKBHeader
2006
- });
2007
- var init_src2 = __esm({
2008
- "src/index.ts"() {
2009
- init_wkt_crs_loader();
2010
- init_wkt_crs_writer();
2011
- init_wkt_loader();
2012
- init_wkt_writer();
2013
- init_wkb_loader();
2014
- init_wkb_writer();
2015
- init_hex_wkb_loader();
2016
- init_twkb_loader();
2017
- init_twkb_writer();
2018
- init_parse_wkt();
2019
- init_parse_wkb_header();
2020
- init_parse_twkb();
2021
- init_hex_transcoder();
2022
- }
2023
- });
2024
-
2025
- // src/bundle.ts
2026
- var require_bundle = __commonJS({
2027
- "src/bundle.ts"(exports, module) {
2028
- var moduleExports = (init_src2(), src_exports);
2029
- globalThis.loaders = globalThis.loaders || {};
2030
- module.exports = Object.assign(globalThis.loaders, moduleExports);
1997
+ var TWKBWriter = {
1998
+ name: "TWKB (Tiny Well Known Binary)",
1999
+ id: "twkb",
2000
+ module: "wkt",
2001
+ version: VERSION,
2002
+ extensions: ["twkb"],
2003
+ // @ts-expect-error not implemented yet
2004
+ encodeSync: async (data, options) => encodeTWKB,
2005
+ options: {
2006
+ twkb: {
2007
+ // hasZ: false,
2008
+ // hasM: false
2009
+ }
2031
2010
  }
2032
- });
2033
- require_bundle();
2011
+ };
2012
+ return __toCommonJS(src_exports);
2034
2013
  })();
2014
+ return __exports__;
2015
+ });