@gmb/bitmark-parser 6.11.1 → 7.1.0

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 (45) hide show
  1. package/README.md +361 -57
  2. package/dist/browser/bitmark-parser.min.js +4 -4
  3. package/dist/browser/bitmark-parser.min.js.map +1 -1
  4. package/dist/browser/cjs/index.cjs +966 -372
  5. package/dist/browser/cjs/index.cjs.map +1 -1
  6. package/dist/browser/cjs/index.d.cts +642 -70
  7. package/dist/browser/esm/index.d.ts +642 -70
  8. package/dist/browser/esm/index.js +958 -371
  9. package/dist/browser/esm/index.js.map +1 -1
  10. package/dist/browser/esm/worker-entry.js +790 -247
  11. package/dist/browser/esm/worker-entry.js.map +1 -1
  12. package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
  13. package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
  14. package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
  15. package/dist/index.cjs +163 -124
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +637 -70
  18. package/dist/index.d.ts +637 -70
  19. package/dist/index.js +155 -123
  20. package/dist/index.js.map +1 -1
  21. package/dist/legacy.cjs +8 -30
  22. package/dist/legacy.cjs.map +1 -1
  23. package/dist/legacy.d.cts +0 -2
  24. package/dist/legacy.d.ts +0 -2
  25. package/dist/legacy.js +8 -30
  26. package/dist/legacy.js.map +1 -1
  27. package/dist/worker-entry.cjs +1 -5
  28. package/dist/worker-entry.cjs.map +1 -1
  29. package/package.json +7 -7
  30. package/schema/bitmark.schema.json +507 -141
  31. package/wasm/bitmark_wasm.d.ts +65 -26
  32. package/wasm/bitmark_wasm.js +348 -116
  33. package/wasm/bitmark_wasm_bg.wasm +0 -0
  34. package/wasm/bitmark_wasm_bg.wasm.d.ts +6 -3
  35. package/wasm/package.json +1 -1
  36. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +56 -15
  37. package/wasm-bitmark-json/bitmark_json_wasm.js +321 -77
  38. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
  39. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +5 -2
  40. package/wasm-bitmark-json/package.json +1 -1
  41. package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +65 -26
  42. package/wasm-browser-full/bitmark_browser_full_wasm.js +348 -116
  43. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
  44. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm.d.ts +6 -3
  45. package/wasm-browser-full/package.json +1 -1
@@ -11,17 +11,20 @@ var bitmark_wasm_exports = {};
11
11
  __export(bitmark_wasm_exports, {
12
12
  breakscape_text: () => breakscape_text,
13
13
  canonicalize: () => canonicalize,
14
+ complete: () => complete,
14
15
  convert: () => convert,
15
16
  convert_text: () => convert_text,
16
17
  count_bits: () => count_bits,
17
18
  default: () => bitmark_wasm_default,
18
19
  diff: () => diff,
20
+ hover: () => hover,
19
21
  info: () => info,
22
+ info_text_supported: () => info_text_supported,
20
23
  initSync: () => initSync,
21
24
  is_bitmark: () => is_bitmark,
22
- lex: () => lex,
23
25
  prettify: () => prettify,
24
26
  register: () => register,
27
+ resolve: () => resolve,
25
28
  resolve_patch_document: () => resolve_patch_document,
26
29
  split_bits: () => split_bits,
27
30
  split_json_bits: () => split_json_bits,
@@ -29,7 +32,12 @@ __export(bitmark_wasm_exports, {
29
32
  unbreakscape_text: () => unbreakscape_text
30
33
  });
31
34
  var wasm;
32
- var WASM_VECTOR_LEN = 0;
35
+ var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
36
+ throw Error("TextDecoder not available");
37
+ } };
38
+ if (typeof TextDecoder !== "undefined") {
39
+ cachedTextDecoder.decode();
40
+ }
33
41
  var cachedUint8ArrayMemory0 = null;
34
42
  function getUint8ArrayMemory0() {
35
43
  if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
@@ -37,6 +45,21 @@ function getUint8ArrayMemory0() {
37
45
  }
38
46
  return cachedUint8ArrayMemory0;
39
47
  }
48
+ function getStringFromWasm0(ptr, len) {
49
+ ptr = ptr >>> 0;
50
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
51
+ }
52
+ var heap = new Array(128).fill(void 0);
53
+ heap.push(void 0, null, true, false);
54
+ var heap_next = heap.length;
55
+ function addHeapObject(obj) {
56
+ if (heap_next === heap.length) heap.push(heap.length + 1);
57
+ const idx = heap_next;
58
+ heap_next = heap[idx];
59
+ heap[idx] = obj;
60
+ return idx;
61
+ }
62
+ var WASM_VECTOR_LEN = 0;
40
63
  var cachedTextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
41
64
  throw Error("TextEncoder not available");
42
65
  } };
@@ -87,36 +110,6 @@ function getDataViewMemory0() {
87
110
  }
88
111
  return cachedDataViewMemory0;
89
112
  }
90
- var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
91
- throw Error("TextDecoder not available");
92
- } };
93
- if (typeof TextDecoder !== "undefined") {
94
- cachedTextDecoder.decode();
95
- }
96
- function getStringFromWasm0(ptr, len) {
97
- ptr = ptr >>> 0;
98
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
99
- }
100
- function lex(input, stage) {
101
- let deferred3_0;
102
- let deferred3_1;
103
- try {
104
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
105
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
106
- const len0 = WASM_VECTOR_LEN;
107
- const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
108
- const len1 = WASM_VECTOR_LEN;
109
- wasm.lex(retptr, ptr0, len0, ptr1, len1);
110
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
111
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
112
- deferred3_0 = r0;
113
- deferred3_1 = r1;
114
- return getStringFromWasm0(r0, r1);
115
- } finally {
116
- wasm.__wbindgen_add_to_stack_pointer(16);
117
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
118
- }
119
- }
120
113
  function breakscape_text(input, format, location) {
121
114
  let deferred4_0;
122
115
  let deferred4_1;
@@ -185,9 +178,26 @@ function info(info_type, format, bit, pretty, indent, include_deprecated, only_d
185
178
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
186
179
  }
187
180
  }
