@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
@@ -23,24 +23,31 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
23
23
  var index_exports = {};
24
24
  __export(index_exports, {
25
25
  ALL_LANGUAGES: () => ALL_LANGUAGES,
26
+ CompletionItemKind: () => CompletionItemKind,
27
+ CompletionItemTag: () => CompletionItemTag,
28
+ DiagnosticSeverity: () => DiagnosticSeverity,
26
29
  NotInitializedError: () => NotInitializedError,
27
30
  RegisterError: () => RegisterError,
28
31
  UnsupportedFeatureError: () => UnsupportedFeatureError,
29
32
  bitmarkToObjects: () => bitmarkToObjects,
30
33
  breakscapeText: () => breakscapeText,
31
34
  canonicalize: () => canonicalize4,
35
+ complete: () => complete4,
32
36
  convert: () => convert4,
33
37
  countBits: () => countBits,
38
+ diagnostics: () => diagnostics,
34
39
  diff: () => diff3,
35
40
  diffBits: () => diffBits,
41
+ hover: () => hover4,
36
42
  info: () => info4,
37
43
  init: () => init,
38
44
  initSync: () => initSync4,
39
45
  legacy: () => legacy_exports,
40
- lex: () => lex3,
41
46
  objectsToBitmark: () => objectsToBitmark,
42
47
  patchEntry: () => patchEntry,
43
48
  register: () => register4,
49
+ resolve: () => resolve4,
50
+ semanticTokens: () => semanticTokens,
44
51
  splitBits: () => splitBits,
45
52
  transform: () => transform4,
46
53
  transformParallel: () => transformParallel,
@@ -59,17 +66,20 @@ var bitmark_wasm_exports = {};
59
66
  __export(bitmark_wasm_exports, {
60
67
  breakscape_text: () => breakscape_text,
61
68
  canonicalize: () => canonicalize,
69
+ complete: () => complete,
62
70
  convert: () => convert,
63
71
  convert_text: () => convert_text,
64
72
  count_bits: () => count_bits,
65
73
  default: () => bitmark_wasm_default,
66
74
  diff: () => diff,
75
+ hover: () => hover,
67
76
  info: () => info,
77
+ info_text_supported: () => info_text_supported,
68
78
  initSync: () => initSync,
69
79
  is_bitmark: () => is_bitmark,
70
- lex: () => lex,
71
80
  prettify: () => prettify,
72
81
  register: () => register,
82
+ resolve: () => resolve,
73
83
  resolve_patch_document: () => resolve_patch_document,
74
84
  split_bits: () => split_bits,
75
85
  split_json_bits: () => split_json_bits,
@@ -77,7 +87,12 @@ __export(bitmark_wasm_exports, {
77
87
  unbreakscape_text: () => unbreakscape_text
78
88
  });
79
89
  var wasm;
80
- var WASM_VECTOR_LEN = 0;
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
+ }
81
96
  var cachedUint8ArrayMemory0 = null;
82
97
  function getUint8ArrayMemory0() {
83
98
  if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
@@ -85,6 +100,21 @@ function getUint8ArrayMemory0() {
85
100
  }
86
101
  return cachedUint8ArrayMemory0;
87
102
  }
103
+ function getStringFromWasm0(ptr, len) {
104
+ ptr = ptr >>> 0;
105
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
106
+ }
107
+ var heap = new Array(128).fill(void 0);
108
+ heap.push(void 0, null, true, false);
109
+ var heap_next = heap.length;
110
+ function addHeapObject(obj) {
111
+ if (heap_next === heap.length) heap.push(heap.length + 1);
112
+ const idx = heap_next;
113
+ heap_next = heap[idx];
114
+ heap[idx] = obj;
115
+ return idx;
116
+ }
117
+ var WASM_VECTOR_LEN = 0;
88
118
  var cachedTextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
89
119
  throw Error("TextEncoder not available");
90
120
  } };
@@ -135,36 +165,6 @@ function getDataViewMemory0() {
135
165
  }
136
166
  return cachedDataViewMemory0;
137
167
  }
138
- var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
139
- throw Error("TextDecoder not available");
140
- } };
141
- if (typeof TextDecoder !== "undefined") {
142
- cachedTextDecoder.decode();
143
- }
144
- function getStringFromWasm0(ptr, len) {
145
- ptr = ptr >>> 0;
146
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
147
- }
148
- function lex(input, stage) {
149
- let deferred3_0;
150
- let deferred3_1;
151
- try {
152
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
153
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
154
- const len0 = WASM_VECTOR_LEN;
155
- const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
156
- const len1 = WASM_VECTOR_LEN;
157
- wasm.lex(retptr, ptr0, len0, ptr1, len1);
158
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
159
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
160
- deferred3_0 = r0;
161
- deferred3_1 = r1;
162
- return getStringFromWasm0(r0, r1);
163
- } finally {
164
- wasm.__wbindgen_add_to_stack_pointer(16);
165
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
166
- }
167
- }
168
168
  function breakscape_text(input, format, location) {
169
169
  let deferred4_0;
170
170
  let deferred4_1;
@@ -233,9 +233,26 @@ function info(info_type, format, bit, pretty, indent, include_deprecated, only_d
233
233
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
234
234
  }
235
235
  }