181
+ function info_text_supported() {
182
+ const ret = wasm.info_text_supported();
183
+ return ret !== 0;
184
+ }
185
+ function getObject(idx) {
186
+ return heap[idx];
187
+ }
188
+ function dropObject(idx) {
189
+ if (idx < 132) return;
190
+ heap[idx] = heap_next;
191
+ heap_next = idx;
192
+ }
193
+ function takeObject(idx) {
194
+ const ret = getObject(idx);
195
+ dropObject(idx);
196
+ return ret;
197
+ }
188
198
  function convert_text(input, direction, format, location) {
189
- let deferred5_0;
190
- let deferred5_1;
199
+ let deferred6_0;
200
+ let deferred6_1;
191
201
  try {
192
202
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
193
203
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -201,17 +211,26 @@ function convert_text(input, direction, format, location) {
201
211
  wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
202
212
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
203
213
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
204
- deferred5_0 = r0;
205
- deferred5_1 = r1;
206
- return getStringFromWasm0(r0, r1);
214
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
215
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
216
+ var ptr5 = r0;
217
+ var len5 = r1;
218
+ if (r3) {
219
+ ptr5 = 0;
220
+ len5 = 0;
221
+ throw takeObject(r2);
222
+ }
223
+ deferred6_0 = ptr5;
224
+ deferred6_1 = len5;
225
+ return getStringFromWasm0(ptr5, len5);
207
226
  } finally {
208
227
  wasm.__wbindgen_add_to_stack_pointer(16);
209
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
228
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
210
229
  }
211
230
  }
212
231
  function transform(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
213
- let deferred6_0;
214
- let deferred6_1;
232
+ let deferred7_0;
233
+ let deferred7_1;
215
234
  try {
216
235
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
217
236
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -227,37 +246,57 @@ function transform(input, input_format_sel, output_format_sel, mode, patch_json,
227
246
  wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
228
247
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
229
248
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
230
- deferred6_0 = r0;
231
- deferred6_1 = r1;
232
- return getStringFromWasm0(r0, r1);
249
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
250
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
251
+ var ptr6 = r0;
252
+ var len6 = r1;
253
+ if (r3) {
254
+ ptr6 = 0;
255
+ len6 = 0;
256
+ throw takeObject(r2);
257
+ }
258
+ deferred7_0 = ptr6;
259
+ deferred7_1 = len6;
260
+ return getStringFromWasm0(ptr6, len6);
233
261
  } finally {
234
262
  wasm.__wbindgen_add_to_stack_pointer(16);
235
- wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
263
+ wasm.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
236
264
  }
237
265
  }
238
- function resolve_patch_document(input, patch_json) {
239
- let deferred3_0;
240
- let deferred3_1;
266
+ function resolve_patch_document(input, input_format_sel, patch_json) {
267
+ let deferred5_0;
268
+ let deferred5_1;
241
269
  try {
242
270
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
243
271
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
244
272
  const len0 = WASM_VECTOR_LEN;
245
- const ptr1 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
273
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
246
274
  const len1 = WASM_VECTOR_LEN;
247
- wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
275
+ const ptr2 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
276
+ const len2 = WASM_VECTOR_LEN;
277
+ wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
248
278
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
249
279
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
250
- deferred3_0 = r0;
251
- deferred3_1 = r1;
252
- return getStringFromWasm0(r0, r1);
280
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
281
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
282
+ var ptr4 = r0;
283
+ var len4 = r1;
284
+ if (r3) {
285
+ ptr4 = 0;
286
+ len4 = 0;
287
+ throw takeObject(r2);
288
+ }
289
+ deferred5_0 = ptr4;
290
+ deferred5_1 = len4;
291
+ return getStringFromWasm0(ptr4, len4);
253
292
  } finally {
254
293
  wasm.__wbindgen_add_to_stack_pointer(16);
255
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
294
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
256
295
  }
257
296
  }
258
297
  function diff(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
259
- let deferred5_0;
260
- let deferred5_1;
298
+ let deferred6_0;
299
+ let deferred6_1;
261
300
  try {
262
301
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
263
302
  const ptr0 = passStringToWasm0(a, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -271,17 +310,115 @@ function diff(a, b, input_format_sel, output_format_sel, context, locate, simila
271
310
  wasm.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
272
311
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
273
312
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
274
- deferred5_0 = r0;
275
- deferred5_1 = r1;
276
- return getStringFromWasm0(r0, r1);
313
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
314
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
315
+ var ptr5 = r0;
316
+ var len5 = r1;
317
+ if (r3) {
318
+ ptr5 = 0;
319
+ len5 = 0;
320
+ throw takeObject(r2);
321
+ }
322
+ deferred6_0 = ptr5;
323
+ deferred6_1 = len5;
324
+ return getStringFromWasm0(ptr5, len5);
325
+ } finally {
326
+ wasm.__wbindgen_add_to_stack_pointer(16);
327
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
328
+ }
329
+ }
330
+ function complete(input, line, character, position_encoding, include_deprecated, trigger_character) {
331
+ let deferred5_0;
332
+ let deferred5_1;
333
+ try {
334
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
335
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
336
+ const len0 = WASM_VECTOR_LEN;
337
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
338
+ const len1 = WASM_VECTOR_LEN;
339
+ const ptr2 = passStringToWasm0(trigger_character, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
340
+ const len2 = WASM_VECTOR_LEN;
341
+ wasm.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
342
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
343
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
344
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
345
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
346
+ var ptr4 = r0;
347
+ var len4 = r1;
348
+ if (r3) {
349
+ ptr4 = 0;
350
+ len4 = 0;
351
+ throw takeObject(r2);
352
+ }
353
+ deferred5_0 = ptr4;
354
+ deferred5_1 = len4;
355
+ return getStringFromWasm0(ptr4, len4);
356
+ } finally {
357
+ wasm.__wbindgen_add_to_stack_pointer(16);
358
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
359
+ }
360
+ }
361
+ function resolve(input, line, character, position_encoding, include_deprecated, label, kind) {
362
+ let deferred5_0;
363
+ let deferred5_1;
364
+ try {
365
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
366
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
367
+ const len0 = WASM_VECTOR_LEN;
368
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
369
+ const len1 = WASM_VECTOR_LEN;
370
+ const ptr2 = passStringToWasm0(label, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
371
+ const len2 = WASM_VECTOR_LEN;
372
+ wasm.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
373
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
374
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
375
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
376
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
377
+ var ptr4 = r0;
378
+ var len4 = r1;
379
+ if (r3) {
380
+ ptr4 = 0;
381
+ len4 = 0;
382
+ throw takeObject(r2);
383
+ }
384
+ deferred5_0 = ptr4;
385
+ deferred5_1 = len4;
386
+ return getStringFromWasm0(ptr4, len4);
277
387
  } finally {
278
388
  wasm.__wbindgen_add_to_stack_pointer(16);
279
389
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
280
390
  }
281
391
  }
392
+ function hover(input, line, character, position_encoding) {
393
+ let deferred4_0;
394
+ let deferred4_1;
395
+ try {
396
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
397
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
398
+ const len0 = WASM_VECTOR_LEN;
399
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
400
+ const len1 = WASM_VECTOR_LEN;
401
+ wasm.hover(retptr, ptr0, len0, line, character, ptr1, len1);
402
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
403
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
404
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
405
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
406
+ var ptr3 = r0;
407
+ var len3 = r1;
408
+ if (r3) {
409
+ ptr3 = 0;
410
+ len3 = 0;
411
+ throw takeObject(r2);
412
+ }
413
+ deferred4_0 = ptr3;
414
+ deferred4_1 = len3;
415
+ return getStringFromWasm0(ptr3, len3);
416
+ } finally {
417
+ wasm.__wbindgen_add_to_stack_pointer(16);
418
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
419
+ }
420
+ }
282
421
  function register(data_type, data) {
283
- let deferred3_0;
284
- let deferred3_1;
285
422
  try {
286
423
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
287
424
  const ptr0 = passStringToWasm0(data_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -291,17 +428,16 @@ function register(data_type, data) {
291
428
  wasm.register(retptr, ptr0, len0, ptr1, len1);
292
429
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
293
430
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
294
- deferred3_0 = r0;
295
- deferred3_1 = r1;
296
- return getStringFromWasm0(r0, r1);
431
+ if (r1) {
432
+ throw takeObject(r0);
433
+ }
297
434
  } finally {
298
435
  wasm.__wbindgen_add_to_stack_pointer(16);
299
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
300
436
  }
301
437
  }
302
- function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
303
- let deferred5_0;
304
- let deferred5_1;
438
+ function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
439
+ let deferred8_0;
440
+ let deferred8_1;
305
441
  try {
306
442
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
307
443
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -312,20 +448,33 @@ function convert(input, input_format_sel, output_format_sel, mode, pretty, inden
312
448
  const len2 = WASM_VECTOR_LEN;
313
449
  const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
314
450
  const len3 = WASM_VECTOR_LEN;
315
- wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
451
+ const ptr4 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
452
+ const len4 = WASM_VECTOR_LEN;
453
+ const ptr5 = passStringToWasm0(tokens_layout, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
454
+ const len5 = WASM_VECTOR_LEN;
455
+ wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, ptr4, len4, ptr5, len5);
316
456
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
317
457
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
318
- deferred5_0 = r0;
319
- deferred5_1 = r1;
320
- return getStringFromWasm0(r0, r1);
458
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
459
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
460
+ var ptr7 = r0;
461
+ var len7 = r1;
462
+ if (r3) {
463
+ ptr7 = 0;
464
+ len7 = 0;
465
+ throw takeObject(r2);
466
+ }
467
+ deferred8_0 = ptr7;
468
+ deferred8_1 = len7;
469
+ return getStringFromWasm0(ptr7, len7);
321
470
  } finally {
322
471
  wasm.__wbindgen_add_to_stack_pointer(16);
323
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
472
+ wasm.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
324
473
  }
325
474
  }
326
475
  function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
327
- let deferred4_0;
328
- let deferred4_1;
476
+ let deferred5_0;
477
+ let deferred5_1;
329
478
  try {
330
479
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
331
480
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -337,17 +486,26 @@ function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_arou
337
486
  wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
338
487
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
339
488
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
340
- deferred4_0 = r0;
341
- deferred4_1 = r1;
342
- return getStringFromWasm0(r0, r1);
489
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
490
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
491
+ var ptr4 = r0;
492
+ var len4 = r1;
493
+ if (r3) {
494
+ ptr4 = 0;
495
+ len4 = 0;
496
+ throw takeObject(r2);
497
+ }
498
+ deferred5_0 = ptr4;
499
+ deferred5_1 = len4;
500
+ return getStringFromWasm0(ptr4, len4);
343
501
  } finally {
344
502
  wasm.__wbindgen_add_to_stack_pointer(16);
345
- wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
503
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
346
504
  }
347
505
  }
348
506
  function count_bits(input) {
349
- let deferred2_0;
350
- let deferred2_1;
507
+ let deferred3_0;
508
+ let deferred3_1;
351
509
  try {
352
510
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
353
511
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -355,12 +513,21 @@ function count_bits(input) {
355
513
  wasm.count_bits(retptr, ptr0, len0);
356
514
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
357
515
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
358
- deferred2_0 = r0;
359
- deferred2_1 = r1;
360
- return getStringFromWasm0(r0, r1);
516
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
517
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
518
+ var ptr2 = r0;
519
+ var len2 = r1;
520
+ if (r3) {
521
+ ptr2 = 0;
522
+ len2 = 0;
523
+ throw takeObject(r2);
524
+ }
525
+ deferred3_0 = ptr2;
526
+ deferred3_1 = len2;
527
+ return getStringFromWasm0(ptr2, len2);
361
528
  } finally {
362
529
  wasm.__wbindgen_add_to_stack_pointer(16);
363
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
530
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
364
531
  }
365
532
  }
366
533
  function split_bits(input) {
@@ -388,8 +555,8 @@ function is_bitmark(input) {
388
555
  return ret !== 0;
389
556
  }
390
557
  function split_json_bits(input) {
391
- let deferred2_0;
392
- let deferred2_1;
558
+ let deferred3_0;
559
+ let deferred3_1;
393
560
  try {
394
561
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
395
562
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -397,12 +564,21 @@ function split_json_bits(input) {
397
564
  wasm.split_json_bits(retptr, ptr0, len0);
398
565
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
399
566
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
400
- deferred2_0 = r0;
401
- deferred2_1 = r1;
402
- return getStringFromWasm0(r0, r1);
567
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
568
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
569
+ var ptr2 = r0;
570
+ var len2 = r1;
571
+ if (r3) {
572
+ ptr2 = 0;
573
+ len2 = 0;
574
+ throw takeObject(r2);
575
+ }
576
+ deferred3_0 = ptr2;
577
+ deferred3_1 = len2;
578
+ return getStringFromWasm0(ptr2, len2);
403
579
  } finally {
404
580
  wasm.__wbindgen_add_to_stack_pointer(16);
405
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
581
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
406
582
  }
407
583
  }
408
584
  function prettify(json, indent) {
@@ -450,6 +626,10 @@ async function __wbg_load(module, imports) {
450
626
  function __wbg_get_imports() {
451
627
  const imports = {};
452
628
  imports.wbg = {};
629
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
630
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
631
+ return addHeapObject(ret);
632
+ };
453
633
  return imports;
454
634
  }
455
635
  function __wbg_init_memory(imports, memory) {
@@ -505,17 +685,20 @@ var bitmark_browser_full_wasm_exports = {};
505
685
  __export(bitmark_browser_full_wasm_exports, {
506
686
  breakscape_text: () => breakscape_text2,
507
687
  canonicalize: () => canonicalize2,
688
+ complete: () => complete2,
508
689
  convert: () => convert2,
509
690
  convert_text: () => convert_text2,
510
691
  count_bits: () => count_bits2,
511
692
  default: () => bitmark_browser_full_wasm_default,
512
693
  diff: () => diff2,
694
+ hover: () => hover2,
513
695
  info: () => info2,
696
+ info_text_supported: () => info_text_supported2,
514
697
  initSync: () => initSync2,
515
698
  is_bitmark: () => is_bitmark2,
516
- lex: () => lex2,
517
699
  prettify: () => prettify2,
518
700
  register: () => register2,
701
+ resolve: () => resolve2,
519
702
  resolve_patch_document: () => resolve_patch_document2,
520
703
  split_bits: () => split_bits2,
521
704
  split_json_bits: () => split_json_bits2,
@@ -523,7 +706,12 @@ __export(bitmark_browser_full_wasm_exports, {
523
706
  unbreakscape_text: () => unbreakscape_text2
524
707
  });
525
708
  var wasm2;
526
- var WASM_VECTOR_LEN2 = 0;
709
+ var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
710
+ throw Error("TextDecoder not available");
711
+ } };
712
+ if (typeof TextDecoder !== "undefined") {
713
+ cachedTextDecoder2.decode();
714
+ }
527
715
  var cachedUint8ArrayMemory02 = null;
528
716
  function getUint8ArrayMemory02() {
529
717
  if (cachedUint8ArrayMemory02 === null || cachedUint8ArrayMemory02.byteLength === 0) {
@@ -531,6 +719,21 @@ function getUint8ArrayMemory02() {
531
719
  }
532
720
  return cachedUint8ArrayMemory02;
533
721
  }
722
+ function getStringFromWasm02(ptr, len) {
723
+ ptr = ptr >>> 0;
724
+ return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
725
+ }
726
+ var heap2 = new Array(128).fill(void 0);
727
+ heap2.push(void 0, null, true, false);
728
+ var heap_next2 = heap2.length;
729
+ function addHeapObject2(obj) {
730
+ if (heap_next2 === heap2.length) heap2.push(heap2.length + 1);
731
+ const idx = heap_next2;
732
+ heap_next2 = heap2[idx];
733
+ heap2[idx] = obj;
734
+ return idx;
735
+ }
736
+ var WASM_VECTOR_LEN2 = 0;
534
737
  var cachedTextEncoder2 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
535
738
  throw Error("TextEncoder not available");
536
739
  } };
@@ -581,36 +784,6 @@ function getDataViewMemory02() {
581
784
  }
582
785
  return cachedDataViewMemory02;
583
786
  }
584
- var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
585
- throw Error("TextDecoder not available");
586
- } };
587
- if (typeof TextDecoder !== "undefined") {
588
- cachedTextDecoder2.decode();
589
- }
590
- function getStringFromWasm02(ptr, len) {
591
- ptr = ptr >>> 0;
592
- return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
593
- }
594
- function lex2(input, stage) {
595
- let deferred3_0;
596
- let deferred3_1;
597
- try {
598
- const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
599
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
600
- const len0 = WASM_VECTOR_LEN2;
601
- const ptr1 = passStringToWasm02(stage, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
602
- const len1 = WASM_VECTOR_LEN2;
603
- wasm2.lex(retptr, ptr0, len0, ptr1, len1);
604
- var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
605
- var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
606
- deferred3_0 = r0;
607
- deferred3_1 = r1;
608
- return getStringFromWasm02(r0, r1);
609
- } finally {
610
- wasm2.__wbindgen_add_to_stack_pointer(16);
611
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
612
- }
613
- }
614
787
  function breakscape_text2(input, format, location) {
615
788
  let deferred4_0;
616
789
  let deferred4_1;
@@ -679,9 +852,26 @@ function info2(info_type, format, bit, pretty, indent, include_deprecated, only_
679
852
  wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
680
853
  }
681
854
  }
855
+ function info_text_supported2() {
856
+ const ret = wasm2.info_text_supported();
857
+ return ret !== 0;
858
+ }
859
+ function getObject2(idx) {
860
+ return heap2[idx];
861
+ }
862
+ function dropObject2(idx) {
863
+ if (idx < 132) return;
864
+ heap2[idx] = heap_next2;
865
+ heap_next2 = idx;
866
+ }
867
+ function takeObject2(idx) {
868
+ const ret = getObject2(idx);
869
+ dropObject2(idx);
870
+ return ret;
871
+ }
682
872
  function convert_text2(input, direction, format, location) {
683
- let deferred5_0;
684
- let deferred5_1;
873
+ let deferred6_0;
874
+ let deferred6_1;
685
875
  try {
686
876
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
687
877
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -695,17 +885,26 @@ function convert_text2(input, direction, format, location) {
695
885
  wasm2.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
696
886
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
697
887
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
698
- deferred5_0 = r0;
699
- deferred5_1 = r1;
700
- return getStringFromWasm02(r0, r1);
888
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
889
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
890
+ var ptr5 = r0;
891
+ var len5 = r1;
892
+ if (r3) {
893
+ ptr5 = 0;
894
+ len5 = 0;
895
+ throw takeObject2(r2);
896
+ }
897
+ deferred6_0 = ptr5;
898
+ deferred6_1 = len5;
899
+ return getStringFromWasm02(ptr5, len5);
701
900
  } finally {
702
901
  wasm2.__wbindgen_add_to_stack_pointer(16);
703
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
902
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
704
903
  }
705
904
  }
706
905
  function transform2(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
707
- let deferred6_0;
708
- let deferred6_1;
906
+ let deferred7_0;
907
+ let deferred7_1;
709
908
  try {
710
909
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
711
910
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -721,61 +920,179 @@ function transform2(input, input_format_sel, output_format_sel, mode, patch_json
721
920
  wasm2.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
722
921
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
723
922
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
724
- deferred6_0 = r0;
725
- deferred6_1 = r1;
726
- return getStringFromWasm02(r0, r1);
923
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
924
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
925
+ var ptr6 = r0;
926
+ var len6 = r1;
927
+ if (r3) {
928
+ ptr6 = 0;
929
+ len6 = 0;
930
+ throw takeObject2(r2);
931
+ }
932
+ deferred7_0 = ptr6;
933
+ deferred7_1 = len6;
934
+ return getStringFromWasm02(ptr6, len6);
727
935
  } finally {
728
936
  wasm2.__wbindgen_add_to_stack_pointer(16);
729
- wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
937
+ wasm2.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
730
938
  }
731
939
  }
732
- function resolve_patch_document2(input, patch_json) {
733
- let deferred3_0;
734
- let deferred3_1;
940
+ function resolve_patch_document2(input, input_format_sel, patch_json) {
941
+ let deferred5_0;
942
+ let deferred5_1;
735
943
  try {
736
944
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
737
945
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
738
946
  const len0 = WASM_VECTOR_LEN2;
739
- const ptr1 = passStringToWasm02(patch_json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
947
+ const ptr1 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
740
948
  const len1 = WASM_VECTOR_LEN2;
741
- wasm2.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
949
+ const ptr2 = passStringToWasm02(patch_json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
950
+ const len2 = WASM_VECTOR_LEN2;
951
+ wasm2.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
742
952
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
743
953
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
744
- deferred3_0 = r0;
745
- deferred3_1 = r1;
746
- return getStringFromWasm02(r0, r1);
954
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
955
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
956
+ var ptr4 = r0;
957
+ var len4 = r1;
958
+ if (r3) {
959
+ ptr4 = 0;
960
+ len4 = 0;
961
+ throw takeObject2(r2);
962
+ }
963
+ deferred5_0 = ptr4;
964
+ deferred5_1 = len4;
965
+ return getStringFromWasm02(ptr4, len4);
747
966
  } finally {
748
967
  wasm2.__wbindgen_add_to_stack_pointer(16);
749
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
968
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
750
969
  }
751
970
  }
752
971
  function diff2(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
972
+ let deferred6_0;
973
+ let deferred6_1;
974
+ try {
975
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
976
+ const ptr0 = passStringToWasm02(a, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
977
+ const len0 = WASM_VECTOR_LEN2;
978
+ const ptr1 = passStringToWasm02(b, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
979
+ const len1 = WASM_VECTOR_LEN2;
980
+ const ptr2 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
981
+ const len2 = WASM_VECTOR_LEN2;
982
+ const ptr3 = passStringToWasm02(output_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
983
+ const len3 = WASM_VECTOR_LEN2;
984
+ wasm2.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
985
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
986
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
987
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
988
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
989
+ var ptr5 = r0;
990
+ var len5 = r1;
991
+ if (r3) {
992
+ ptr5 = 0;
993
+ len5 = 0;
994
+ throw takeObject2(r2);
995
+ }
996
+ deferred6_0 = ptr5;
997
+ deferred6_1 = len5;
998
+ return getStringFromWasm02(ptr5, len5);
999
+ } finally {
1000
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1001
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1002
+ }
1003
+ }
1004
+ function complete2(input, line, character, position_encoding, include_deprecated, trigger_character) {
1005
+ let deferred5_0;
1006
+ let deferred5_1;
1007
+ try {
1008
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1009
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1010
+ const len0 = WASM_VECTOR_LEN2;
1011
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1012
+ const len1 = WASM_VECTOR_LEN2;
1013
+ const ptr2 = passStringToWasm02(trigger_character, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1014
+ const len2 = WASM_VECTOR_LEN2;
1015
+ wasm2.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
1016
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1017
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1018
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1019
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1020
+ var ptr4 = r0;
1021
+ var len4 = r1;
1022
+ if (r3) {
1023
+ ptr4 = 0;
1024
+ len4 = 0;
1025
+ throw takeObject2(r2);
1026
+ }
1027
+ deferred5_0 = ptr4;
1028
+ deferred5_1 = len4;
1029
+ return getStringFromWasm02(ptr4, len4);
1030
+ } finally {
1031
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1032
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1033
+ }
1034
+ }
1035
+ function resolve2(input, line, character, position_encoding, include_deprecated, label, kind) {
753
1036
  let deferred5_0;
754
1037
  let deferred5_1;
755
1038
  try {
756
1039
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
757
- const ptr0 = passStringToWasm02(a, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1040
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1041
+ const len0 = WASM_VECTOR_LEN2;
1042
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1043
+ const len1 = WASM_VECTOR_LEN2;
1044
+ const ptr2 = passStringToWasm02(label, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1045
+ const len2 = WASM_VECTOR_LEN2;
1046
+ wasm2.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
1047
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1048
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1049
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1050
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1051
+ var ptr4 = r0;
1052
+ var len4 = r1;
1053
+ if (r3) {
1054
+ ptr4 = 0;
1055
+ len4 = 0;
1056
+ throw takeObject2(r2);
1057
+ }
1058
+ deferred5_0 = ptr4;
1059
+ deferred5_1 = len4;
1060
+ return getStringFromWasm02(ptr4, len4);
1061
+ } finally {
1062
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1063
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1064
+ }
1065
+ }
1066
+ function hover2(input, line, character, position_encoding) {
1067
+ let deferred4_0;
1068
+ let deferred4_1;
1069
+ try {
1070
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1071
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
758
1072
  const len0 = WASM_VECTOR_LEN2;
759
- const ptr1 = passStringToWasm02(b, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1073
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
760
1074
  const len1 = WASM_VECTOR_LEN2;
761
- const ptr2 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
762
- const len2 = WASM_VECTOR_LEN2;
763
- const ptr3 = passStringToWasm02(output_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
764
- const len3 = WASM_VECTOR_LEN2;
765
- wasm2.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
1075
+ wasm2.hover(retptr, ptr0, len0, line, character, ptr1, len1);
766
1076
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
767
1077
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
768
- deferred5_0 = r0;
769
- deferred5_1 = r1;
770
- return getStringFromWasm02(r0, r1);
1078
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1079
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1080
+ var ptr3 = r0;
1081
+ var len3 = r1;
1082
+ if (r3) {
1083
+ ptr3 = 0;
1084
+ len3 = 0;
1085
+ throw takeObject2(r2);
1086
+ }
1087
+ deferred4_0 = ptr3;
1088
+ deferred4_1 = len3;
1089
+ return getStringFromWasm02(ptr3, len3);
771
1090
  } finally {
772
1091
  wasm2.__wbindgen_add_to_stack_pointer(16);
773
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1092
+ wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
774
1093
  }
775
1094
  }
776
1095
  function register2(data_type, data) {
777
- let deferred3_0;
778
- let deferred3_1;
779
1096
  try {
780
1097
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
781
1098
  const ptr0 = passStringToWasm02(data_type, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -785,17 +1102,16 @@ function register2(data_type, data) {
785
1102
  wasm2.register(retptr, ptr0, len0, ptr1, len1);
786
1103
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
787
1104
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
788
- deferred3_0 = r0;
789
- deferred3_1 = r1;
790
- return getStringFromWasm02(r0, r1);
1105
+ if (r1) {
1106
+ throw takeObject2(r0);
1107
+ }
791
1108
  } finally {
792
1109
  wasm2.__wbindgen_add_to_stack_pointer(16);
793
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
794
1110
  }
795
1111
  }
796
- function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
797
- let deferred5_0;
798
- let deferred5_1;
1112
+ function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1113
+ let deferred8_0;
1114
+ let deferred8_1;
799
1115
  try {
800
1116
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
801
1117
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -806,20 +1122,33 @@ function convert2(input, input_format_sel, output_format_sel, mode, pretty, inde
806
1122
  const len2 = WASM_VECTOR_LEN2;
807
1123
  const ptr3 = passStringToWasm02(mode, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
808
1124
  const len3 = WASM_VECTOR_LEN2;
809
- wasm2.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
1125
+ const ptr4 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1126
+ const len4 = WASM_VECTOR_LEN2;
1127
+ const ptr5 = passStringToWasm02(tokens_layout, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1128
+ const len5 = WASM_VECTOR_LEN2;
1129
+ wasm2.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, ptr4, len4, ptr5, len5);
810
1130
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
811
1131
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
812
- deferred5_0 = r0;
813
- deferred5_1 = r1;
814
- return getStringFromWasm02(r0, r1);
1132
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1133
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1134
+ var ptr7 = r0;
1135
+ var len7 = r1;
1136
+ if (r3) {
1137
+ ptr7 = 0;
1138
+ len7 = 0;
1139
+ throw takeObject2(r2);
1140
+ }
1141
+ deferred8_0 = ptr7;
1142
+ deferred8_1 = len7;
1143
+ return getStringFromWasm02(ptr7, len7);
815
1144
  } finally {
816
1145
  wasm2.__wbindgen_add_to_stack_pointer(16);
817
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1146
+ wasm2.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
818
1147
  }
819
1148
  }
820
1149
  function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
821
- let deferred4_0;
822
- let deferred4_1;
1150
+ let deferred5_0;
1151
+ let deferred5_1;
823
1152
  try {
824
1153
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
825
1154
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -831,17 +1160,26 @@ function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_aro
831
1160
  wasm2.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
832
1161
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
833
1162
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
834
- deferred4_0 = r0;
835
- deferred4_1 = r1;
836
- return getStringFromWasm02(r0, r1);
1163
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1164
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1165
+ var ptr4 = r0;
1166
+ var len4 = r1;
1167
+ if (r3) {
1168
+ ptr4 = 0;
1169
+ len4 = 0;
1170
+ throw takeObject2(r2);
1171
+ }
1172
+ deferred5_0 = ptr4;
1173
+ deferred5_1 = len4;
1174
+ return getStringFromWasm02(ptr4, len4);
837
1175
  } finally {
838
1176
  wasm2.__wbindgen_add_to_stack_pointer(16);
839
- wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1177
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
840
1178
  }
841
1179
  }
842
1180
  function count_bits2(input) {
843
- let deferred2_0;
844
- let deferred2_1;
1181
+ let deferred3_0;
1182
+ let deferred3_1;
845
1183
  try {
846
1184
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
847
1185
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -849,12 +1187,21 @@ function count_bits2(input) {
849
1187
  wasm2.count_bits(retptr, ptr0, len0);
850
1188
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
851
1189
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
852
- deferred2_0 = r0;
853
- deferred2_1 = r1;
854
- return getStringFromWasm02(r0, r1);
1190
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1191
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1192
+ var ptr2 = r0;
1193
+ var len2 = r1;
1194
+ if (r3) {
1195
+ ptr2 = 0;
1196
+ len2 = 0;
1197
+ throw takeObject2(r2);
1198
+ }
1199
+ deferred3_0 = ptr2;
1200
+ deferred3_1 = len2;
1201
+ return getStringFromWasm02(ptr2, len2);
855
1202
  } finally {
856
1203
  wasm2.__wbindgen_add_to_stack_pointer(16);
857
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1204
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
858
1205
  }
859
1206
  }
860
1207
  function split_bits2(input) {
@@ -882,8 +1229,8 @@ function is_bitmark2(input) {
882
1229
  return ret !== 0;
883
1230
  }
884
1231
  function split_json_bits2(input) {
885
- let deferred2_0;
886
- let deferred2_1;
1232
+ let deferred3_0;
1233
+ let deferred3_1;
887
1234
  try {
888
1235
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
889
1236
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -891,12 +1238,21 @@ function split_json_bits2(input) {
891
1238
  wasm2.split_json_bits(retptr, ptr0, len0);
892
1239
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
893
1240
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
894
- deferred2_0 = r0;
895
- deferred2_1 = r1;
896
- return getStringFromWasm02(r0, r1);
1241
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1242
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1243
+ var ptr2 = r0;
1244
+ var len2 = r1;
1245
+ if (r3) {
1246
+ ptr2 = 0;
1247
+ len2 = 0;
1248
+ throw takeObject2(r2);
1249
+ }
1250
+ deferred3_0 = ptr2;
1251
+ deferred3_1 = len2;
1252
+ return getStringFromWasm02(ptr2, len2);
897
1253
  } finally {
898
1254
  wasm2.__wbindgen_add_to_stack_pointer(16);
899
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1255
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
900
1256
  }
901
1257
  }
902
1258
  function prettify2(json, indent) {
@@ -944,6 +1300,10 @@ async function __wbg_load2(module, imports) {
944
1300
  function __wbg_get_imports2() {
945
1301
  const imports = {};
946
1302
  imports.wbg = {};
1303
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1304
+ const ret = new Error(getStringFromWasm02(arg0, arg1));
1305
+ return addHeapObject2(ret);
1306
+ };
947
1307
  return imports;
948
1308
  }
949
1309
  function __wbg_init_memory2(imports, memory) {
@@ -999,15 +1359,18 @@ var bitmark_json_wasm_exports = {};
999
1359
  __export(bitmark_json_wasm_exports, {
1000
1360
  breakscape_text: () => breakscape_text3,
1001
1361
  canonicalize: () => canonicalize3,
1362
+ complete: () => complete3,
1002
1363
  convert: () => convert3,
1003
1364
  convert_text: () => convert_text3,
1004
1365
  count_bits: () => count_bits3,
1005
1366
  default: () => bitmark_json_wasm_default,
1367
+ hover: () => hover3,
1006
1368
  info: () => info3,
1007
1369
  initSync: () => initSync3,
1008
1370
  is_bitmark: () => is_bitmark3,
1009
1371
  prettify: () => prettify3,
1010
1372
  register: () => register3,
1373
+ resolve: () => resolve3,
1011
1374
  resolve_patch_document: () => resolve_patch_document3,
1012
1375
  split_bits: () => split_bits3,
1013
1376
  split_json_bits: () => split_json_bits3,
@@ -1015,7 +1378,12 @@ __export(bitmark_json_wasm_exports, {
1015
1378
  unbreakscape_text: () => unbreakscape_text3
1016
1379
  });
1017
1380
  var wasm3;
1018
- var WASM_VECTOR_LEN3 = 0;
1381
+ var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
1382
+ throw Error("TextDecoder not available");
1383
+ } };
1384
+ if (typeof TextDecoder !== "undefined") {
1385
+ cachedTextDecoder3.decode();
1386
+ }
1019
1387
  var cachedUint8ArrayMemory03 = null;
1020
1388
  function getUint8ArrayMemory03() {
1021
1389
  if (cachedUint8ArrayMemory03 === null || cachedUint8ArrayMemory03.byteLength === 0) {
@@ -1023,6 +1391,21 @@ function getUint8ArrayMemory03() {
1023
1391
  }
1024
1392
  return cachedUint8ArrayMemory03;
1025
1393
  }
1394
+ function getStringFromWasm03(ptr, len) {
1395
+ ptr = ptr >>> 0;
1396
+ return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
1397
+ }
1398
+ var heap3 = new Array(128).fill(void 0);
1399
+ heap3.push(void 0, null, true, false);
1400
+ var heap_next3 = heap3.length;
1401
+ function addHeapObject3(obj) {
1402
+ if (heap_next3 === heap3.length) heap3.push(heap3.length + 1);
1403
+ const idx = heap_next3;
1404
+ heap_next3 = heap3[idx];
1405
+ heap3[idx] = obj;
1406
+ return idx;
1407
+ }
1408
+ var WASM_VECTOR_LEN3 = 0;
1026
1409
  var cachedTextEncoder3 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
1027
1410
  throw Error("TextEncoder not available");
1028
1411
  } };
@@ -1073,16 +1456,6 @@ function getDataViewMemory03() {
1073
1456
  }
1074
1457
  return cachedDataViewMemory03;
1075
1458
  }
1076
- var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
1077
- throw Error("TextDecoder not available");
1078
- } };
1079
- if (typeof TextDecoder !== "undefined") {
1080
- cachedTextDecoder3.decode();
1081
- }
1082
- function getStringFromWasm03(ptr, len) {
1083
- ptr = ptr >>> 0;
1084
- return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
1085
- }
1086
1459
  function breakscape_text3(input, format, location) {
1087
1460
  let deferred4_0;
1088
1461
  let deferred4_1;
@@ -1151,9 +1524,20 @@ function info3(info_type, format, bit, pretty, indent, include_deprecated, only_
1151
1524
  wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1152
1525
  }
1153
1526
  }
1527
+ function getObject3(idx) {
1528
+ return heap3[idx];
1529
+ }
1530
+ function dropObject3(idx) {
1531
+ if (idx < 132) return;
1532
+ heap3[idx] = heap_next3;
1533
+ heap_next3 = idx;
1534
+ }
1535
+ function takeObject3(idx) {
1536
+ const ret = getObject3(idx);
1537
+ dropObject3(idx);
1538
+ return ret;
1539
+ }
1154
1540
  function register3(data_type, data) {
1155
- let deferred3_0;
1156
- let deferred3_1;
1157
1541
  try {
1158
1542
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1159
1543
  const ptr0 = passStringToWasm03(data_type, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1163,17 +1547,16 @@ function register3(data_type, data) {
1163
1547
  wasm3.register(retptr, ptr0, len0, ptr1, len1);
1164
1548
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1165
1549
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1166
- deferred3_0 = r0;
1167
- deferred3_1 = r1;
1168
- return getStringFromWasm03(r0, r1);
1550
+ if (r1) {
1551
+ throw takeObject3(r0);
1552
+ }
1169
1553
  } finally {
1170
1554
  wasm3.__wbindgen_add_to_stack_pointer(16);
1171
- wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1172
1555
  }
1173
1556
  }
1174
1557
  function transform3(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
1175
- let deferred6_0;
1176
- let deferred6_1;
1558
+ let deferred7_0;
1559
+ let deferred7_1;
1177
1560
  try {
1178
1561
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1179
1562
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1189,37 +1572,148 @@ function transform3(input, input_format_sel, output_format_sel, mode, patch_json
1189
1572
  wasm3.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
1190
1573
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1191
1574
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1192
- deferred6_0 = r0;
1193
- deferred6_1 = r1;
1194
- return getStringFromWasm03(r0, r1);
1575
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1576
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1577
+ var ptr6 = r0;
1578
+ var len6 = r1;
1579
+ if (r3) {
1580
+ ptr6 = 0;
1581
+ len6 = 0;
1582
+ throw takeObject3(r2);
1583
+ }
1584
+ deferred7_0 = ptr6;
1585
+ deferred7_1 = len6;
1586
+ return getStringFromWasm03(ptr6, len6);
1195
1587
  } finally {
1196
1588
  wasm3.__wbindgen_add_to_stack_pointer(16);
1197
- wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1589
+ wasm3.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
1198
1590
  }
1199
1591
  }
1200
- function resolve_patch_document3(input, patch_json) {
1201
- let deferred3_0;
1202
- let deferred3_1;
1592
+ function resolve_patch_document3(input, input_format_sel, patch_json) {
1593
+ let deferred5_0;
1594
+ let deferred5_1;
1203
1595
  try {
1204
1596
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1205
1597
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1206
1598
  const len0 = WASM_VECTOR_LEN3;
1207
- const ptr1 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1599
+ const ptr1 = passStringToWasm03(input_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1208
1600
  const len1 = WASM_VECTOR_LEN3;
1209
- wasm3.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
1601
+ const ptr2 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1602
+ const len2 = WASM_VECTOR_LEN3;
1603
+ wasm3.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
1210
1604
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1211
1605
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1212
- deferred3_0 = r0;
1213
- deferred3_1 = r1;
1214
- return getStringFromWasm03(r0, r1);
1606
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1607
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1608
+ var ptr4 = r0;
1609
+ var len4 = r1;
1610
+ if (r3) {
1611
+ ptr4 = 0;
1612
+ len4 = 0;
1613
+ throw takeObject3(r2);
1614
+ }
1615
+ deferred5_0 = ptr4;
1616
+ deferred5_1 = len4;
1617
+ return getStringFromWasm03(ptr4, len4);
1215
1618
  } finally {
1216
1619
  wasm3.__wbindgen_add_to_stack_pointer(16);
1217
- wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1620
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1621
+ }
1622
+ }
1623
+ function complete3(input, line, character, position_encoding, include_deprecated, trigger_character) {
1624
+ let deferred5_0;
1625
+ let deferred5_1;
1626
+ try {
1627
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1628
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1629
+ const len0 = WASM_VECTOR_LEN3;
1630
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1631
+ const len1 = WASM_VECTOR_LEN3;
1632
+ const ptr2 = passStringToWasm03(trigger_character, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1633
+ const len2 = WASM_VECTOR_LEN3;
1634
+ wasm3.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
1635
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1636
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1637
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1638
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1639
+ var ptr4 = r0;
1640
+ var len4 = r1;
1641
+ if (r3) {
1642
+ ptr4 = 0;
1643
+ len4 = 0;
1644
+ throw takeObject3(r2);
1645
+ }
1646
+ deferred5_0 = ptr4;
1647
+ deferred5_1 = len4;
1648
+ return getStringFromWasm03(ptr4, len4);
1649
+ } finally {
1650
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1651
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1218
1652
  }
1219
1653
  }
1220
- function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
1654
+ function resolve3(input, line, character, position_encoding, include_deprecated, label, kind) {
1221
1655
  let deferred5_0;
1222
1656
  let deferred5_1;
1657
+ try {
1658
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1659
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1660
+ const len0 = WASM_VECTOR_LEN3;
1661
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1662
+ const len1 = WASM_VECTOR_LEN3;
1663
+ const ptr2 = passStringToWasm03(label, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1664
+ const len2 = WASM_VECTOR_LEN3;
1665
+ wasm3.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
1666
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1667
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1668
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1669
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1670
+ var ptr4 = r0;
1671
+ var len4 = r1;
1672
+ if (r3) {
1673
+ ptr4 = 0;
1674
+ len4 = 0;
1675
+ throw takeObject3(r2);
1676
+ }
1677
+ deferred5_0 = ptr4;
1678
+ deferred5_1 = len4;
1679
+ return getStringFromWasm03(ptr4, len4);
1680
+ } finally {
1681
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1682
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1683
+ }
1684
+ }
1685
+ function hover3(input, line, character, position_encoding) {
1686
+ let deferred4_0;
1687
+ let deferred4_1;
1688
+ try {
1689
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1690
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1691
+ const len0 = WASM_VECTOR_LEN3;
1692
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1693
+ const len1 = WASM_VECTOR_LEN3;
1694
+ wasm3.hover(retptr, ptr0, len0, line, character, ptr1, len1);
1695
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1696
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1697
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1698
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1699
+ var ptr3 = r0;
1700
+ var len3 = r1;
1701
+ if (r3) {
1702
+ ptr3 = 0;
1703
+ len3 = 0;
1704
+ throw takeObject3(r2);
1705
+ }
1706
+ deferred4_0 = ptr3;
1707
+ deferred4_1 = len3;
1708
+ return getStringFromWasm03(ptr3, len3);
1709
+ } finally {
1710
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1711
+ wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1712
+ }
1713
+ }
1714
+ function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1715
+ let deferred8_0;
1716
+ let deferred8_1;
1223
1717
  try {
1224
1718
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1225
1719
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1230,20 +1724,33 @@ function convert3(input, input_format_sel, output_format_sel, mode, pretty, inde
1230
1724
  const len2 = WASM_VECTOR_LEN3;
1231
1725
  const ptr3 = passStringToWasm03(mode, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1232
1726
  const len3 = WASM_VECTOR_LEN3;
1233
- wasm3.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
1727
+ const ptr4 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1728
+ const len4 = WASM_VECTOR_LEN3;
1729
+ const ptr5 = passStringToWasm03(tokens_layout, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1730
+ const len5 = WASM_VECTOR_LEN3;
1731
+ wasm3.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, ptr4, len4, ptr5, len5);
1234
1732
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1235
1733
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1236
- deferred5_0 = r0;
1237
- deferred5_1 = r1;
1238
- return getStringFromWasm03(r0, r1);
1734
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1735
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1736
+ var ptr7 = r0;
1737
+ var len7 = r1;
1738
+ if (r3) {
1739
+ ptr7 = 0;
1740
+ len7 = 0;
1741
+ throw takeObject3(r2);
1742
+ }
1743
+ deferred8_0 = ptr7;
1744
+ deferred8_1 = len7;
1745
+ return getStringFromWasm03(ptr7, len7);
1239
1746
  } finally {
1240
1747
  wasm3.__wbindgen_add_to_stack_pointer(16);
1241
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1748
+ wasm3.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
1242
1749
  }
1243
1750
  }
1244
1751
  function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
1245
- let deferred4_0;
1246
- let deferred4_1;
1752
+ let deferred5_0;
1753
+ let deferred5_1;
1247
1754
  try {
1248
1755
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1249
1756
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1255,17 +1762,26 @@ function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_aro
1255
1762
  wasm3.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
1256
1763
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1257
1764
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1258
- deferred4_0 = r0;
1259
- deferred4_1 = r1;
1260
- return getStringFromWasm03(r0, r1);
1765
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1766
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1767
+ var ptr4 = r0;
1768
+ var len4 = r1;
1769
+ if (r3) {
1770
+ ptr4 = 0;
1771
+ len4 = 0;
1772
+ throw takeObject3(r2);
1773
+ }
1774
+ deferred5_0 = ptr4;
1775
+ deferred5_1 = len4;
1776
+ return getStringFromWasm03(ptr4, len4);
1261
1777
  } finally {
1262
1778
  wasm3.__wbindgen_add_to_stack_pointer(16);
1263
- wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1779
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1264
1780
  }
1265
1781
  }
1266
1782
  function count_bits3(input) {
1267
- let deferred2_0;
1268
- let deferred2_1;
1783
+ let deferred3_0;
1784
+ let deferred3_1;
1269
1785
  try {
1270
1786
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1271
1787
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1273,12 +1789,21 @@ function count_bits3(input) {
1273
1789
  wasm3.count_bits(retptr, ptr0, len0);
1274
1790
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1275
1791
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1276
- deferred2_0 = r0;
1277
- deferred2_1 = r1;
1278
- return getStringFromWasm03(r0, r1);
1792
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1793
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1794
+ var ptr2 = r0;
1795
+ var len2 = r1;
1796
+ if (r3) {
1797
+ ptr2 = 0;
1798
+ len2 = 0;
1799
+ throw takeObject3(r2);
1800
+ }
1801
+ deferred3_0 = ptr2;
1802
+ deferred3_1 = len2;
1803
+ return getStringFromWasm03(ptr2, len2);
1279
1804
  } finally {
1280
1805
  wasm3.__wbindgen_add_to_stack_pointer(16);
1281
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1806
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1282
1807
  }
1283
1808
  }
1284
1809
  function split_bits3(input) {
@@ -1306,8 +1831,8 @@ function is_bitmark3(input) {
1306
1831
  return ret !== 0;
1307
1832
  }
1308
1833
  function split_json_bits3(input) {
1309
- let deferred2_0;
1310
- let deferred2_1;
1834
+ let deferred3_0;
1835
+ let deferred3_1;
1311
1836
  try {
1312
1837
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1313
1838
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1315,12 +1840,21 @@ function split_json_bits3(input) {
1315
1840
  wasm3.split_json_bits(retptr, ptr0, len0);
1316
1841
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1317
1842
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1318
- deferred2_0 = r0;
1319
- deferred2_1 = r1;
1320
- return getStringFromWasm03(r0, r1);
1843
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1844
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1845
+ var ptr2 = r0;
1846
+ var len2 = r1;
1847
+ if (r3) {
1848
+ ptr2 = 0;
1849
+ len2 = 0;
1850
+ throw takeObject3(r2);
1851
+ }
1852
+ deferred3_0 = ptr2;
1853
+ deferred3_1 = len2;
1854
+ return getStringFromWasm03(ptr2, len2);
1321
1855
  } finally {
1322
1856
  wasm3.__wbindgen_add_to_stack_pointer(16);
1323
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1857
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1324
1858
  }
1325
1859
  }
1326
1860
  function prettify3(json, indent) {
@@ -1342,8 +1876,8 @@ function prettify3(json, indent) {
1342
1876
  }
1343
1877
  }
1344
1878
  function convert_text3(input, direction, format, location) {
1345
- let deferred5_0;
1346
- let deferred5_1;
1879
+ let deferred6_0;
1880
+ let deferred6_1;
1347
1881
  try {
1348
1882
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1349
1883
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1357,12 +1891,21 @@ function convert_text3(input, direction, format, location) {
1357
1891
  wasm3.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1358
1892
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1359
1893
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1360
- deferred5_0 = r0;
1361
- deferred5_1 = r1;
1362
- return getStringFromWasm03(r0, r1);
1894
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1895
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1896
+ var ptr5 = r0;
1897
+ var len5 = r1;
1898
+ if (r3) {
1899
+ ptr5 = 0;
1900
+ len5 = 0;
1901
+ throw takeObject3(r2);
1902
+ }
1903
+ deferred6_0 = ptr5;
1904
+ deferred6_1 = len5;
1905
+ return getStringFromWasm03(ptr5, len5);
1363
1906
  } finally {
1364
1907
  wasm3.__wbindgen_add_to_stack_pointer(16);
1365
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1908
+ wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1366
1909
  }
1367
1910
  }
1368
1911
  async function __wbg_load3(module, imports) {
@@ -1392,6 +1935,10 @@ async function __wbg_load3(module, imports) {
1392
1935
  function __wbg_get_imports3() {
1393
1936
  const imports = {};
1394
1937
  imports.wbg = {};
1938
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1939
+ const ret = new Error(getStringFromWasm03(arg0, arg1));
1940
+ return addHeapObject3(ret);
1941
+ };
1395
1942
  return imports;
1396
1943
  }
1397
1944
  function __wbg_init_memory3(imports, memory) {
@@ -1445,7 +1992,7 @@ var bitmark_json_wasm_default = __wbg_init3;
1445
1992
  // src/generated/package_info.ts
1446
1993
  var PACKAGE_INFO = {
1447
1994
  "name": "@gmb/bitmark-parser",
1448
- "version": "6.11.1",
1995
+ "version": "7.1.0",
1449
1996
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
1450
1997
  "license": "ISC",
1451
1998
  "description": "A parser for bitmark text, powered by WebAssembly."
@@ -1484,8 +2031,11 @@ function getActive() {
1484
2031
  }
1485
2032
  function setActive(feature, module) {
1486
2033
  for (const [type, data] of registrations) {
1487
- const error = module.register(type, data);
1488
- if (error) throw new RegisterError(error.replace(/^error:\s*/, ""));
2034
+ try {
2035
+ module.register(type, data);
2036
+ } catch (e) {
2037
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
2038
+ }
1489
2039
  }
1490
2040
  active = module;
1491
2041
  activeFeature = feature;
@@ -1498,13 +2048,6 @@ function variant() {
1498
2048
  }
1499
2049
 
1500
2050
  // src/core/hooked-transform.ts
1501
- function isError(s) {
1502
- return s.startsWith("error:");
1503
- }
1504
- function errorString(e) {
1505
- const m = e instanceof Error ? e.message : String(e);
1506
- return m.startsWith("error:") ? m : `error: ${m}`;
1507
- }
1508
2051
  function stripArray(doc) {
1509
2052
  const t = doc.trim();
1510
2053
  return t.startsWith("[") && t.endsWith("]") ? t.slice(1, -1) : doc;
@@ -1516,17 +2059,13 @@ function patchJsonOf(patch) {
1516
2059
  }
1517
2060
  function buildUnits(wasm4, input, inputIsBitmark) {
1518
2061
  if (inputIsBitmark) {
1519
- const out2 = wasm4.split_bits(input);
1520
- if (isError(out2)) throw new Error(out2);
1521
- const slices = JSON.parse(out2);
2062
+ const slices = JSON.parse(wasm4.split_bits(input));
1522
2063
  return slices.map((s) => ({
1523
2064
  view: { format: "bitmark", index: s.index, total: slices.length, source: s.source },
1524
2065
  source: s.source
1525
2066
  }));
1526
2067
  }
1527
- const out = wasm4.split_json_bits(input);
1528
- if (isError(out)) throw new Error(out);
1529
- const envelopes = JSON.parse(out);
2068
+ const envelopes = JSON.parse(wasm4.split_json_bits(input));
1530
2069
  return envelopes.map((env, index) => ({
1531
2070
  view: { format: "json", index, total: envelopes.length, bit: env.bit ?? {} },
1532
2071
  // Per-bit transform consumes a one-bit JSON document.
@@ -1542,6 +2081,7 @@ function planTransform(wasm4, input, options) {
1542
2081
  const sel = options.inputFormat ?? "auto";
1543
2082
  const inputIsBitmark = sel === "bitmark" || sel !== "json" && wasm4.is_bitmark(input);
1544
2083
  const inputFormat = inputIsBitmark ? "bitmark" : "json";
2084
+ wasm4.transform("", "bitmark", output, mode, "", false, indent, spacesAroundValues);
1545
2085
  const units = buildUnits(wasm4, input, inputIsBitmark);
1546
2086
  const total = units.length;
1547
2087
  const hooked = [];
@@ -1557,9 +2097,9 @@ function planTransform(wasm4, input, options) {
1557
2097
  if (patchJson === "") {
1558
2098
  resolved = units.map((_, index) => ({ source: index, bit: null, patch: [] }));
1559
2099
  } else {
1560
- const out = wasm4.resolve_patch_document(input, patchJson);
1561
- if (isError(out)) throw new Error(out);
1562
- resolved = JSON.parse(out);
2100
+ resolved = JSON.parse(
2101
+ wasm4.resolve_patch_document(input, inputFormat, patchJson)
2102
+ );
1563
2103
  }
1564
2104
  const jobs = [];
1565
2105
  const views = [];
@@ -1606,25 +2146,18 @@ function computeBit(wasm4, job) {
1606
2146
  2,
1607
2147
  job.spacesAroundValues
1608
2148
  );
1609
- if (isError(out)) return out;
1610
2149
  return job.outputFormat === "json" ? stripArray(out) : out;
1611
2150
  }
1612
2151
  function recombine(wasm4, elements, output, pretty, indent) {
1613
- if (output === "bitmark" || output === "text") return elements.join("\n");
2152
+ if (output !== "json") return elements.join("\n");
1614
2153
  const arr = `[${elements.join(",")}]`;
1615
2154
  return pretty ? wasm4.prettify(arr, indent) : arr;
1616
2155
  }
1617
2156
  function runHookedTransform(wasm4, input, options) {
1618
- let plan;
1619
- try {
1620
- plan = planTransform(wasm4, input, options);
1621
- } catch (e) {
1622
- return errorString(e);
1623
- }
2157
+ const plan = planTransform(wasm4, input, options);
1624
2158
  const rendered = [];
1625
2159
  for (let i = 0; i < plan.jobs.length; i++) {
1626
2160
  const element = computeBit(wasm4, plan.jobs[i]);
1627
- if (isError(element)) return element;
1628
2161
  options.postHook?.(plan.views[i], element);
1629
2162
  rendered.push(element);
1630
2163
  }
@@ -1633,20 +2166,9 @@ function runHookedTransform(wasm4, input, options) {
1633
2166
 
1634
2167
  // src/core/parallel.ts
1635
2168
  async function orchestrateParallel(wasm4, input, options, runJobs) {
1636
- let plan;
1637
- try {
1638
- plan = planTransform(wasm4, input, options);
1639
- } catch (e) {
1640
- return errorString(e);
1641
- }
1642
- let elements;
1643
- try {
1644
- elements = await runJobs(plan.jobs, options.workers ?? 4);
1645
- } catch (e) {
1646
- return errorString(e);
1647
- }
2169
+ const plan = planTransform(wasm4, input, options);
2170
+ const elements = await runJobs(plan.jobs, options.workers ?? 4);
1648
2171
  for (let i = 0; i < elements.length; i++) {
1649
- if (isError(elements[i])) return elements[i];
1650
2172
  options.postHook?.(plan.views[i], elements[i]);
1651
2173
  }
1652
2174
  return recombine(wasm4, elements, plan.output, plan.pretty, plan.indent);
@@ -1670,57 +2192,53 @@ function getLegacyFileIo() {
1670
2192
  return fileIo;
1671
2193
  }
1672
2194
 
1673
- // src/browser/pool.ts
1674
- function runJobsParallel(jobs, workers, feature) {
2195
+ // src/core/pool.ts
2196
+ function runJobsWithPool(jobs, workers, spawn) {
1675
2197
  if (jobs.length === 0) return Promise.resolve([]);
1676
2198
  const poolSize = Math.max(1, Math.min(workers, jobs.length));
1677
- const workerUrl = new URL("./worker-entry.js", import.meta.url);
1678
- return new Promise((resolve, reject) => {
2199
+ return new Promise((resolve5, reject) => {
1679
2200
  const results = new Array(jobs.length);
1680
2201
  let next = 0;
1681
2202
  let settled = 0;
1682
2203
  let done = false;
1683
2204
  const pool = [];
1684
- const shutdown = () => {
1685
- for (const w of pool) w.terminate();
1686
- };
1687
- const fail = (err) => {
2205
+ const finish = (err) => {
1688
2206
  if (done) return;
1689
2207
  done = true;
1690
- shutdown();
1691
- reject(err);
2208
+ for (const w of pool) w.terminate();
2209
+ if (err) reject(err);
2210
+ else resolve5(results);
1692
2211
  };
1693
2212
  const dispatch = (w) => {
1694
2213
  if (done || next >= jobs.length) return;
1695
2214
  const id = next++;
1696
- w.postMessage({ id, job: jobs[id], feature });
2215
+ w.post({ id, job: jobs[id] });
1697
2216
  };
1698
2217
  for (let i = 0; i < poolSize; i++) {
1699
- const w = new Worker(workerUrl, { type: "module" });
1700
- pool.push(w);
1701
- w.onmessage = (ev) => {
1702
- const res = ev.data;
2218
+ const w = spawn((res) => {
1703
2219
  if (done) return;
1704
- if (!res.ok) {
1705
- fail(new Error(res.error ?? "worker job failed"));
1706
- return;
1707
- }
2220
+ if (!res.ok) return finish(new Error(res.error ?? "worker job failed"));
1708
2221
  results[res.id] = res.element;
1709
- settled++;
1710
- if (settled === jobs.length) {
1711
- done = true;
1712
- shutdown();
1713
- resolve(results);
1714
- return;
1715
- }
1716
- dispatch(w);
1717
- };
1718
- w.onerror = (e) => fail(new Error(e.message || "worker error"));
2222
+ if (++settled === jobs.length) finish();
2223
+ else dispatch(w);
2224
+ }, finish);
2225
+ pool.push(w);
1719
2226
  }
1720
2227
  for (const w of pool) dispatch(w);
1721
2228
  });
1722
2229
  }
1723
2230
 
2231
+ // src/browser/pool.ts
2232
+ function runJobsParallel(jobs, workers, feature) {
2233
+ const workerUrl = new URL("./worker-entry.js", import.meta.url);
2234
+ return runJobsWithPool(jobs, workers, (onResult, onError) => {
2235
+ const w = new Worker(workerUrl, { type: "module" });
2236
+ w.onmessage = (ev) => onResult(ev.data);
2237
+ w.onerror = (e) => onError(new Error(e.message || "worker error"));
2238
+ return { post: (msg) => w.postMessage({ ...msg, feature }), terminate: () => w.terminate() };
2239
+ });
2240
+ }
2241
+
1724
2242
  // src/legacy/index.ts
1725
2243
  var legacy_exports = {};
1726
2244
  __export(legacy_exports, {
@@ -1959,10 +2477,7 @@ var Builder = class {
1959
2477
  }
1960
2478
  }
1961
2479
  this.parseStringTexts(bit);
1962
- const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false);
1963
- if (out.startsWith("error:")) {
1964
- throw new Error(out.slice("error:".length).trim());
1965
- }
2480
+ const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false, "", "");
1966
2481
  const entries = JSON.parse(out);
1967
2482
  const built = entries[0]?.bit ?? bit;
1968
2483
  for (const [key, value] of Object.entries(bit)) {
@@ -2099,8 +2614,7 @@ var BitmarkParserGenerator = class {
2099
2614
  const emit = coreFormat === "bitmark" ? prettyIndent(bitmarkOptions.prettifyJson) : { pretty, indent };
2100
2615
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2101
2616
  const includeUnknown = !jsonOptions.excludeUnknownProperties;
2102
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false);
2103
- this.throwOnError(out);
2617
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false, "", "");
2104
2618
  if (outputFormat === "bitmark" || outputFormat === "text") {
2105
2619
  return this.deliver(out, opts.outputFile, opts.fileOptions);
2106
2620
  }
@@ -2134,7 +2648,6 @@ var BitmarkParserGenerator = class {
2134
2648
  );
2135
2649
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2136
2650
  const out = wasm4.canonicalize(source, isBitmark ? "bitmark" : "json", "optimized", pretty, indent, spaces);
2137
- this.throwOnError(out);
2138
2651
  if (isBitmark) return this.deliver(out, opts.outputFile, opts.fileOptions);
2139
2652
  if (opts.outputFile) return this.deliver(out, opts.outputFile, opts.fileOptions);
2140
2653
  if (pretty || jsonOptions.stringify) return out;
@@ -2151,7 +2664,6 @@ var BitmarkParserGenerator = class {
2151
2664
  const { pretty, indent } = prettyIndent(opts.prettify);
2152
2665
  const coreFormat = format === "pojo" ? "json" : format;
2153
2666
  const out = wasm4.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true, "");
2154
- this.throwOnError(out);
2155
2667
  if (format === "pojo") return JSON.parse(out);
2156
2668
  return out;
2157
2669
  }
@@ -2183,8 +2695,7 @@ var BitmarkParserGenerator = class {
2183
2695
  const isHtmlInput = opts.inputFormat === "html" || opts.inputFormat === void 0 && typeof input === "string" && /<table[\s>]/iu.test(inStr);
2184
2696
  if (!isHtmlInput) {
2185
2697
  const { source, isBitmark } = this.resolveInput(input, void 0);
2186
- const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false);
2187
- this.throwOnError(out2);
2698
+ const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false, "", "");
2188
2699
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2189
2700
  }
2190
2701
  const bitType = opts.tableFormat === "table" ? "table" : "table-extended";
@@ -2193,13 +2704,11 @@ var BitmarkParserGenerator = class {
2193
2704
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2194
2705
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2195
2706
  if (outputFormat === "html") {
2196
- const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false);
2197
- this.throwOnError(out2);
2707
+ const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false, "", "");
2198
2708
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2199
2709
  }
2200
2710
  const coreFormat = outputFormat === "ast" ? "json" : outputFormat;
2201
- const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false);
2202
- this.throwOnError(out);
2711
+ const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false, "", "");
2203
2712
  if (outputFormat === "bitmark" || outputFormat === "text") {
2204
2713
  return this.deliver(out, opts.outputFile, opts.fileOptions);
2205
2714
  }
@@ -2223,8 +2732,7 @@ var BitmarkParserGenerator = class {
2223
2732
  const opts = Object.assign({}, options);
2224
2733
  const wasm4 = getLegacyWasm();
2225
2734
  const { source, isBitmark } = this.resolveInput(input, opts.inputFormat);
2226
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false);
2227
- this.throwOnError(out);
2735
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false, "", "");
2228
2736
  return makePseudoAst(JSON.parse(out));
2229
2737
  }
2230
2738
  /**
@@ -2276,11 +2784,9 @@ var BitmarkParserGenerator = class {
2276
2784
  }
2277
2785
  if (ast !== void 0) {
2278
2786
  const out2 = isBitmarkText ? wasm4.convert_text(JSON.stringify(ast), "astToText", "bitmark++", textLocation) : wasm4.convert_text(JSON.stringify(ast), "astToPlainText", "plainText", textLocation);
2279
- this.throwOnError(out2);
2280
2787
  return this.deliver(out2, opts.outputFile, opts.fileOptions);
2281
2788
  }
2282
2789
  const out = wasm4.convert_text(inStr, "textToAst", isBitmarkText ? "bitmark++" : "plainText", "body");
2283
- this.throwOnError(out);
2284
2790
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2285
2791
  const outStr = pretty ? wasm4.prettify(out, indent) : out;
2286
2792
  if (opts.outputFile) return this.deliver(outStr, opts.outputFile, opts.fileOptions);
@@ -2298,7 +2804,6 @@ var BitmarkParserGenerator = class {
2298
2804
  "bitmark++",
2299
2805
  "body"
2300
2806
  );
2301
- this.throwOnError(out);
2302
2807
  return out;
2303
2808
  }
2304
2809
  /**
@@ -2313,7 +2818,6 @@ var BitmarkParserGenerator = class {
2313
2818
  if (inputFormat === "bitmarkText") {
2314
2819
  const ast = wasm4.convert_text(String(input), "textToAst", "bitmark++", "body");
2315
2820
  const out2 = wasm4.convert_text(ast, "astToPlainText", "bitmark++", "body");
2316
- this.throwOnError(out2);
2317
2821
  return out2;
2318
2822
  }
2319
2823
  if (typeof input === "string" && this.parseTextAstString(input) === void 0 && !wasm4.is_bitmark(input)) {
@@ -2330,8 +2834,7 @@ var BitmarkParserGenerator = class {
2330
2834
  }
2331
2835
  }
2332
2836
  const { source, isBitmark } = this.resolveInput(input, void 0);
2333
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false);
2334
- this.throwOnError(out);
2837
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false, "", "");
2335
2838
  return out;
2336
2839
  }
2337
2840
  /** If `s` parses as a TextAst JSON array, return it. */
@@ -2435,12 +2938,6 @@ var BitmarkParserGenerator = class {
2435
2938
  encoding: fileOptions?.encoding ?? "utf8"
2436
2939
  });
2437
2940
  }
2438
- /** The core reports failures as `error:`-prefixed strings; bpg throws. */
2439
- throwOnError(out) {
2440
- if (out.startsWith("error:")) {
2441
- throw new Error(out.slice("error:".length).trim());
2442
- }
2443
- }
2444
2941
  };
2445
2942
  function extractHtmlTables(html) {
2446
2943
  const tables = [];
@@ -2477,7 +2974,6 @@ function extractHtmlTables(html) {
2477
2974
  }
2478
2975
  function bitmarkTextParse(text) {
2479
2976
  const out = getLegacyWasm().convert_text(text, "textToAst", "bitmark++", "body");
2480
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2481
2977
  return JSON.parse(out);
2482
2978
  }
2483
2979
 
@@ -2802,6 +3298,24 @@ var StringWriter = stubClass("StringWriter", INTERNAL_REASON);
2802
3298
  var FileWriter = stubClass("FileWriter", INTERNAL_REASON);
2803
3299
  var StreamWriter = stubClass("StreamWriter", INTERNAL_REASON);
2804
3300
 
3301
+ // src/editor-types.ts
3302
+ var DiagnosticSeverity = {
3303
+ Error: 1,
3304
+ Warning: 2,
3305
+ Information: 3,
3306
+ Hint: 4
3307
+ };
3308
+ var CompletionItemKind = {
3309
+ Class: 7,
3310
+ Property: 10,
3311
+ Value: 12,
3312
+ Keyword: 14,
3313
+ Snippet: 15,
3314
+ EnumMember: 20,
3315
+ TypeParameter: 25
3316
+ };
3317
+ var CompletionItemTag = { Deprecated: 1 };
3318
+
2805
3319
  // src/types.ts
2806
3320
  function patchEntry(path, op, value) {
2807
3321
  return value === void 0 ? { path, op } : { path, op, value };
@@ -2809,11 +3323,6 @@ function patchEntry(path, op, value) {
2809
3323
  var ALL_LANGUAGES = "all";
2810
3324
 
2811
3325
  // src/core/api.ts
2812
- function lex3(input, options = {}) {
2813
- const wasm4 = getActive();
2814
- if (typeof wasm4.lex !== "function") throw new UnsupportedFeatureError("lex", variant());
2815
- return wasm4.lex(input, options.stage ?? "lex");
2816
- }
2817
3326
  function bitmarkToObjects(input, options = {}) {
2818
3327
  const out = getActive().convert(
2819
3328
  input,
@@ -2824,9 +3333,10 @@ function bitmarkToObjects(input, options = {}) {
2824
3333
  2,
2825
3334
  1,
2826
3335
  options.includeUnknownProperties ?? false,
2827
- false
3336
+ false,
3337
+ "",
3338
+ ""
2828
3339
  );
2829
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2830
3340
  return JSON.parse(out);
2831
3341
  }
2832
3342
  function objectsToBitmark(bits, options = {}) {
@@ -2842,9 +3352,10 @@ function objectsToBitmark(bits, options = {}) {
2842
3352
  2,
2843
3353
  1,
2844
3354
  false,
2845
- false
3355
+ false,
3356
+ "",
3357
+ ""
2846
3358
  );
2847
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2848
3359
  return out;
2849
3360
  }
2850
3361
  function convert4(input, options = {}) {
@@ -2857,7 +3368,65 @@ function convert4(input, options = {}) {
2857
3368
  options.indent ?? 2,
2858
3369
  options.spacesAroundValues ?? 1,
2859
3370
  options.includeUnknownProperties ?? false,
2860
- options.mappingReport ?? false
3371
+ options.mappingReport ?? false,
3372
+ options.positionEncoding ?? "",
3373
+ options.tokensLayout ?? ""
3374
+ );
3375
+ }
3376
+ function semanticTokens(input, options = {}) {
3377
+ return JSON.parse(
3378
+ convert4(input, {
3379
+ inputFormat: "bitmark",
3380
+ outputFormat: "semantic-tokens",
3381
+ positionEncoding: options.positionEncoding,
3382
+ tokensLayout: options.tokensLayout
3383
+ })
3384
+ );
3385
+ }
3386
+ function diagnostics(input, options = {}) {
3387
+ return JSON.parse(
3388
+ convert4(input, {
3389
+ inputFormat: "bitmark",
3390
+ outputFormat: "diagnostics",
3391
+ positionEncoding: options.positionEncoding
3392
+ })
3393
+ );
3394
+ }
3395
+ function complete4(input, position, options = {}) {
3396
+ const wasm4 = getActive();
3397
+ if (typeof wasm4.complete !== "function") throw new UnsupportedFeatureError("complete", variant());
3398
+ return JSON.parse(
3399
+ wasm4.complete(
3400
+ input,
3401
+ position.line,
3402
+ position.character,
3403
+ options.positionEncoding ?? "",
3404
+ options.includeDeprecated ?? false,
3405
+ options.triggerCharacter ?? ""
3406
+ )
3407
+ );
3408
+ }
3409
+ function resolve4(input, position, item, options = {}) {
3410
+ const wasm4 = getActive();
3411
+ if (typeof wasm4.resolve !== "function") throw new UnsupportedFeatureError("resolve", variant());
3412
+ const resolved = JSON.parse(
3413
+ wasm4.resolve(
3414
+ input,
3415
+ position.line,
3416
+ position.character,
3417
+ options.positionEncoding ?? "",
3418
+ options.includeDeprecated ?? false,
3419
+ item.label,
3420
+ item.kind
3421
+ )
3422
+ );
3423
+ return resolved ?? item;
3424
+ }
3425
+ function hover4(input, position, options = {}) {
3426
+ const wasm4 = getActive();
3427
+ if (typeof wasm4.hover !== "function") throw new UnsupportedFeatureError("hover", variant());
3428
+ return JSON.parse(
3429
+ wasm4.hover(input, position.line, position.character, options.positionEncoding ?? "")
2861
3430
  );
2862
3431
  }
2863
3432
  function canonicalize4(input, options = {}) {
@@ -2871,9 +3440,7 @@ function canonicalize4(input, options = {}) {
2871
3440
  );
2872
3441
  }
2873
3442
  function countBits(input) {
2874
- const out = getActive().count_bits(input);
2875
- if (out.startsWith("error:")) throw new Error(out);
2876
- return Number.parseInt(out, 10);
3443
+ return Number.parseInt(getActive().count_bits(input), 10);
2877
3444
  }
2878
3445
  function splitBits(input) {
2879
3446
  return JSON.parse(getActive().split_bits(input));
@@ -2909,7 +3476,6 @@ function diff3(a, b, options = {}) {
2909
3476
  options.bboxTolerance ?? 8,
2910
3477
  options.spacesAroundValues ?? 0
2911
3478
  );
2912
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2913
3479
  return out;
2914
3480
  }
2915
3481
  function diffBits(a, b, options = {}) {
@@ -2935,7 +3501,11 @@ function info4(options = {}) {
2935
3501
  const onlyDeprecated = options.onlyDeprecated ?? false;
2936
3502
  const full = options.full ?? false;
2937
3503
  const language = typeof options.language === "string" ? options.language : options.language?.join(",") ?? "";
2938
- return getActive().info(
3504
+ const wasm4 = getActive();
3505
+ if (format !== "json" && typeof wasm4.info_text_supported !== "function") {
3506
+ throw new UnsupportedFeatureError('info (format: "text")', variant());
3507
+ }
3508
+ return wasm4.info(
2939
3509
  infoType,
2940
3510
  format,
2941
3511
  bit,
@@ -2948,8 +3518,11 @@ function info4(options = {}) {
2948
3518
  );
2949
3519
  }
2950
3520
  function register4(options) {
2951
- const result = getActive().register(options.type, options.data);
2952
- if (result) throw new RegisterError(result.replace(/^error:\s*/, ""));
3521
+ try {
3522
+ getActive().register(options.type, options.data);
3523
+ } catch (e) {
3524
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
3525
+ }
2953
3526
  rememberRegistration(options.type, options.data);
2954
3527
  }
2955
3528
 
@@ -2979,12 +3552,17 @@ setLegacyWasmProvider(() => getActive());
2979
3552
  function defaultFeatureFor(module_or_path) {
2980
3553
  return module_or_path === void 0 ? BROWSER_DEFAULT_FEATURE : "full";
2981
3554
  }
3555
+ function isInitOptions(arg) {
3556
+ if (arg === null || typeof arg !== "object") return false;
3557
+ if ("feature" in arg || "module_or_path" in arg) return true;
3558
+ const proto = Object.getPrototypeOf(arg);
3559
+ return (proto === Object.prototype || proto === null) && Object.keys(arg).length === 0;
3560
+ }
2982
3561
  function normalizeInit(arg) {
2983
- if (arg !== null && typeof arg === "object" && !(arg instanceof URL) && ("feature" in arg || "module_or_path" in arg)) {
2984
- const o = arg;
3562
+ if (isInitOptions(arg)) {
2985
3563
  return {
2986
- feature: o.feature ?? defaultFeatureFor(o.module_or_path),
2987
- module_or_path: o.module_or_path
3564
+ feature: arg.feature ?? defaultFeatureFor(arg.module_or_path),
3565
+ module_or_path: arg.module_or_path
2988
3566
  };
2989
3567
  }
2990
3568
  const module_or_path = arg ?? void 0;
@@ -3004,7 +3582,7 @@ async function init(options) {
3004
3582
  const source = module_or_path ?? new URL(`${WASM_BASE}${v.wasmFile}?v=${PACKAGE_INFO.version}`, import.meta.url);
3005
3583
  const promise = (async () => {
3006
3584
  try {
3007
- const out = await v.init(source);
3585
+ const out = await v.init({ module_or_path: source });
3008
3586
  if (mySeq === initSeq) {
3009
3587
  setActive(feature, v.ns);
3010
3588
  activeOut = out;
@@ -3022,7 +3600,9 @@ async function init(options) {
3022
3600
  function initSync4(module, options = {}) {
3023
3601
  const feature = options.feature ?? defaultFeatureFor(module);
3024
3602
  const v = VARIANTS[feature];
3025
- const out = v.initSync(module);
3603
+ const out = v.initSync({ module });
3604
+ ++initSeq;
3605
+ inflight = void 0;
3026
3606
  setActive(feature, v.ns);
3027
3607
  activeOut = out;
3028
3608
  return out;
@@ -3042,24 +3622,31 @@ function transformParallel(input, options = {}) {
3042
3622
  }
3043
3623
  export {
3044
3624
  ALL_LANGUAGES,
3625
+ CompletionItemKind,
3626
+ CompletionItemTag,
3627
+ DiagnosticSeverity,
3045
3628
  NotInitializedError,
3046
3629
  RegisterError,
3047
3630
  UnsupportedFeatureError,
3048
3631
  bitmarkToObjects,
3049
3632
  breakscapeText,
3050
3633
  canonicalize4 as canonicalize,
3634
+ complete4 as complete,
3051
3635
  convert4 as convert,
3052
3636
  countBits,
3637
+ diagnostics,
3053
3638
  diff3 as diff,
3054
3639
  diffBits,
3640
+ hover4 as hover,
3055
3641
  info4 as info,
3056
3642
  init,
3057
3643
  initSync4 as initSync,
3058
3644
  legacy_exports as legacy,
3059
- lex3 as lex,
3060
3645
  objectsToBitmark,
3061
3646
  patchEntry,
3062
3647
  register4 as register,
3648
+ resolve4 as resolve,
3649
+ semanticTokens,
3063
3650
  splitBits,
3064
3651
  transform4 as transform,
3065
3652
  transformParallel,