236
+ function info_text_supported() {
237
+ const ret = wasm.info_text_supported();
238
+ return ret !== 0;
239
+ }
240
+ function getObject(idx) {
241
+ return heap[idx];
242
+ }
243
+ function dropObject(idx) {
244
+ if (idx < 132) return;
245
+ heap[idx] = heap_next;
246
+ heap_next = idx;
247
+ }
248
+ function takeObject(idx) {
249
+ const ret = getObject(idx);
250
+ dropObject(idx);
251
+ return ret;
252
+ }
236
253
  function convert_text(input, direction, format, location) {
237
- let deferred5_0;
238
- let deferred5_1;
254
+ let deferred6_0;
255
+ let deferred6_1;
239
256
  try {
240
257
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
241
258
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -249,17 +266,26 @@ function convert_text(input, direction, format, location) {
249
266
  wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
250
267
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
251
268
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
252
- deferred5_0 = r0;
253
- deferred5_1 = r1;
254
- return getStringFromWasm0(r0, r1);
269
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
270
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
271
+ var ptr5 = r0;
272
+ var len5 = r1;
273
+ if (r3) {
274
+ ptr5 = 0;
275
+ len5 = 0;
276
+ throw takeObject(r2);
277
+ }
278
+ deferred6_0 = ptr5;
279
+ deferred6_1 = len5;
280
+ return getStringFromWasm0(ptr5, len5);
255
281
  } finally {
256
282
  wasm.__wbindgen_add_to_stack_pointer(16);
257
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
283
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
258
284
  }
259
285
  }
260
286
  function transform(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
261
- let deferred6_0;
262
- let deferred6_1;
287
+ let deferred7_0;
288
+ let deferred7_1;
263
289
  try {
264
290
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
265
291
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -275,37 +301,57 @@ function transform(input, input_format_sel, output_format_sel, mode, patch_json,
275
301
  wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
276
302
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
277
303
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
278
- deferred6_0 = r0;
279
- deferred6_1 = r1;
280
- return getStringFromWasm0(r0, r1);
304
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
305
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
306
+ var ptr6 = r0;
307
+ var len6 = r1;
308
+ if (r3) {
309
+ ptr6 = 0;
310
+ len6 = 0;
311
+ throw takeObject(r2);
312
+ }
313
+ deferred7_0 = ptr6;
314
+ deferred7_1 = len6;
315
+ return getStringFromWasm0(ptr6, len6);
281
316
  } finally {
282
317
  wasm.__wbindgen_add_to_stack_pointer(16);
283
- wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
318
+ wasm.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
284
319
  }
285
320
  }
286
- function resolve_patch_document(input, patch_json) {
287
- let deferred3_0;
288
- let deferred3_1;
321
+ function resolve_patch_document(input, input_format_sel, patch_json) {
322
+ let deferred5_0;
323
+ let deferred5_1;
289
324
  try {
290
325
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
291
326
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
292
327
  const len0 = WASM_VECTOR_LEN;
293
- const ptr1 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
328
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
294
329
  const len1 = WASM_VECTOR_LEN;
295
- wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
330
+ const ptr2 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
331
+ const len2 = WASM_VECTOR_LEN;
332
+ wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
296
333
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
297
334
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
298
- deferred3_0 = r0;
299
- deferred3_1 = r1;
300
- return getStringFromWasm0(r0, r1);
335
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
336
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
337
+ var ptr4 = r0;
338
+ var len4 = r1;
339
+ if (r3) {
340
+ ptr4 = 0;
341
+ len4 = 0;
342
+ throw takeObject(r2);
343
+ }
344
+ deferred5_0 = ptr4;
345
+ deferred5_1 = len4;
346
+ return getStringFromWasm0(ptr4, len4);
301
347
  } finally {
302
348
  wasm.__wbindgen_add_to_stack_pointer(16);
303
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
349
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
304
350
  }
305
351
  }
306
352
  function diff(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
307
- let deferred5_0;
308
- let deferred5_1;
353
+ let deferred6_0;
354
+ let deferred6_1;
309
355
  try {
310
356
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
311
357
  const ptr0 = passStringToWasm0(a, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -319,17 +365,115 @@ function diff(a, b, input_format_sel, output_format_sel, context, locate, simila
319
365
  wasm.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
320
366
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
321
367
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
322
- deferred5_0 = r0;
323
- deferred5_1 = r1;
324
- return getStringFromWasm0(r0, r1);
368
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
369
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
370
+ var ptr5 = r0;
371
+ var len5 = r1;
372
+ if (r3) {
373
+ ptr5 = 0;
374
+ len5 = 0;
375
+ throw takeObject(r2);
376
+ }
377
+ deferred6_0 = ptr5;
378
+ deferred6_1 = len5;
379
+ return getStringFromWasm0(ptr5, len5);
380
+ } finally {
381
+ wasm.__wbindgen_add_to_stack_pointer(16);
382
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
383
+ }
384
+ }
385
+ function complete(input, line, character, position_encoding, include_deprecated, trigger_character) {
386
+ let deferred5_0;
387
+ let deferred5_1;
388
+ try {
389
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
390
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
391
+ const len0 = WASM_VECTOR_LEN;
392
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
393
+ const len1 = WASM_VECTOR_LEN;
394
+ const ptr2 = passStringToWasm0(trigger_character, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
395
+ const len2 = WASM_VECTOR_LEN;
396
+ wasm.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
397
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
398
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
399
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
400
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
401
+ var ptr4 = r0;
402
+ var len4 = r1;
403
+ if (r3) {
404
+ ptr4 = 0;
405
+ len4 = 0;
406
+ throw takeObject(r2);
407
+ }
408
+ deferred5_0 = ptr4;
409
+ deferred5_1 = len4;
410
+ return getStringFromWasm0(ptr4, len4);
411
+ } finally {
412
+ wasm.__wbindgen_add_to_stack_pointer(16);
413
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
414
+ }
415
+ }
416
+ function resolve(input, line, character, position_encoding, include_deprecated, label, kind) {
417
+ let deferred5_0;
418
+ let deferred5_1;
419
+ try {
420
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
421
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
422
+ const len0 = WASM_VECTOR_LEN;
423
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
424
+ const len1 = WASM_VECTOR_LEN;
425
+ const ptr2 = passStringToWasm0(label, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
426
+ const len2 = WASM_VECTOR_LEN;
427
+ wasm.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
428
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
429
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
430
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
431
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
432
+ var ptr4 = r0;
433
+ var len4 = r1;
434
+ if (r3) {
435
+ ptr4 = 0;
436
+ len4 = 0;
437
+ throw takeObject(r2);
438
+ }
439
+ deferred5_0 = ptr4;
440
+ deferred5_1 = len4;
441
+ return getStringFromWasm0(ptr4, len4);
325
442
  } finally {
326
443
  wasm.__wbindgen_add_to_stack_pointer(16);
327
444
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
328
445
  }
329
446
  }
447
+ function hover(input, line, character, position_encoding) {
448
+ let deferred4_0;
449
+ let deferred4_1;
450
+ try {
451
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
452
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
453
+ const len0 = WASM_VECTOR_LEN;
454
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
455
+ const len1 = WASM_VECTOR_LEN;
456
+ wasm.hover(retptr, ptr0, len0, line, character, ptr1, len1);
457
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
458
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
459
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
460
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
461
+ var ptr3 = r0;
462
+ var len3 = r1;
463
+ if (r3) {
464
+ ptr3 = 0;
465
+ len3 = 0;
466
+ throw takeObject(r2);
467
+ }
468
+ deferred4_0 = ptr3;
469
+ deferred4_1 = len3;
470
+ return getStringFromWasm0(ptr3, len3);
471
+ } finally {
472
+ wasm.__wbindgen_add_to_stack_pointer(16);
473
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
474
+ }
475
+ }
330
476
  function register(data_type, data) {
331
- let deferred3_0;
332
- let deferred3_1;
333
477
  try {
334
478
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
335
479
  const ptr0 = passStringToWasm0(data_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -339,17 +483,16 @@ function register(data_type, data) {
339
483
  wasm.register(retptr, ptr0, len0, ptr1, len1);
340
484
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
341
485
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
342
- deferred3_0 = r0;
343
- deferred3_1 = r1;
344
- return getStringFromWasm0(r0, r1);
486
+ if (r1) {
487
+ throw takeObject(r0);
488
+ }
345
489
  } finally {
346
490
  wasm.__wbindgen_add_to_stack_pointer(16);
347
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
348
491
  }
349
492
  }
350
- function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
351
- let deferred5_0;
352
- let deferred5_1;
493
+ function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
494
+ let deferred8_0;
495
+ let deferred8_1;
353
496
  try {
354
497
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
355
498
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -360,20 +503,33 @@ function convert(input, input_format_sel, output_format_sel, mode, pretty, inden
360
503
  const len2 = WASM_VECTOR_LEN;
361
504
  const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
362
505
  const len3 = WASM_VECTOR_LEN;
363
- wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
506
+ const ptr4 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
507
+ const len4 = WASM_VECTOR_LEN;
508
+ const ptr5 = passStringToWasm0(tokens_layout, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
509
+ const len5 = WASM_VECTOR_LEN;
510
+ 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);
364
511
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
365
512
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
366
- deferred5_0 = r0;
367
- deferred5_1 = r1;
368
- return getStringFromWasm0(r0, r1);
513
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
514
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
515
+ var ptr7 = r0;
516
+ var len7 = r1;
517
+ if (r3) {
518
+ ptr7 = 0;
519
+ len7 = 0;
520
+ throw takeObject(r2);
521
+ }
522
+ deferred8_0 = ptr7;
523
+ deferred8_1 = len7;
524
+ return getStringFromWasm0(ptr7, len7);
369
525
  } finally {
370
526
  wasm.__wbindgen_add_to_stack_pointer(16);
371
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
527
+ wasm.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
372
528
  }
373
529
  }
374
530
  function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
375
- let deferred4_0;
376
- let deferred4_1;
531
+ let deferred5_0;
532
+ let deferred5_1;
377
533
  try {
378
534
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
379
535
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -385,17 +541,26 @@ function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_arou
385
541
  wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
386
542
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
387
543
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
388
- deferred4_0 = r0;
389
- deferred4_1 = r1;
390
- return getStringFromWasm0(r0, r1);
544
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
545
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
546
+ var ptr4 = r0;
547
+ var len4 = r1;
548
+ if (r3) {
549
+ ptr4 = 0;
550
+ len4 = 0;
551
+ throw takeObject(r2);
552
+ }
553
+ deferred5_0 = ptr4;
554
+ deferred5_1 = len4;
555
+ return getStringFromWasm0(ptr4, len4);
391
556
  } finally {
392
557
  wasm.__wbindgen_add_to_stack_pointer(16);
393
- wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
558
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
394
559
  }
395
560
  }
396
561
  function count_bits(input) {
397
- let deferred2_0;
398
- let deferred2_1;
562
+ let deferred3_0;
563
+ let deferred3_1;
399
564
  try {
400
565
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
401
566
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -403,12 +568,21 @@ function count_bits(input) {
403
568
  wasm.count_bits(retptr, ptr0, len0);
404
569
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
405
570
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
406
- deferred2_0 = r0;
407
- deferred2_1 = r1;
408
- return getStringFromWasm0(r0, r1);
571
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
572
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
573
+ var ptr2 = r0;
574
+ var len2 = r1;
575
+ if (r3) {
576
+ ptr2 = 0;
577
+ len2 = 0;
578
+ throw takeObject(r2);
579
+ }
580
+ deferred3_0 = ptr2;
581
+ deferred3_1 = len2;
582
+ return getStringFromWasm0(ptr2, len2);
409
583
  } finally {
410
584
  wasm.__wbindgen_add_to_stack_pointer(16);
411
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
585
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
412
586
  }
413
587
  }
414
588
  function split_bits(input) {
@@ -436,8 +610,8 @@ function is_bitmark(input) {
436
610
  return ret !== 0;
437
611
  }
438
612
  function split_json_bits(input) {
439
- let deferred2_0;
440
- let deferred2_1;
613
+ let deferred3_0;
614
+ let deferred3_1;
441
615
  try {
442
616
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
443
617
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -445,12 +619,21 @@ function split_json_bits(input) {
445
619
  wasm.split_json_bits(retptr, ptr0, len0);
446
620
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
447
621
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
448
- deferred2_0 = r0;
449
- deferred2_1 = r1;
450
- return getStringFromWasm0(r0, r1);
622
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
623
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
624
+ var ptr2 = r0;
625
+ var len2 = r1;
626
+ if (r3) {
627
+ ptr2 = 0;
628
+ len2 = 0;
629
+ throw takeObject(r2);
630
+ }
631
+ deferred3_0 = ptr2;
632
+ deferred3_1 = len2;
633
+ return getStringFromWasm0(ptr2, len2);
451
634
  } finally {
452
635
  wasm.__wbindgen_add_to_stack_pointer(16);
453
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
636
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
454
637
  }
455
638
  }
456
639
  function prettify(json, indent) {
@@ -498,6 +681,10 @@ async function __wbg_load(module2, imports) {
498
681
  function __wbg_get_imports() {
499
682
  const imports = {};
500
683
  imports.wbg = {};
684
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
685
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
686
+ return addHeapObject(ret);
687
+ };
501
688
  return imports;
502
689
  }
503
690
  function __wbg_init_memory(imports, memory) {
@@ -553,17 +740,20 @@ var bitmark_browser_full_wasm_exports = {};
553
740
  __export(bitmark_browser_full_wasm_exports, {
554
741
  breakscape_text: () => breakscape_text2,
555
742
  canonicalize: () => canonicalize2,
743
+ complete: () => complete2,
556
744
  convert: () => convert2,
557
745
  convert_text: () => convert_text2,
558
746
  count_bits: () => count_bits2,
559
747
  default: () => bitmark_browser_full_wasm_default,
560
748
  diff: () => diff2,
749
+ hover: () => hover2,
561
750
  info: () => info2,
751
+ info_text_supported: () => info_text_supported2,
562
752
  initSync: () => initSync2,
563
753
  is_bitmark: () => is_bitmark2,
564
- lex: () => lex2,
565
754
  prettify: () => prettify2,
566
755
  register: () => register2,
756
+ resolve: () => resolve2,
567
757
  resolve_patch_document: () => resolve_patch_document2,
568
758
  split_bits: () => split_bits2,
569
759
  split_json_bits: () => split_json_bits2,
@@ -571,7 +761,12 @@ __export(bitmark_browser_full_wasm_exports, {
571
761
  unbreakscape_text: () => unbreakscape_text2
572
762
  });
573
763
  var wasm2;
574
- var WASM_VECTOR_LEN2 = 0;
764
+ var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
765
+ throw Error("TextDecoder not available");
766
+ } };
767
+ if (typeof TextDecoder !== "undefined") {
768
+ cachedTextDecoder2.decode();
769
+ }
575
770
  var cachedUint8ArrayMemory02 = null;
576
771
  function getUint8ArrayMemory02() {
577
772
  if (cachedUint8ArrayMemory02 === null || cachedUint8ArrayMemory02.byteLength === 0) {
@@ -579,6 +774,21 @@ function getUint8ArrayMemory02() {
579
774
  }
580
775
  return cachedUint8ArrayMemory02;
581
776
  }
777
+ function getStringFromWasm02(ptr, len) {
778
+ ptr = ptr >>> 0;
779
+ return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
780
+ }
781
+ var heap2 = new Array(128).fill(void 0);
782
+ heap2.push(void 0, null, true, false);
783
+ var heap_next2 = heap2.length;
784
+ function addHeapObject2(obj) {
785
+ if (heap_next2 === heap2.length) heap2.push(heap2.length + 1);
786
+ const idx = heap_next2;
787
+ heap_next2 = heap2[idx];
788
+ heap2[idx] = obj;
789
+ return idx;
790
+ }
791
+ var WASM_VECTOR_LEN2 = 0;
582
792
  var cachedTextEncoder2 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
583
793
  throw Error("TextEncoder not available");
584
794
  } };
@@ -629,36 +839,6 @@ function getDataViewMemory02() {
629
839
  }
630
840
  return cachedDataViewMemory02;
631
841
  }
632
- var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
633
- throw Error("TextDecoder not available");
634
- } };
635
- if (typeof TextDecoder !== "undefined") {
636
- cachedTextDecoder2.decode();
637
- }
638
- function getStringFromWasm02(ptr, len) {
639
- ptr = ptr >>> 0;
640
- return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
641
- }
642
- function lex2(input, stage) {
643
- let deferred3_0;
644
- let deferred3_1;
645
- try {
646
- const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
647
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
648
- const len0 = WASM_VECTOR_LEN2;
649
- const ptr1 = passStringToWasm02(stage, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
650
- const len1 = WASM_VECTOR_LEN2;
651
- wasm2.lex(retptr, ptr0, len0, ptr1, len1);
652
- var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
653
- var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
654
- deferred3_0 = r0;
655
- deferred3_1 = r1;
656
- return getStringFromWasm02(r0, r1);
657
- } finally {
658
- wasm2.__wbindgen_add_to_stack_pointer(16);
659
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
660
- }
661
- }
662
842
  function breakscape_text2(input, format, location) {
663
843
  let deferred4_0;
664
844
  let deferred4_1;
@@ -727,9 +907,26 @@ function info2(info_type, format, bit, pretty, indent, include_deprecated, only_
727
907
  wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
728
908
  }
729
909
  }
910
+ function info_text_supported2() {
911
+ const ret = wasm2.info_text_supported();
912
+ return ret !== 0;
913
+ }
914
+ function getObject2(idx) {
915
+ return heap2[idx];
916
+ }
917
+ function dropObject2(idx) {
918
+ if (idx < 132) return;
919
+ heap2[idx] = heap_next2;
920
+ heap_next2 = idx;
921
+ }
922
+ function takeObject2(idx) {
923
+ const ret = getObject2(idx);
924
+ dropObject2(idx);
925
+ return ret;
926
+ }
730
927
  function convert_text2(input, direction, format, location) {
731
- let deferred5_0;
732
- let deferred5_1;
928
+ let deferred6_0;
929
+ let deferred6_1;
733
930
  try {
734
931
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
735
932
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -743,17 +940,26 @@ function convert_text2(input, direction, format, location) {
743
940
  wasm2.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
744
941
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
745
942
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
746
- deferred5_0 = r0;
747
- deferred5_1 = r1;
748
- return getStringFromWasm02(r0, r1);
943
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
944
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
945
+ var ptr5 = r0;
946
+ var len5 = r1;
947
+ if (r3) {
948
+ ptr5 = 0;
949
+ len5 = 0;
950
+ throw takeObject2(r2);
951
+ }
952
+ deferred6_0 = ptr5;
953
+ deferred6_1 = len5;
954
+ return getStringFromWasm02(ptr5, len5);
749
955
  } finally {
750
956
  wasm2.__wbindgen_add_to_stack_pointer(16);
751
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
957
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
752
958
  }
753
959
  }
754
960
  function transform2(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
755
- let deferred6_0;
756
- let deferred6_1;
961
+ let deferred7_0;
962
+ let deferred7_1;
757
963
  try {
758
964
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
759
965
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -769,61 +975,179 @@ function transform2(input, input_format_sel, output_format_sel, mode, patch_json
769
975
  wasm2.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
770
976
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
771
977
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
772
- deferred6_0 = r0;
773
- deferred6_1 = r1;
774
- return getStringFromWasm02(r0, r1);
978
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
979
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
980
+ var ptr6 = r0;
981
+ var len6 = r1;
982
+ if (r3) {
983
+ ptr6 = 0;
984
+ len6 = 0;
985
+ throw takeObject2(r2);
986
+ }
987
+ deferred7_0 = ptr6;
988
+ deferred7_1 = len6;
989
+ return getStringFromWasm02(ptr6, len6);
775
990
  } finally {
776
991
  wasm2.__wbindgen_add_to_stack_pointer(16);
777
- wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
992
+ wasm2.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
778
993
  }
779
994
  }
780
- function resolve_patch_document2(input, patch_json) {
781
- let deferred3_0;
782
- let deferred3_1;
995
+ function resolve_patch_document2(input, input_format_sel, patch_json) {
996
+ let deferred5_0;
997
+ let deferred5_1;
783
998
  try {
784
999
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
785
1000
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
786
1001
  const len0 = WASM_VECTOR_LEN2;
787
- const ptr1 = passStringToWasm02(patch_json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1002
+ const ptr1 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
788
1003
  const len1 = WASM_VECTOR_LEN2;
789
- wasm2.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
1004
+ const ptr2 = passStringToWasm02(patch_json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1005
+ const len2 = WASM_VECTOR_LEN2;
1006
+ wasm2.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
790
1007
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
791
1008
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
792
- deferred3_0 = r0;
793
- deferred3_1 = r1;
794
- return getStringFromWasm02(r0, r1);
1009
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1010
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1011
+ var ptr4 = r0;
1012
+ var len4 = r1;
1013
+ if (r3) {
1014
+ ptr4 = 0;
1015
+ len4 = 0;
1016
+ throw takeObject2(r2);
1017
+ }
1018
+ deferred5_0 = ptr4;
1019
+ deferred5_1 = len4;
1020
+ return getStringFromWasm02(ptr4, len4);
795
1021
  } finally {
796
1022
  wasm2.__wbindgen_add_to_stack_pointer(16);
797
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1023
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
798
1024
  }
799
1025
  }
800
1026
  function diff2(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
1027
+ let deferred6_0;
1028
+ let deferred6_1;
1029
+ try {
1030
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1031
+ const ptr0 = passStringToWasm02(a, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1032
+ const len0 = WASM_VECTOR_LEN2;
1033
+ const ptr1 = passStringToWasm02(b, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1034
+ const len1 = WASM_VECTOR_LEN2;
1035
+ const ptr2 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1036
+ const len2 = WASM_VECTOR_LEN2;
1037
+ const ptr3 = passStringToWasm02(output_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1038
+ const len3 = WASM_VECTOR_LEN2;
1039
+ wasm2.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
1040
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1041
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1042
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1043
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1044
+ var ptr5 = r0;
1045
+ var len5 = r1;
1046
+ if (r3) {
1047
+ ptr5 = 0;
1048
+ len5 = 0;
1049
+ throw takeObject2(r2);
1050
+ }
1051
+ deferred6_0 = ptr5;
1052
+ deferred6_1 = len5;
1053
+ return getStringFromWasm02(ptr5, len5);
1054
+ } finally {
1055
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1056
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1057
+ }
1058
+ }
1059
+ function complete2(input, line, character, position_encoding, include_deprecated, trigger_character) {
1060
+ let deferred5_0;
1061
+ let deferred5_1;
1062
+ try {
1063
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1064
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1065
+ const len0 = WASM_VECTOR_LEN2;
1066
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1067
+ const len1 = WASM_VECTOR_LEN2;
1068
+ const ptr2 = passStringToWasm02(trigger_character, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1069
+ const len2 = WASM_VECTOR_LEN2;
1070
+ wasm2.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
1071
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1072
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1073
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1074
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1075
+ var ptr4 = r0;
1076
+ var len4 = r1;
1077
+ if (r3) {
1078
+ ptr4 = 0;
1079
+ len4 = 0;
1080
+ throw takeObject2(r2);
1081
+ }
1082
+ deferred5_0 = ptr4;
1083
+ deferred5_1 = len4;
1084
+ return getStringFromWasm02(ptr4, len4);
1085
+ } finally {
1086
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1087
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1088
+ }
1089
+ }
1090
+ function resolve2(input, line, character, position_encoding, include_deprecated, label, kind) {
801
1091
  let deferred5_0;
802
1092
  let deferred5_1;
803
1093
  try {
804
1094
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
805
- const ptr0 = passStringToWasm02(a, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1095
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1096
+ const len0 = WASM_VECTOR_LEN2;
1097
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1098
+ const len1 = WASM_VECTOR_LEN2;
1099
+ const ptr2 = passStringToWasm02(label, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1100
+ const len2 = WASM_VECTOR_LEN2;
1101
+ wasm2.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
1102
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1103
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1104
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1105
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1106
+ var ptr4 = r0;
1107
+ var len4 = r1;
1108
+ if (r3) {
1109
+ ptr4 = 0;
1110
+ len4 = 0;
1111
+ throw takeObject2(r2);
1112
+ }
1113
+ deferred5_0 = ptr4;
1114
+ deferred5_1 = len4;
1115
+ return getStringFromWasm02(ptr4, len4);
1116
+ } finally {
1117
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1118
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1119
+ }
1120
+ }
1121
+ function hover2(input, line, character, position_encoding) {
1122
+ let deferred4_0;
1123
+ let deferred4_1;
1124
+ try {
1125
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1126
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
806
1127
  const len0 = WASM_VECTOR_LEN2;
807
- const ptr1 = passStringToWasm02(b, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1128
+ const ptr1 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
808
1129
  const len1 = WASM_VECTOR_LEN2;
809
- const ptr2 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
810
- const len2 = WASM_VECTOR_LEN2;
811
- const ptr3 = passStringToWasm02(output_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
812
- const len3 = WASM_VECTOR_LEN2;
813
- wasm2.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
1130
+ wasm2.hover(retptr, ptr0, len0, line, character, ptr1, len1);
814
1131
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
815
1132
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
816
- deferred5_0 = r0;
817
- deferred5_1 = r1;
818
- return getStringFromWasm02(r0, r1);
1133
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1134
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1135
+ var ptr3 = r0;
1136
+ var len3 = r1;
1137
+ if (r3) {
1138
+ ptr3 = 0;
1139
+ len3 = 0;
1140
+ throw takeObject2(r2);
1141
+ }
1142
+ deferred4_0 = ptr3;
1143
+ deferred4_1 = len3;
1144
+ return getStringFromWasm02(ptr3, len3);
819
1145
  } finally {
820
1146
  wasm2.__wbindgen_add_to_stack_pointer(16);
821
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1147
+ wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
822
1148
  }
823
1149
  }
824
1150
  function register2(data_type, data) {
825
- let deferred3_0;
826
- let deferred3_1;
827
1151
  try {
828
1152
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
829
1153
  const ptr0 = passStringToWasm02(data_type, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -833,17 +1157,16 @@ function register2(data_type, data) {
833
1157
  wasm2.register(retptr, ptr0, len0, ptr1, len1);
834
1158
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
835
1159
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
836
- deferred3_0 = r0;
837
- deferred3_1 = r1;
838
- return getStringFromWasm02(r0, r1);
1160
+ if (r1) {
1161
+ throw takeObject2(r0);
1162
+ }
839
1163
  } finally {
840
1164
  wasm2.__wbindgen_add_to_stack_pointer(16);
841
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
842
1165
  }
843
1166
  }
844
- function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
845
- let deferred5_0;
846
- let deferred5_1;
1167
+ function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1168
+ let deferred8_0;
1169
+ let deferred8_1;
847
1170
  try {
848
1171
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
849
1172
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -854,20 +1177,33 @@ function convert2(input, input_format_sel, output_format_sel, mode, pretty, inde
854
1177
  const len2 = WASM_VECTOR_LEN2;
855
1178
  const ptr3 = passStringToWasm02(mode, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
856
1179
  const len3 = WASM_VECTOR_LEN2;
857
- wasm2.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
1180
+ const ptr4 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1181
+ const len4 = WASM_VECTOR_LEN2;
1182
+ const ptr5 = passStringToWasm02(tokens_layout, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1183
+ const len5 = WASM_VECTOR_LEN2;
1184
+ 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);
858
1185
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
859
1186
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
860
- deferred5_0 = r0;
861
- deferred5_1 = r1;
862
- return getStringFromWasm02(r0, r1);
1187
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1188
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1189
+ var ptr7 = r0;
1190
+ var len7 = r1;
1191
+ if (r3) {
1192
+ ptr7 = 0;
1193
+ len7 = 0;
1194
+ throw takeObject2(r2);
1195
+ }
1196
+ deferred8_0 = ptr7;
1197
+ deferred8_1 = len7;
1198
+ return getStringFromWasm02(ptr7, len7);
863
1199
  } finally {
864
1200
  wasm2.__wbindgen_add_to_stack_pointer(16);
865
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1201
+ wasm2.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
866
1202
  }
867
1203
  }
868
1204
  function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
869
- let deferred4_0;
870
- let deferred4_1;
1205
+ let deferred5_0;
1206
+ let deferred5_1;
871
1207
  try {
872
1208
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
873
1209
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -879,17 +1215,26 @@ function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_aro
879
1215
  wasm2.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
880
1216
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
881
1217
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
882
- deferred4_0 = r0;
883
- deferred4_1 = r1;
884
- return getStringFromWasm02(r0, r1);
1218
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1219
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1220
+ var ptr4 = r0;
1221
+ var len4 = r1;
1222
+ if (r3) {
1223
+ ptr4 = 0;
1224
+ len4 = 0;
1225
+ throw takeObject2(r2);
1226
+ }
1227
+ deferred5_0 = ptr4;
1228
+ deferred5_1 = len4;
1229
+ return getStringFromWasm02(ptr4, len4);
885
1230
  } finally {
886
1231
  wasm2.__wbindgen_add_to_stack_pointer(16);
887
- wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1232
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
888
1233
  }
889
1234
  }
890
1235
  function count_bits2(input) {
891
- let deferred2_0;
892
- let deferred2_1;
1236
+ let deferred3_0;
1237
+ let deferred3_1;
893
1238
  try {
894
1239
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
895
1240
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -897,12 +1242,21 @@ function count_bits2(input) {
897
1242
  wasm2.count_bits(retptr, ptr0, len0);
898
1243
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
899
1244
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
900
- deferred2_0 = r0;
901
- deferred2_1 = r1;
902
- return getStringFromWasm02(r0, r1);
1245
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1246
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1247
+ var ptr2 = r0;
1248
+ var len2 = r1;
1249
+ if (r3) {
1250
+ ptr2 = 0;
1251
+ len2 = 0;
1252
+ throw takeObject2(r2);
1253
+ }
1254
+ deferred3_0 = ptr2;
1255
+ deferred3_1 = len2;
1256
+ return getStringFromWasm02(ptr2, len2);
903
1257
  } finally {
904
1258
  wasm2.__wbindgen_add_to_stack_pointer(16);
905
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1259
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
906
1260
  }
907
1261
  }
908
1262
  function split_bits2(input) {
@@ -930,8 +1284,8 @@ function is_bitmark2(input) {
930
1284
  return ret !== 0;
931
1285
  }
932
1286
  function split_json_bits2(input) {
933
- let deferred2_0;
934
- let deferred2_1;
1287
+ let deferred3_0;
1288
+ let deferred3_1;
935
1289
  try {
936
1290
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
937
1291
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -939,12 +1293,21 @@ function split_json_bits2(input) {
939
1293
  wasm2.split_json_bits(retptr, ptr0, len0);
940
1294
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
941
1295
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
942
- deferred2_0 = r0;
943
- deferred2_1 = r1;
944
- return getStringFromWasm02(r0, r1);
1296
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1297
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1298
+ var ptr2 = r0;
1299
+ var len2 = r1;
1300
+ if (r3) {
1301
+ ptr2 = 0;
1302
+ len2 = 0;
1303
+ throw takeObject2(r2);
1304
+ }
1305
+ deferred3_0 = ptr2;
1306
+ deferred3_1 = len2;
1307
+ return getStringFromWasm02(ptr2, len2);
945
1308
  } finally {
946
1309
  wasm2.__wbindgen_add_to_stack_pointer(16);
947
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1310
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
948
1311
  }
949
1312
  }
950
1313
  function prettify2(json, indent) {
@@ -992,6 +1355,10 @@ async function __wbg_load2(module2, imports) {
992
1355
  function __wbg_get_imports2() {
993
1356
  const imports = {};
994
1357
  imports.wbg = {};
1358
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1359
+ const ret = new Error(getStringFromWasm02(arg0, arg1));
1360
+ return addHeapObject2(ret);
1361
+ };
995
1362
  return imports;
996
1363
  }
997
1364
  function __wbg_init_memory2(imports, memory) {
@@ -1047,15 +1414,18 @@ var bitmark_json_wasm_exports = {};
1047
1414
  __export(bitmark_json_wasm_exports, {
1048
1415
  breakscape_text: () => breakscape_text3,
1049
1416
  canonicalize: () => canonicalize3,
1417
+ complete: () => complete3,
1050
1418
  convert: () => convert3,
1051
1419
  convert_text: () => convert_text3,
1052
1420
  count_bits: () => count_bits3,
1053
1421
  default: () => bitmark_json_wasm_default,
1422
+ hover: () => hover3,
1054
1423
  info: () => info3,
1055
1424
  initSync: () => initSync3,
1056
1425
  is_bitmark: () => is_bitmark3,
1057
1426
  prettify: () => prettify3,
1058
1427
  register: () => register3,
1428
+ resolve: () => resolve3,
1059
1429
  resolve_patch_document: () => resolve_patch_document3,
1060
1430
  split_bits: () => split_bits3,
1061
1431
  split_json_bits: () => split_json_bits3,
@@ -1063,7 +1433,12 @@ __export(bitmark_json_wasm_exports, {
1063
1433
  unbreakscape_text: () => unbreakscape_text3
1064
1434
  });
1065
1435
  var wasm3;
1066
- var WASM_VECTOR_LEN3 = 0;
1436
+ var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
1437
+ throw Error("TextDecoder not available");
1438
+ } };
1439
+ if (typeof TextDecoder !== "undefined") {
1440
+ cachedTextDecoder3.decode();
1441
+ }
1067
1442
  var cachedUint8ArrayMemory03 = null;
1068
1443
  function getUint8ArrayMemory03() {
1069
1444
  if (cachedUint8ArrayMemory03 === null || cachedUint8ArrayMemory03.byteLength === 0) {
@@ -1071,6 +1446,21 @@ function getUint8ArrayMemory03() {
1071
1446
  }
1072
1447
  return cachedUint8ArrayMemory03;
1073
1448
  }
1449
+ function getStringFromWasm03(ptr, len) {
1450
+ ptr = ptr >>> 0;
1451
+ return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
1452
+ }
1453
+ var heap3 = new Array(128).fill(void 0);
1454
+ heap3.push(void 0, null, true, false);
1455
+ var heap_next3 = heap3.length;
1456
+ function addHeapObject3(obj) {
1457
+ if (heap_next3 === heap3.length) heap3.push(heap3.length + 1);
1458
+ const idx = heap_next3;
1459
+ heap_next3 = heap3[idx];
1460
+ heap3[idx] = obj;
1461
+ return idx;
1462
+ }
1463
+ var WASM_VECTOR_LEN3 = 0;
1074
1464
  var cachedTextEncoder3 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
1075
1465
  throw Error("TextEncoder not available");
1076
1466
  } };
@@ -1121,16 +1511,6 @@ function getDataViewMemory03() {
1121
1511
  }
1122
1512
  return cachedDataViewMemory03;
1123
1513
  }
1124
- var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
1125
- throw Error("TextDecoder not available");
1126
- } };
1127
- if (typeof TextDecoder !== "undefined") {
1128
- cachedTextDecoder3.decode();
1129
- }
1130
- function getStringFromWasm03(ptr, len) {
1131
- ptr = ptr >>> 0;
1132
- return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
1133
- }
1134
1514
  function breakscape_text3(input, format, location) {
1135
1515
  let deferred4_0;
1136
1516
  let deferred4_1;
@@ -1199,9 +1579,20 @@ function info3(info_type, format, bit, pretty, indent, include_deprecated, only_
1199
1579
  wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1200
1580
  }
1201
1581
  }
1582
+ function getObject3(idx) {
1583
+ return heap3[idx];
1584
+ }
1585
+ function dropObject3(idx) {
1586
+ if (idx < 132) return;
1587
+ heap3[idx] = heap_next3;
1588
+ heap_next3 = idx;
1589
+ }
1590
+ function takeObject3(idx) {
1591
+ const ret = getObject3(idx);
1592
+ dropObject3(idx);
1593
+ return ret;
1594
+ }
1202
1595
  function register3(data_type, data) {
1203
- let deferred3_0;
1204
- let deferred3_1;
1205
1596
  try {
1206
1597
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1207
1598
  const ptr0 = passStringToWasm03(data_type, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1211,17 +1602,16 @@ function register3(data_type, data) {
1211
1602
  wasm3.register(retptr, ptr0, len0, ptr1, len1);
1212
1603
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1213
1604
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1214
- deferred3_0 = r0;
1215
- deferred3_1 = r1;
1216
- return getStringFromWasm03(r0, r1);
1605
+ if (r1) {
1606
+ throw takeObject3(r0);
1607
+ }
1217
1608
  } finally {
1218
1609
  wasm3.__wbindgen_add_to_stack_pointer(16);
1219
- wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1220
1610
  }
1221
1611
  }
1222
1612
  function transform3(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
1223
- let deferred6_0;
1224
- let deferred6_1;
1613
+ let deferred7_0;
1614
+ let deferred7_1;
1225
1615
  try {
1226
1616
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1227
1617
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1237,37 +1627,148 @@ function transform3(input, input_format_sel, output_format_sel, mode, patch_json
1237
1627
  wasm3.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
1238
1628
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1239
1629
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1240
- deferred6_0 = r0;
1241
- deferred6_1 = r1;
1242
- return getStringFromWasm03(r0, r1);
1630
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1631
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1632
+ var ptr6 = r0;
1633
+ var len6 = r1;
1634
+ if (r3) {
1635
+ ptr6 = 0;
1636
+ len6 = 0;
1637
+ throw takeObject3(r2);
1638
+ }
1639
+ deferred7_0 = ptr6;
1640
+ deferred7_1 = len6;
1641
+ return getStringFromWasm03(ptr6, len6);
1243
1642
  } finally {
1244
1643
  wasm3.__wbindgen_add_to_stack_pointer(16);
1245
- wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1644
+ wasm3.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
1246
1645
  }
1247
1646
  }
1248
- function resolve_patch_document3(input, patch_json) {
1249
- let deferred3_0;
1250
- let deferred3_1;
1647
+ function resolve_patch_document3(input, input_format_sel, patch_json) {
1648
+ let deferred5_0;
1649
+ let deferred5_1;
1251
1650
  try {
1252
1651
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1253
1652
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1254
1653
  const len0 = WASM_VECTOR_LEN3;
1255
- const ptr1 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1654
+ const ptr1 = passStringToWasm03(input_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1256
1655
  const len1 = WASM_VECTOR_LEN3;
1257
- wasm3.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
1656
+ const ptr2 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1657
+ const len2 = WASM_VECTOR_LEN3;
1658
+ wasm3.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
1258
1659
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1259
1660
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1260
- deferred3_0 = r0;
1261
- deferred3_1 = r1;
1262
- return getStringFromWasm03(r0, r1);
1661
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1662
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1663
+ var ptr4 = r0;
1664
+ var len4 = r1;
1665
+ if (r3) {
1666
+ ptr4 = 0;
1667
+ len4 = 0;
1668
+ throw takeObject3(r2);
1669
+ }
1670
+ deferred5_0 = ptr4;
1671
+ deferred5_1 = len4;
1672
+ return getStringFromWasm03(ptr4, len4);
1263
1673
  } finally {
1264
1674
  wasm3.__wbindgen_add_to_stack_pointer(16);
1265
- wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1675
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1676
+ }
1677
+ }
1678
+ function complete3(input, line, character, position_encoding, include_deprecated, trigger_character) {
1679
+ let deferred5_0;
1680
+ let deferred5_1;
1681
+ try {
1682
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1683
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1684
+ const len0 = WASM_VECTOR_LEN3;
1685
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1686
+ const len1 = WASM_VECTOR_LEN3;
1687
+ const ptr2 = passStringToWasm03(trigger_character, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1688
+ const len2 = WASM_VECTOR_LEN3;
1689
+ wasm3.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
1690
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1691
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1692
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1693
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1694
+ var ptr4 = r0;
1695
+ var len4 = r1;
1696
+ if (r3) {
1697
+ ptr4 = 0;
1698
+ len4 = 0;
1699
+ throw takeObject3(r2);
1700
+ }
1701
+ deferred5_0 = ptr4;
1702
+ deferred5_1 = len4;
1703
+ return getStringFromWasm03(ptr4, len4);
1704
+ } finally {
1705
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1706
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1266
1707
  }
1267
1708
  }
1268
- function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
1709
+ function resolve3(input, line, character, position_encoding, include_deprecated, label, kind) {
1269
1710
  let deferred5_0;
1270
1711
  let deferred5_1;
1712
+ try {
1713
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1714
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1715
+ const len0 = WASM_VECTOR_LEN3;
1716
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1717
+ const len1 = WASM_VECTOR_LEN3;
1718
+ const ptr2 = passStringToWasm03(label, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1719
+ const len2 = WASM_VECTOR_LEN3;
1720
+ wasm3.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
1721
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1722
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1723
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1724
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1725
+ var ptr4 = r0;
1726
+ var len4 = r1;
1727
+ if (r3) {
1728
+ ptr4 = 0;
1729
+ len4 = 0;
1730
+ throw takeObject3(r2);
1731
+ }
1732
+ deferred5_0 = ptr4;
1733
+ deferred5_1 = len4;
1734
+ return getStringFromWasm03(ptr4, len4);
1735
+ } finally {
1736
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1737
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1738
+ }
1739
+ }
1740
+ function hover3(input, line, character, position_encoding) {
1741
+ let deferred4_0;
1742
+ let deferred4_1;
1743
+ try {
1744
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1745
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1746
+ const len0 = WASM_VECTOR_LEN3;
1747
+ const ptr1 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1748
+ const len1 = WASM_VECTOR_LEN3;
1749
+ wasm3.hover(retptr, ptr0, len0, line, character, ptr1, len1);
1750
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1751
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1752
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1753
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1754
+ var ptr3 = r0;
1755
+ var len3 = r1;
1756
+ if (r3) {
1757
+ ptr3 = 0;
1758
+ len3 = 0;
1759
+ throw takeObject3(r2);
1760
+ }
1761
+ deferred4_0 = ptr3;
1762
+ deferred4_1 = len3;
1763
+ return getStringFromWasm03(ptr3, len3);
1764
+ } finally {
1765
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1766
+ wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1767
+ }
1768
+ }
1769
+ function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1770
+ let deferred8_0;
1771
+ let deferred8_1;
1271
1772
  try {
1272
1773
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1273
1774
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1278,20 +1779,33 @@ function convert3(input, input_format_sel, output_format_sel, mode, pretty, inde
1278
1779
  const len2 = WASM_VECTOR_LEN3;
1279
1780
  const ptr3 = passStringToWasm03(mode, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1280
1781
  const len3 = WASM_VECTOR_LEN3;
1281
- wasm3.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
1782
+ const ptr4 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1783
+ const len4 = WASM_VECTOR_LEN3;
1784
+ const ptr5 = passStringToWasm03(tokens_layout, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1785
+ const len5 = WASM_VECTOR_LEN3;
1786
+ 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);
1282
1787
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1283
1788
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1284
- deferred5_0 = r0;
1285
- deferred5_1 = r1;
1286
- return getStringFromWasm03(r0, r1);
1789
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1790
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1791
+ var ptr7 = r0;
1792
+ var len7 = r1;
1793
+ if (r3) {
1794
+ ptr7 = 0;
1795
+ len7 = 0;
1796
+ throw takeObject3(r2);
1797
+ }
1798
+ deferred8_0 = ptr7;
1799
+ deferred8_1 = len7;
1800
+ return getStringFromWasm03(ptr7, len7);
1287
1801
  } finally {
1288
1802
  wasm3.__wbindgen_add_to_stack_pointer(16);
1289
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1803
+ wasm3.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
1290
1804
  }
1291
1805
  }
1292
1806
  function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
1293
- let deferred4_0;
1294
- let deferred4_1;
1807
+ let deferred5_0;
1808
+ let deferred5_1;
1295
1809
  try {
1296
1810
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1297
1811
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1303,17 +1817,26 @@ function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_aro
1303
1817
  wasm3.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
1304
1818
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1305
1819
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1306
- deferred4_0 = r0;
1307
- deferred4_1 = r1;
1308
- return getStringFromWasm03(r0, r1);
1820
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1821
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1822
+ var ptr4 = r0;
1823
+ var len4 = r1;
1824
+ if (r3) {
1825
+ ptr4 = 0;
1826
+ len4 = 0;
1827
+ throw takeObject3(r2);
1828
+ }
1829
+ deferred5_0 = ptr4;
1830
+ deferred5_1 = len4;
1831
+ return getStringFromWasm03(ptr4, len4);
1309
1832
  } finally {
1310
1833
  wasm3.__wbindgen_add_to_stack_pointer(16);
1311
- wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1834
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1312
1835
  }
1313
1836
  }
1314
1837
  function count_bits3(input) {
1315
- let deferred2_0;
1316
- let deferred2_1;
1838
+ let deferred3_0;
1839
+ let deferred3_1;
1317
1840
  try {
1318
1841
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1319
1842
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1321,12 +1844,21 @@ function count_bits3(input) {
1321
1844
  wasm3.count_bits(retptr, ptr0, len0);
1322
1845
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1323
1846
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1324
- deferred2_0 = r0;
1325
- deferred2_1 = r1;
1326
- return getStringFromWasm03(r0, r1);
1847
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1848
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1849
+ var ptr2 = r0;
1850
+ var len2 = r1;
1851
+ if (r3) {
1852
+ ptr2 = 0;
1853
+ len2 = 0;
1854
+ throw takeObject3(r2);
1855
+ }
1856
+ deferred3_0 = ptr2;
1857
+ deferred3_1 = len2;
1858
+ return getStringFromWasm03(ptr2, len2);
1327
1859
  } finally {
1328
1860
  wasm3.__wbindgen_add_to_stack_pointer(16);
1329
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1861
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1330
1862
  }
1331
1863
  }
1332
1864
  function split_bits3(input) {
@@ -1354,8 +1886,8 @@ function is_bitmark3(input) {
1354
1886
  return ret !== 0;
1355
1887
  }
1356
1888
  function split_json_bits3(input) {
1357
- let deferred2_0;
1358
- let deferred2_1;
1889
+ let deferred3_0;
1890
+ let deferred3_1;
1359
1891
  try {
1360
1892
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1361
1893
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1363,12 +1895,21 @@ function split_json_bits3(input) {
1363
1895
  wasm3.split_json_bits(retptr, ptr0, len0);
1364
1896
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1365
1897
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1366
- deferred2_0 = r0;
1367
- deferred2_1 = r1;
1368
- return getStringFromWasm03(r0, r1);
1898
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1899
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1900
+ var ptr2 = r0;
1901
+ var len2 = r1;
1902
+ if (r3) {
1903
+ ptr2 = 0;
1904
+ len2 = 0;
1905
+ throw takeObject3(r2);
1906
+ }
1907
+ deferred3_0 = ptr2;
1908
+ deferred3_1 = len2;
1909
+ return getStringFromWasm03(ptr2, len2);
1369
1910
  } finally {
1370
1911
  wasm3.__wbindgen_add_to_stack_pointer(16);
1371
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1912
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1372
1913
  }
1373
1914
  }
1374
1915
  function prettify3(json, indent) {
@@ -1390,8 +1931,8 @@ function prettify3(json, indent) {
1390
1931
  }
1391
1932
  }
1392
1933
  function convert_text3(input, direction, format, location) {
1393
- let deferred5_0;
1394
- let deferred5_1;
1934
+ let deferred6_0;
1935
+ let deferred6_1;
1395
1936
  try {
1396
1937
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1397
1938
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1405,12 +1946,21 @@ function convert_text3(input, direction, format, location) {
1405
1946
  wasm3.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1406
1947
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1407
1948
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1408
- deferred5_0 = r0;
1409
- deferred5_1 = r1;
1410
- return getStringFromWasm03(r0, r1);
1949
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1950
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1951
+ var ptr5 = r0;
1952
+ var len5 = r1;
1953
+ if (r3) {
1954
+ ptr5 = 0;
1955
+ len5 = 0;
1956
+ throw takeObject3(r2);
1957
+ }
1958
+ deferred6_0 = ptr5;
1959
+ deferred6_1 = len5;
1960
+ return getStringFromWasm03(ptr5, len5);
1411
1961
  } finally {
1412
1962
  wasm3.__wbindgen_add_to_stack_pointer(16);
1413
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1963
+ wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1414
1964
  }
1415
1965
  }
1416
1966
  async function __wbg_load3(module2, imports) {
@@ -1440,6 +1990,10 @@ async function __wbg_load3(module2, imports) {
1440
1990
  function __wbg_get_imports3() {
1441
1991
  const imports = {};
1442
1992
  imports.wbg = {};
1993
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1994
+ const ret = new Error(getStringFromWasm03(arg0, arg1));
1995
+ return addHeapObject3(ret);
1996
+ };
1443
1997
  return imports;
1444
1998
  }
1445
1999
  function __wbg_init_memory3(imports, memory) {
@@ -1493,7 +2047,7 @@ var bitmark_json_wasm_default = __wbg_init3;
1493
2047
  // src/generated/package_info.ts
1494
2048
  var PACKAGE_INFO = {
1495
2049
  "name": "@gmb/bitmark-parser",
1496
- "version": "6.11.1",
2050
+ "version": "7.1.0",
1497
2051
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
1498
2052
  "license": "ISC",
1499
2053
  "description": "A parser for bitmark text, powered by WebAssembly."
@@ -1532,8 +2086,11 @@ function getActive() {
1532
2086
  }
1533
2087
  function setActive(feature, module2) {
1534
2088
  for (const [type, data] of registrations) {
1535
- const error = module2.register(type, data);
1536
- if (error) throw new RegisterError(error.replace(/^error:\s*/, ""));
2089
+ try {
2090
+ module2.register(type, data);
2091
+ } catch (e) {
2092
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
2093
+ }
1537
2094
  }
1538
2095
  active = module2;
1539
2096
  activeFeature = feature;
@@ -1546,13 +2103,6 @@ function variant() {
1546
2103
  }
1547
2104
 
1548
2105
  // src/core/hooked-transform.ts
1549
- function isError(s) {
1550
- return s.startsWith("error:");
1551
- }
1552
- function errorString(e) {
1553
- const m = e instanceof Error ? e.message : String(e);
1554
- return m.startsWith("error:") ? m : `error: ${m}`;
1555
- }
1556
2106
  function stripArray(doc) {
1557
2107
  const t = doc.trim();
1558
2108
  return t.startsWith("[") && t.endsWith("]") ? t.slice(1, -1) : doc;
@@ -1564,17 +2114,13 @@ function patchJsonOf(patch) {
1564
2114
  }
1565
2115
  function buildUnits(wasm4, input, inputIsBitmark) {
1566
2116
  if (inputIsBitmark) {
1567
- const out2 = wasm4.split_bits(input);
1568
- if (isError(out2)) throw new Error(out2);
1569
- const slices = JSON.parse(out2);
2117
+ const slices = JSON.parse(wasm4.split_bits(input));
1570
2118
  return slices.map((s) => ({
1571
2119
  view: { format: "bitmark", index: s.index, total: slices.length, source: s.source },
1572
2120
  source: s.source
1573
2121
  }));
1574
2122
  }
1575
- const out = wasm4.split_json_bits(input);
1576
- if (isError(out)) throw new Error(out);
1577
- const envelopes = JSON.parse(out);
2123
+ const envelopes = JSON.parse(wasm4.split_json_bits(input));
1578
2124
  return envelopes.map((env, index) => ({
1579
2125
  view: { format: "json", index, total: envelopes.length, bit: env.bit ?? {} },
1580
2126
  // Per-bit transform consumes a one-bit JSON document.
@@ -1590,6 +2136,7 @@ function planTransform(wasm4, input, options) {
1590
2136
  const sel = options.inputFormat ?? "auto";
1591
2137
  const inputIsBitmark = sel === "bitmark" || sel !== "json" && wasm4.is_bitmark(input);
1592
2138
  const inputFormat = inputIsBitmark ? "bitmark" : "json";
2139
+ wasm4.transform("", "bitmark", output, mode, "", false, indent, spacesAroundValues);
1593
2140
  const units = buildUnits(wasm4, input, inputIsBitmark);
1594
2141
  const total = units.length;
1595
2142
  const hooked = [];
@@ -1605,9 +2152,9 @@ function planTransform(wasm4, input, options) {
1605
2152
  if (patchJson === "") {
1606
2153
  resolved = units.map((_, index) => ({ source: index, bit: null, patch: [] }));
1607
2154
  } else {
1608
- const out = wasm4.resolve_patch_document(input, patchJson);
1609
- if (isError(out)) throw new Error(out);
1610
- resolved = JSON.parse(out);
2155
+ resolved = JSON.parse(
2156
+ wasm4.resolve_patch_document(input, inputFormat, patchJson)
2157
+ );
1611
2158
  }
1612
2159
  const jobs = [];
1613
2160
  const views = [];
@@ -1654,25 +2201,18 @@ function computeBit(wasm4, job) {
1654
2201
  2,
1655
2202
  job.spacesAroundValues
1656
2203
  );
1657
- if (isError(out)) return out;
1658
2204
  return job.outputFormat === "json" ? stripArray(out) : out;
1659
2205
  }
1660
2206
  function recombine(wasm4, elements, output, pretty, indent) {
1661
- if (output === "bitmark" || output === "text") return elements.join("\n");
2207
+ if (output !== "json") return elements.join("\n");
1662
2208
  const arr = `[${elements.join(",")}]`;
1663
2209
  return pretty ? wasm4.prettify(arr, indent) : arr;
1664
2210
  }
1665
2211
  function runHookedTransform(wasm4, input, options) {
1666
- let plan;
1667
- try {
1668
- plan = planTransform(wasm4, input, options);
1669
- } catch (e) {
1670
- return errorString(e);
1671
- }
2212
+ const plan = planTransform(wasm4, input, options);
1672
2213
  const rendered = [];
1673
2214
  for (let i = 0; i < plan.jobs.length; i++) {
1674
2215
  const element = computeBit(wasm4, plan.jobs[i]);
1675
- if (isError(element)) return element;
1676
2216
  options.postHook?.(plan.views[i], element);
1677
2217
  rendered.push(element);
1678
2218
  }
@@ -1681,20 +2221,9 @@ function runHookedTransform(wasm4, input, options) {
1681
2221
 
1682
2222
  // src/core/parallel.ts
1683
2223
  async function orchestrateParallel(wasm4, input, options, runJobs) {
1684
- let plan;
1685
- try {
1686
- plan = planTransform(wasm4, input, options);
1687
- } catch (e) {
1688
- return errorString(e);
1689
- }
1690
- let elements;
1691
- try {
1692
- elements = await runJobs(plan.jobs, options.workers ?? 4);
1693
- } catch (e) {
1694
- return errorString(e);
1695
- }
2224
+ const plan = planTransform(wasm4, input, options);
2225
+ const elements = await runJobs(plan.jobs, options.workers ?? 4);
1696
2226
  for (let i = 0; i < elements.length; i++) {
1697
- if (isError(elements[i])) return elements[i];
1698
2227
  options.postHook?.(plan.views[i], elements[i]);
1699
2228
  }
1700
2229
  return recombine(wasm4, elements, plan.output, plan.pretty, plan.indent);
@@ -1718,57 +2247,53 @@ function getLegacyFileIo() {
1718
2247
  return fileIo;
1719
2248
  }
1720
2249
 
1721
- // src/browser/pool.ts
1722
- function runJobsParallel(jobs, workers, feature) {
2250
+ // src/core/pool.ts
2251
+ function runJobsWithPool(jobs, workers, spawn) {
1723
2252
  if (jobs.length === 0) return Promise.resolve([]);
1724
2253
  const poolSize = Math.max(1, Math.min(workers, jobs.length));
1725
- const workerUrl = new URL("./worker-entry.js", importMetaUrl);
1726
- return new Promise((resolve, reject) => {
2254
+ return new Promise((resolve5, reject) => {
1727
2255
  const results = new Array(jobs.length);
1728
2256
  let next = 0;
1729
2257
  let settled = 0;
1730
2258
  let done = false;
1731
2259
  const pool = [];
1732
- const shutdown = () => {
1733
- for (const w of pool) w.terminate();
1734
- };
1735
- const fail = (err) => {
2260
+ const finish = (err) => {
1736
2261
  if (done) return;
1737
2262
  done = true;
1738
- shutdown();
1739
- reject(err);
2263
+ for (const w of pool) w.terminate();
2264
+ if (err) reject(err);
2265
+ else resolve5(results);
1740
2266
  };
1741
2267
  const dispatch = (w) => {
1742
2268
  if (done || next >= jobs.length) return;
1743
2269
  const id = next++;
1744
- w.postMessage({ id, job: jobs[id], feature });
2270
+ w.post({ id, job: jobs[id] });
1745
2271
  };
1746
2272
  for (let i = 0; i < poolSize; i++) {
1747
- const w = new Worker(workerUrl, { type: "module" });
1748
- pool.push(w);
1749
- w.onmessage = (ev) => {
1750
- const res = ev.data;
2273
+ const w = spawn((res) => {
1751
2274
  if (done) return;
1752
- if (!res.ok) {
1753
- fail(new Error(res.error ?? "worker job failed"));
1754
- return;
1755
- }
2275
+ if (!res.ok) return finish(new Error(res.error ?? "worker job failed"));
1756
2276
  results[res.id] = res.element;
1757
- settled++;
1758
- if (settled === jobs.length) {
1759
- done = true;
1760
- shutdown();
1761
- resolve(results);
1762
- return;
1763
- }
1764
- dispatch(w);
1765
- };
1766
- w.onerror = (e) => fail(new Error(e.message || "worker error"));
2277
+ if (++settled === jobs.length) finish();
2278
+ else dispatch(w);
2279
+ }, finish);
2280
+ pool.push(w);
1767
2281
  }
1768
2282
  for (const w of pool) dispatch(w);
1769
2283
  });
1770
2284
  }
1771
2285
 
2286
+ // src/browser/pool.ts
2287
+ function runJobsParallel(jobs, workers, feature) {
2288
+ const workerUrl = new URL("./worker-entry.js", importMetaUrl);
2289
+ return runJobsWithPool(jobs, workers, (onResult, onError) => {
2290
+ const w = new Worker(workerUrl, { type: "module" });
2291
+ w.onmessage = (ev) => onResult(ev.data);
2292
+ w.onerror = (e) => onError(new Error(e.message || "worker error"));
2293
+ return { post: (msg) => w.postMessage({ ...msg, feature }), terminate: () => w.terminate() };
2294
+ });
2295
+ }
2296
+
1772
2297
  // src/legacy/index.ts
1773
2298
  var legacy_exports = {};
1774
2299
  __export(legacy_exports, {
@@ -2007,10 +2532,7 @@ var Builder = class {
2007
2532
  }
2008
2533
  }
2009
2534
  this.parseStringTexts(bit);
2010
- const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false);
2011
- if (out.startsWith("error:")) {
2012
- throw new Error(out.slice("error:".length).trim());
2013
- }
2535
+ const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false, "", "");
2014
2536
  const entries = JSON.parse(out);
2015
2537
  const built = entries[0]?.bit ?? bit;
2016
2538
  for (const [key, value] of Object.entries(bit)) {
@@ -2147,8 +2669,7 @@ var BitmarkParserGenerator = class {
2147
2669
  const emit = coreFormat === "bitmark" ? prettyIndent(bitmarkOptions.prettifyJson) : { pretty, indent };
2148
2670
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2149
2671
  const includeUnknown = !jsonOptions.excludeUnknownProperties;
2150
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false);
2151
- this.throwOnError(out);
2672
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false, "", "");
2152
2673
  if (outputFormat === "bitmark" || outputFormat === "text") {
2153
2674
  return this.deliver(out, opts.outputFile, opts.fileOptions);
2154
2675
  }
@@ -2182,7 +2703,6 @@ var BitmarkParserGenerator = class {
2182
2703
  );
2183
2704
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2184
2705
  const out = wasm4.canonicalize(source, isBitmark ? "bitmark" : "json", "optimized", pretty, indent, spaces);
2185
- this.throwOnError(out);
2186
2706
  if (isBitmark) return this.deliver(out, opts.outputFile, opts.fileOptions);
2187
2707
  if (opts.outputFile) return this.deliver(out, opts.outputFile, opts.fileOptions);
2188
2708
  if (pretty || jsonOptions.stringify) return out;
@@ -2199,7 +2719,6 @@ var BitmarkParserGenerator = class {
2199
2719
  const { pretty, indent } = prettyIndent(opts.prettify);
2200
2720
  const coreFormat = format === "pojo" ? "json" : format;
2201
2721
  const out = wasm4.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true, "");
2202
- this.throwOnError(out);
2203
2722
  if (format === "pojo") return JSON.parse(out);
2204
2723
  return out;
2205
2724
  }
@@ -2231,8 +2750,7 @@ var BitmarkParserGenerator = class {
2231
2750
  const isHtmlInput = opts.inputFormat === "html" || opts.inputFormat === void 0 && typeof input === "string" && /<table[\s>]/iu.test(inStr);
2232
2751
  if (!isHtmlInput) {
2233
2752
  const { source, isBitmark } = this.resolveInput(input, void 0);
2234
- const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false);
2235
- this.throwOnError(out2);
2753
+ const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false, "", "");
2236
2754
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2237
2755
  }
2238
2756
  const bitType = opts.tableFormat === "table" ? "table" : "table-extended";
@@ -2241,13 +2759,11 @@ var BitmarkParserGenerator = class {
2241
2759
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2242
2760
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2243
2761
  if (outputFormat === "html") {
2244
- const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false);
2245
- this.throwOnError(out2);
2762
+ const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false, "", "");
2246
2763
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2247
2764
  }
2248
2765
  const coreFormat = outputFormat === "ast" ? "json" : outputFormat;
2249
- const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false);
2250
- this.throwOnError(out);
2766
+ const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false, "", "");
2251
2767
  if (outputFormat === "bitmark" || outputFormat === "text") {
2252
2768
  return this.deliver(out, opts.outputFile, opts.fileOptions);
2253
2769
  }
@@ -2271,8 +2787,7 @@ var BitmarkParserGenerator = class {
2271
2787
  const opts = Object.assign({}, options);
2272
2788
  const wasm4 = getLegacyWasm();
2273
2789
  const { source, isBitmark } = this.resolveInput(input, opts.inputFormat);
2274
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false);
2275
- this.throwOnError(out);
2790
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false, "", "");
2276
2791
  return makePseudoAst(JSON.parse(out));
2277
2792
  }
2278
2793
  /**
@@ -2324,11 +2839,9 @@ var BitmarkParserGenerator = class {
2324
2839
  }
2325
2840
  if (ast !== void 0) {
2326
2841
  const out2 = isBitmarkText ? wasm4.convert_text(JSON.stringify(ast), "astToText", "bitmark++", textLocation) : wasm4.convert_text(JSON.stringify(ast), "astToPlainText", "plainText", textLocation);
2327
- this.throwOnError(out2);
2328
2842
  return this.deliver(out2, opts.outputFile, opts.fileOptions);
2329
2843
  }
2330
2844
  const out = wasm4.convert_text(inStr, "textToAst", isBitmarkText ? "bitmark++" : "plainText", "body");
2331
- this.throwOnError(out);
2332
2845
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2333
2846
  const outStr = pretty ? wasm4.prettify(out, indent) : out;
2334
2847
  if (opts.outputFile) return this.deliver(outStr, opts.outputFile, opts.fileOptions);
@@ -2346,7 +2859,6 @@ var BitmarkParserGenerator = class {
2346
2859
  "bitmark++",
2347
2860
  "body"
2348
2861
  );
2349
- this.throwOnError(out);
2350
2862
  return out;
2351
2863
  }
2352
2864
  /**
@@ -2361,7 +2873,6 @@ var BitmarkParserGenerator = class {
2361
2873
  if (inputFormat === "bitmarkText") {
2362
2874
  const ast = wasm4.convert_text(String(input), "textToAst", "bitmark++", "body");
2363
2875
  const out2 = wasm4.convert_text(ast, "astToPlainText", "bitmark++", "body");
2364
- this.throwOnError(out2);
2365
2876
  return out2;
2366
2877
  }
2367
2878
  if (typeof input === "string" && this.parseTextAstString(input) === void 0 && !wasm4.is_bitmark(input)) {
@@ -2378,8 +2889,7 @@ var BitmarkParserGenerator = class {
2378
2889
  }
2379
2890
  }
2380
2891
  const { source, isBitmark } = this.resolveInput(input, void 0);
2381
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false);
2382
- this.throwOnError(out);
2892
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false, "", "");
2383
2893
  return out;
2384
2894
  }
2385
2895
  /** If `s` parses as a TextAst JSON array, return it. */
@@ -2483,12 +2993,6 @@ var BitmarkParserGenerator = class {
2483
2993
  encoding: fileOptions?.encoding ?? "utf8"
2484
2994
  });
2485
2995
  }
2486
- /** The core reports failures as `error:`-prefixed strings; bpg throws. */
2487
- throwOnError(out) {
2488
- if (out.startsWith("error:")) {
2489
- throw new Error(out.slice("error:".length).trim());
2490
- }
2491
- }
2492
2996
  };
2493
2997
  function extractHtmlTables(html) {
2494
2998
  const tables = [];
@@ -2525,7 +3029,6 @@ function extractHtmlTables(html) {
2525
3029
  }
2526
3030
  function bitmarkTextParse(text) {
2527
3031
  const out = getLegacyWasm().convert_text(text, "textToAst", "bitmark++", "body");
2528
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2529
3032
  return JSON.parse(out);
2530
3033
  }
2531
3034
 
@@ -2850,6 +3353,24 @@ var StringWriter = stubClass("StringWriter", INTERNAL_REASON);
2850
3353
  var FileWriter = stubClass("FileWriter", INTERNAL_REASON);
2851
3354
  var StreamWriter = stubClass("StreamWriter", INTERNAL_REASON);
2852
3355
 
3356
+ // src/editor-types.ts
3357
+ var DiagnosticSeverity = {
3358
+ Error: 1,
3359
+ Warning: 2,
3360
+ Information: 3,
3361
+ Hint: 4
3362
+ };
3363
+ var CompletionItemKind = {
3364
+ Class: 7,
3365
+ Property: 10,
3366
+ Value: 12,
3367
+ Keyword: 14,
3368
+ Snippet: 15,
3369
+ EnumMember: 20,
3370
+ TypeParameter: 25
3371
+ };
3372
+ var CompletionItemTag = { Deprecated: 1 };
3373
+
2853
3374
  // src/types.ts
2854
3375
  function patchEntry(path, op, value) {
2855
3376
  return value === void 0 ? { path, op } : { path, op, value };
@@ -2857,11 +3378,6 @@ function patchEntry(path, op, value) {
2857
3378
  var ALL_LANGUAGES = "all";
2858
3379
 
2859
3380
  // src/core/api.ts
2860
- function lex3(input, options = {}) {
2861
- const wasm4 = getActive();
2862
- if (typeof wasm4.lex !== "function") throw new UnsupportedFeatureError("lex", variant());
2863
- return wasm4.lex(input, options.stage ?? "lex");
2864
- }
2865
3381
  function bitmarkToObjects(input, options = {}) {
2866
3382
  const out = getActive().convert(
2867
3383
  input,
@@ -2872,9 +3388,10 @@ function bitmarkToObjects(input, options = {}) {
2872
3388
  2,
2873
3389
  1,
2874
3390
  options.includeUnknownProperties ?? false,
2875
- false
3391
+ false,
3392
+ "",
3393
+ ""
2876
3394
  );
2877
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2878
3395
  return JSON.parse(out);
2879
3396
  }
2880
3397
  function objectsToBitmark(bits, options = {}) {
@@ -2890,9 +3407,10 @@ function objectsToBitmark(bits, options = {}) {
2890
3407
  2,
2891
3408
  1,
2892
3409
  false,
2893
- false
3410
+ false,
3411
+ "",
3412
+ ""
2894
3413
  );
2895
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2896
3414
  return out;
2897
3415
  }
2898
3416
  function convert4(input, options = {}) {
@@ -2905,7 +3423,65 @@ function convert4(input, options = {}) {
2905
3423
  options.indent ?? 2,
2906
3424
  options.spacesAroundValues ?? 1,
2907
3425
  options.includeUnknownProperties ?? false,
2908
- options.mappingReport ?? false
3426
+ options.mappingReport ?? false,
3427
+ options.positionEncoding ?? "",
3428
+ options.tokensLayout ?? ""
3429
+ );
3430
+ }
3431
+ function semanticTokens(input, options = {}) {
3432
+ return JSON.parse(
3433
+ convert4(input, {
3434
+ inputFormat: "bitmark",
3435
+ outputFormat: "semantic-tokens",
3436
+ positionEncoding: options.positionEncoding,
3437
+ tokensLayout: options.tokensLayout
3438
+ })
3439
+ );
3440
+ }
3441
+ function diagnostics(input, options = {}) {
3442
+ return JSON.parse(
3443
+ convert4(input, {
3444
+ inputFormat: "bitmark",
3445
+ outputFormat: "diagnostics",
3446
+ positionEncoding: options.positionEncoding
3447
+ })
3448
+ );
3449
+ }
3450
+ function complete4(input, position, options = {}) {
3451
+ const wasm4 = getActive();
3452
+ if (typeof wasm4.complete !== "function") throw new UnsupportedFeatureError("complete", variant());
3453
+ return JSON.parse(
3454
+ wasm4.complete(
3455
+ input,
3456
+ position.line,
3457
+ position.character,
3458
+ options.positionEncoding ?? "",
3459
+ options.includeDeprecated ?? false,
3460
+ options.triggerCharacter ?? ""
3461
+ )
3462
+ );
3463
+ }
3464
+ function resolve4(input, position, item, options = {}) {
3465
+ const wasm4 = getActive();
3466
+ if (typeof wasm4.resolve !== "function") throw new UnsupportedFeatureError("resolve", variant());
3467
+ const resolved = JSON.parse(
3468
+ wasm4.resolve(
3469
+ input,
3470
+ position.line,
3471
+ position.character,
3472
+ options.positionEncoding ?? "",
3473
+ options.includeDeprecated ?? false,
3474
+ item.label,
3475
+ item.kind
3476
+ )
3477
+ );
3478
+ return resolved ?? item;
3479
+ }
3480
+ function hover4(input, position, options = {}) {
3481
+ const wasm4 = getActive();
3482
+ if (typeof wasm4.hover !== "function") throw new UnsupportedFeatureError("hover", variant());
3483
+ return JSON.parse(
3484
+ wasm4.hover(input, position.line, position.character, options.positionEncoding ?? "")
2909
3485
  );
2910
3486
  }
2911
3487
  function canonicalize4(input, options = {}) {
@@ -2919,9 +3495,7 @@ function canonicalize4(input, options = {}) {
2919
3495
  );
2920
3496
  }
2921
3497
  function countBits(input) {
2922
- const out = getActive().count_bits(input);
2923
- if (out.startsWith("error:")) throw new Error(out);
2924
- return Number.parseInt(out, 10);
3498
+ return Number.parseInt(getActive().count_bits(input), 10);
2925
3499
  }
2926
3500
  function splitBits(input) {
2927
3501
  return JSON.parse(getActive().split_bits(input));
@@ -2957,7 +3531,6 @@ function diff3(a, b, options = {}) {
2957
3531
  options.bboxTolerance ?? 8,
2958
3532
  options.spacesAroundValues ?? 0
2959
3533
  );
2960
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2961
3534
  return out;
2962
3535
  }
2963
3536
  function diffBits(a, b, options = {}) {
@@ -2983,7 +3556,11 @@ function info4(options = {}) {
2983
3556
  const onlyDeprecated = options.onlyDeprecated ?? false;
2984
3557
  const full = options.full ?? false;
2985
3558
  const language = typeof options.language === "string" ? options.language : options.language?.join(",") ?? "";
2986
- return getActive().info(
3559
+ const wasm4 = getActive();
3560
+ if (format !== "json" && typeof wasm4.info_text_supported !== "function") {
3561
+ throw new UnsupportedFeatureError('info (format: "text")', variant());
3562
+ }
3563
+ return wasm4.info(
2987
3564
  infoType,
2988
3565
  format,
2989
3566
  bit,
@@ -2996,8 +3573,11 @@ function info4(options = {}) {
2996
3573
  );
2997
3574
  }
2998
3575
  function register4(options) {
2999
- const result = getActive().register(options.type, options.data);
3000
- if (result) throw new RegisterError(result.replace(/^error:\s*/, ""));
3576
+ try {
3577
+ getActive().register(options.type, options.data);
3578
+ } catch (e) {
3579
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
3580
+ }
3001
3581
  rememberRegistration(options.type, options.data);
3002
3582
  }
3003
3583
 
@@ -3027,12 +3607,17 @@ setLegacyWasmProvider(() => getActive());
3027
3607
  function defaultFeatureFor(module_or_path) {
3028
3608
  return module_or_path === void 0 ? BROWSER_DEFAULT_FEATURE : "full";
3029
3609
  }
3610
+ function isInitOptions(arg) {
3611
+ if (arg === null || typeof arg !== "object") return false;
3612
+ if ("feature" in arg || "module_or_path" in arg) return true;
3613
+ const proto = Object.getPrototypeOf(arg);
3614
+ return (proto === Object.prototype || proto === null) && Object.keys(arg).length === 0;
3615
+ }
3030
3616
  function normalizeInit(arg) {
3031
- if (arg !== null && typeof arg === "object" && !(arg instanceof URL) && ("feature" in arg || "module_or_path" in arg)) {
3032
- const o = arg;
3617
+ if (isInitOptions(arg)) {
3033
3618
  return {
3034
- feature: o.feature ?? defaultFeatureFor(o.module_or_path),
3035
- module_or_path: o.module_or_path
3619
+ feature: arg.feature ?? defaultFeatureFor(arg.module_or_path),
3620
+ module_or_path: arg.module_or_path
3036
3621
  };
3037
3622
  }
3038
3623
  const module_or_path = arg ?? void 0;
@@ -3052,7 +3637,7 @@ async function init(options) {
3052
3637
  const source = module_or_path ?? new URL(`${WASM_BASE}${v.wasmFile}?v=${PACKAGE_INFO.version}`, importMetaUrl);
3053
3638
  const promise = (async () => {
3054
3639
  try {
3055
- const out = await v.init(source);
3640
+ const out = await v.init({ module_or_path: source });
3056
3641
  if (mySeq === initSeq) {
3057
3642
  setActive(feature, v.ns);
3058
3643
  activeOut = out;
@@ -3070,7 +3655,9 @@ async function init(options) {
3070
3655
  function initSync4(module2, options = {}) {
3071
3656
  const feature = options.feature ?? defaultFeatureFor(module2);
3072
3657
  const v = VARIANTS[feature];
3073
- const out = v.initSync(module2);
3658
+ const out = v.initSync({ module: module2 });
3659
+ ++initSeq;
3660
+ inflight = void 0;
3074
3661
  setActive(feature, v.ns);
3075
3662
  activeOut = out;
3076
3663
  return out;
@@ -3091,24 +3678,31 @@ function transformParallel(input, options = {}) {
3091
3678
  // Annotate the CommonJS export names for ESM import in node:
3092
3679
  0 && (module.exports = {
3093
3680
  ALL_LANGUAGES,
3681
+ CompletionItemKind,
3682
+ CompletionItemTag,
3683
+ DiagnosticSeverity,
3094
3684
  NotInitializedError,
3095
3685
  RegisterError,
3096
3686
  UnsupportedFeatureError,
3097
3687
  bitmarkToObjects,
3098
3688
  breakscapeText,
3099
3689
  canonicalize,
3690
+ complete,
3100
3691
  convert,
3101
3692
  countBits,
3693
+ diagnostics,
3102
3694
  diff,
3103
3695
  diffBits,
3696
+ hover,
3104
3697
  info,
3105
3698
  init,
3106
3699
  initSync,
3107
3700
  legacy,
3108
- lex,
3109
3701
  objectsToBitmark,
3110
3702
  patchEntry,
3111
3703
  register,
3704
+ resolve,
3705
+ semanticTokens,
3112
3706
  splitBits,
3113
3707
  transform,
3114
3708
  transformParallel,