@gmb/bitmark-parser 6.11.0 → 7.0.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 +311 -51
  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 +696 -312
  5. package/dist/browser/cjs/index.cjs.map +1 -1
  6. package/dist/browser/cjs/index.d.cts +487 -74
  7. package/dist/browser/esm/index.d.ts +487 -74
  8. package/dist/browser/esm/index.js +693 -311
  9. package/dist/browser/esm/index.js.map +1 -1
  10. package/dist/browser/esm/worker-entry.js +578 -210
  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 +119 -107
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +487 -74
  18. package/dist/index.d.ts +487 -74
  19. package/dist/index.js +116 -106
  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 +496 -139
  31. package/wasm/bitmark_wasm.d.ts +47 -20
  32. package/wasm/bitmark_wasm.js +262 -96
  33. package/wasm/bitmark_wasm_bg.wasm +0 -0
  34. package/wasm/bitmark_wasm_bg.wasm.d.ts +4 -2
  35. package/wasm/package.json +1 -1
  36. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +26 -11
  37. package/wasm-bitmark-json/bitmark_json_wasm.js +195 -65
  38. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
  39. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +2 -1
  40. package/wasm-bitmark-json/package.json +1 -1
  41. package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +47 -20
  42. package/wasm-browser-full/bitmark_browser_full_wasm.js +262 -96
  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 +4 -2
  45. package/wasm-browser-full/package.json +1 -1
@@ -15,19 +15,26 @@ __export(bitmark_wasm_exports, {
15
15
  convert_text: () => convert_text,
16
16
  count_bits: () => count_bits,
17
17
  default: () => bitmark_wasm_default,
18
+ diff: () => diff,
18
19
  info: () => info,
20
+ info_text_supported: () => info_text_supported,
19
21
  initSync: () => initSync,
20
22
  is_bitmark: () => is_bitmark,
21
- lex: () => lex,
22
23
  prettify: () => prettify,
23
24
  register: () => register,
25
+ resolve_patch_document: () => resolve_patch_document,
24
26
  split_bits: () => split_bits,
25
27
  split_json_bits: () => split_json_bits,
26
28
  transform: () => transform,
27
29
  unbreakscape_text: () => unbreakscape_text
28
30
  });
29
31
  var wasm;
30
- var WASM_VECTOR_LEN = 0;
32
+ var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
33
+ throw Error("TextDecoder not available");
34
+ } };
35
+ if (typeof TextDecoder !== "undefined") {
36
+ cachedTextDecoder.decode();
37
+ }
31
38
  var cachedUint8ArrayMemory0 = null;
32
39
  function getUint8ArrayMemory0() {
33
40
  if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
@@ -35,6 +42,21 @@ function getUint8ArrayMemory0() {
35
42
  }
36
43
  return cachedUint8ArrayMemory0;
37
44
  }
45
+ function getStringFromWasm0(ptr, len) {
46
+ ptr = ptr >>> 0;
47
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
48
+ }
49
+ var heap = new Array(128).fill(void 0);
50
+ heap.push(void 0, null, true, false);
51
+ var heap_next = heap.length;
52
+ function addHeapObject(obj) {
53
+ if (heap_next === heap.length) heap.push(heap.length + 1);
54
+ const idx = heap_next;
55
+ heap_next = heap[idx];
56
+ heap[idx] = obj;
57
+ return idx;
58
+ }
59
+ var WASM_VECTOR_LEN = 0;
38
60
  var cachedTextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
39
61
  throw Error("TextEncoder not available");
40
62
  } };
@@ -85,36 +107,6 @@ function getDataViewMemory0() {
85
107
  }
86
108
  return cachedDataViewMemory0;
87
109
  }
88
- var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
89
- throw Error("TextDecoder not available");
90
- } };
91
- if (typeof TextDecoder !== "undefined") {
92
- cachedTextDecoder.decode();
93
- }
94
- function getStringFromWasm0(ptr, len) {
95
- ptr = ptr >>> 0;
96
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
97
- }
98
- function lex(input, stage) {
99
- let deferred3_0;
100
- let deferred3_1;
101
- try {
102
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
103
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
104
- const len0 = WASM_VECTOR_LEN;
105
- const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
106
- const len1 = WASM_VECTOR_LEN;
107
- wasm.lex(retptr, ptr0, len0, ptr1, len1);
108
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
109
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
110
- deferred3_0 = r0;
111
- deferred3_1 = r1;
112
- return getStringFromWasm0(r0, r1);
113
- } finally {
114
- wasm.__wbindgen_add_to_stack_pointer(16);
115
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
116
- }
117
- }
118
110
  function breakscape_text(input, format, location) {
119
111
  let deferred4_0;
120
112
  let deferred4_1;
@@ -183,9 +175,26 @@ function info(info_type, format, bit, pretty, indent, include_deprecated, only_d
183
175
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
184
176
  }
185
177
  }
178
+ function info_text_supported() {
179
+ const ret = wasm.info_text_supported();
180
+ return ret !== 0;
181
+ }
182
+ function getObject(idx) {
183
+ return heap[idx];
184
+ }
185
+ function dropObject(idx) {
186
+ if (idx < 132) return;
187
+ heap[idx] = heap_next;
188
+ heap_next = idx;
189
+ }
190
+ function takeObject(idx) {
191
+ const ret = getObject(idx);
192
+ dropObject(idx);
193
+ return ret;
194
+ }
186
195
  function convert_text(input, direction, format, location) {
187
- let deferred5_0;
188
- let deferred5_1;
196
+ let deferred6_0;
197
+ let deferred6_1;
189
198
  try {
190
199
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
191
200
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -199,17 +208,26 @@ function convert_text(input, direction, format, location) {
199
208
  wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
200
209
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
201
210
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
202
- deferred5_0 = r0;
203
- deferred5_1 = r1;
204
- return getStringFromWasm0(r0, r1);
211
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
212
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
213
+ var ptr5 = r0;
214
+ var len5 = r1;
215
+ if (r3) {
216
+ ptr5 = 0;
217
+ len5 = 0;
218
+ throw takeObject(r2);
219
+ }
220
+ deferred6_0 = ptr5;
221
+ deferred6_1 = len5;
222
+ return getStringFromWasm0(ptr5, len5);
205
223
  } finally {
206
224
  wasm.__wbindgen_add_to_stack_pointer(16);
207
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
225
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
208
226
  }
209
227
  }
210
228
  function transform(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
211
- let deferred6_0;
212
- let deferred6_1;
229
+ let deferred7_0;
230
+ let deferred7_1;
213
231
  try {
214
232
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
215
233
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -225,17 +243,86 @@ function transform(input, input_format_sel, output_format_sel, mode, patch_json,
225
243
  wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
226
244
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
227
245
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
228
- deferred6_0 = r0;
229
- deferred6_1 = r1;
230
- return getStringFromWasm0(r0, r1);
246
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
247
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
248
+ var ptr6 = r0;
249
+ var len6 = r1;
250
+ if (r3) {
251
+ ptr6 = 0;
252
+ len6 = 0;
253
+ throw takeObject(r2);
254
+ }
255
+ deferred7_0 = ptr6;
256
+ deferred7_1 = len6;
257
+ return getStringFromWasm0(ptr6, len6);
258
+ } finally {
259
+ wasm.__wbindgen_add_to_stack_pointer(16);
260
+ wasm.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
261
+ }
262
+ }
263
+ function resolve_patch_document(input, patch_json) {
264
+ let deferred4_0;
265
+ let deferred4_1;
266
+ try {
267
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
268
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
269
+ const len0 = WASM_VECTOR_LEN;
270
+ const ptr1 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
271
+ const len1 = WASM_VECTOR_LEN;
272
+ wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
273
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
274
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
275
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
276
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
277
+ var ptr3 = r0;
278
+ var len3 = r1;
279
+ if (r3) {
280
+ ptr3 = 0;
281
+ len3 = 0;
282
+ throw takeObject(r2);
283
+ }
284
+ deferred4_0 = ptr3;
285
+ deferred4_1 = len3;
286
+ return getStringFromWasm0(ptr3, len3);
287
+ } finally {
288
+ wasm.__wbindgen_add_to_stack_pointer(16);
289
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
290
+ }
291
+ }
292
+ function diff(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
293
+ let deferred6_0;
294
+ let deferred6_1;
295
+ try {
296
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
297
+ const ptr0 = passStringToWasm0(a, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
298
+ const len0 = WASM_VECTOR_LEN;
299
+ const ptr1 = passStringToWasm0(b, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
300
+ const len1 = WASM_VECTOR_LEN;
301
+ const ptr2 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
302
+ const len2 = WASM_VECTOR_LEN;
303
+ const ptr3 = passStringToWasm0(output_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
304
+ const len3 = WASM_VECTOR_LEN;
305
+ wasm.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
306
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
307
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
308
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
309
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
310
+ var ptr5 = r0;
311
+ var len5 = r1;
312
+ if (r3) {
313
+ ptr5 = 0;
314
+ len5 = 0;
315
+ throw takeObject(r2);
316
+ }
317
+ deferred6_0 = ptr5;
318
+ deferred6_1 = len5;
319
+ return getStringFromWasm0(ptr5, len5);
231
320
  } finally {
232
321
  wasm.__wbindgen_add_to_stack_pointer(16);
233
322
  wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
234
323
  }
235
324
  }
236
325
  function register(data_type, data) {
237
- let deferred3_0;
238
- let deferred3_1;
239
326
  try {
240
327
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
241
328
  const ptr0 = passStringToWasm0(data_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -245,17 +332,16 @@ function register(data_type, data) {
245
332
  wasm.register(retptr, ptr0, len0, ptr1, len1);
246
333
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
247
334
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
248
- deferred3_0 = r0;
249
- deferred3_1 = r1;
250
- return getStringFromWasm0(r0, r1);
335
+ if (r1) {
336
+ throw takeObject(r0);
337
+ }
251
338
  } finally {
252
339
  wasm.__wbindgen_add_to_stack_pointer(16);
253
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
254
340
  }
255
341
  }
256
- function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
257
- let deferred5_0;
258
- let deferred5_1;
342
+ function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
343
+ let deferred8_0;
344
+ let deferred8_1;
259
345
  try {
260
346
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
261
347
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -266,20 +352,33 @@ function convert(input, input_format_sel, output_format_sel, mode, pretty, inden
266
352
  const len2 = WASM_VECTOR_LEN;
267
353
  const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
268
354
  const len3 = WASM_VECTOR_LEN;
269
- wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
355
+ const ptr4 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
356
+ const len4 = WASM_VECTOR_LEN;
357
+ const ptr5 = passStringToWasm0(tokens_layout, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
358
+ const len5 = WASM_VECTOR_LEN;
359
+ 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);
270
360
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
271
361
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
272
- deferred5_0 = r0;
273
- deferred5_1 = r1;
274
- return getStringFromWasm0(r0, r1);
362
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
363
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
364
+ var ptr7 = r0;
365
+ var len7 = r1;
366
+ if (r3) {
367
+ ptr7 = 0;
368
+ len7 = 0;
369
+ throw takeObject(r2);
370
+ }
371
+ deferred8_0 = ptr7;
372
+ deferred8_1 = len7;
373
+ return getStringFromWasm0(ptr7, len7);
275
374
  } finally {
276
375
  wasm.__wbindgen_add_to_stack_pointer(16);
277
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
376
+ wasm.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
278
377
  }
279
378
  }
280
379
  function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
281
- let deferred4_0;
282
- let deferred4_1;
380
+ let deferred5_0;
381
+ let deferred5_1;
283
382
  try {
284
383
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
285
384
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -291,17 +390,26 @@ function canonicalize(input, input_format_sel, mode, pretty, indent, spaces_arou
291
390
  wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
292
391
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
293
392
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
294
- deferred4_0 = r0;
295
- deferred4_1 = r1;
296
- return getStringFromWasm0(r0, r1);
393
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
394
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
395
+ var ptr4 = r0;
396
+ var len4 = r1;
397
+ if (r3) {
398
+ ptr4 = 0;
399
+ len4 = 0;
400
+ throw takeObject(r2);
401
+ }
402
+ deferred5_0 = ptr4;
403
+ deferred5_1 = len4;
404
+ return getStringFromWasm0(ptr4, len4);
297
405
  } finally {
298
406
  wasm.__wbindgen_add_to_stack_pointer(16);
299
- wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
407
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
300
408
  }
301
409
  }
302
410
  function count_bits(input) {
303
- let deferred2_0;
304
- let deferred2_1;
411
+ let deferred3_0;
412
+ let deferred3_1;
305
413
  try {
306
414
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
307
415
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -309,12 +417,21 @@ function count_bits(input) {
309
417
  wasm.count_bits(retptr, ptr0, len0);
310
418
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
311
419
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
312
- deferred2_0 = r0;
313
- deferred2_1 = r1;
314
- return getStringFromWasm0(r0, r1);
420
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
421
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
422
+ var ptr2 = r0;
423
+ var len2 = r1;
424
+ if (r3) {
425
+ ptr2 = 0;
426
+ len2 = 0;
427
+ throw takeObject(r2);
428
+ }
429
+ deferred3_0 = ptr2;
430
+ deferred3_1 = len2;
431
+ return getStringFromWasm0(ptr2, len2);
315
432
  } finally {
316
433
  wasm.__wbindgen_add_to_stack_pointer(16);
317
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
434
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
318
435
  }
319
436
  }
320
437
  function split_bits(input) {
@@ -342,8 +459,8 @@ function is_bitmark(input) {
342
459
  return ret !== 0;
343
460
  }
344
461
  function split_json_bits(input) {
345
- let deferred2_0;
346
- let deferred2_1;
462
+ let deferred3_0;
463
+ let deferred3_1;
347
464
  try {
348
465
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
349
466
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -351,12 +468,21 @@ function split_json_bits(input) {
351
468
  wasm.split_json_bits(retptr, ptr0, len0);
352
469
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
353
470
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
354
- deferred2_0 = r0;
355
- deferred2_1 = r1;
356
- return getStringFromWasm0(r0, r1);
471
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
472
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
473
+ var ptr2 = r0;
474
+ var len2 = r1;
475
+ if (r3) {
476
+ ptr2 = 0;
477
+ len2 = 0;
478
+ throw takeObject(r2);
479
+ }
480
+ deferred3_0 = ptr2;
481
+ deferred3_1 = len2;
482
+ return getStringFromWasm0(ptr2, len2);
357
483
  } finally {
358
484
  wasm.__wbindgen_add_to_stack_pointer(16);
359
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
485
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
360
486
  }
361
487
  }
362
488
  function prettify(json, indent) {
@@ -404,6 +530,10 @@ async function __wbg_load(module, imports) {
404
530
  function __wbg_get_imports() {
405
531
  const imports = {};
406
532
  imports.wbg = {};
533
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
534
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
535
+ return addHeapObject(ret);
536
+ };
407
537
  return imports;
408
538
  }
409
539
  function __wbg_init_memory(imports, memory) {
@@ -463,19 +593,26 @@ __export(bitmark_browser_full_wasm_exports, {
463
593
  convert_text: () => convert_text2,
464
594
  count_bits: () => count_bits2,
465
595
  default: () => bitmark_browser_full_wasm_default,
596
+ diff: () => diff2,
466
597
  info: () => info2,
598
+ info_text_supported: () => info_text_supported2,
467
599
  initSync: () => initSync2,
468
600
  is_bitmark: () => is_bitmark2,
469
- lex: () => lex2,
470
601
  prettify: () => prettify2,
471
602
  register: () => register2,
603
+ resolve_patch_document: () => resolve_patch_document2,
472
604
  split_bits: () => split_bits2,
473
605
  split_json_bits: () => split_json_bits2,
474
606
  transform: () => transform2,
475
607
  unbreakscape_text: () => unbreakscape_text2
476
608
  });
477
609
  var wasm2;
478
- var WASM_VECTOR_LEN2 = 0;
610
+ var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
611
+ throw Error("TextDecoder not available");
612
+ } };
613
+ if (typeof TextDecoder !== "undefined") {
614
+ cachedTextDecoder2.decode();
615
+ }
479
616
  var cachedUint8ArrayMemory02 = null;
480
617
  function getUint8ArrayMemory02() {
481
618
  if (cachedUint8ArrayMemory02 === null || cachedUint8ArrayMemory02.byteLength === 0) {
@@ -483,6 +620,21 @@ function getUint8ArrayMemory02() {
483
620
  }
484
621
  return cachedUint8ArrayMemory02;
485
622
  }
623
+ function getStringFromWasm02(ptr, len) {
624
+ ptr = ptr >>> 0;
625
+ return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
626
+ }
627
+ var heap2 = new Array(128).fill(void 0);
628
+ heap2.push(void 0, null, true, false);
629
+ var heap_next2 = heap2.length;
630
+ function addHeapObject2(obj) {
631
+ if (heap_next2 === heap2.length) heap2.push(heap2.length + 1);
632
+ const idx = heap_next2;
633
+ heap_next2 = heap2[idx];
634
+ heap2[idx] = obj;
635
+ return idx;
636
+ }
637
+ var WASM_VECTOR_LEN2 = 0;
486
638
  var cachedTextEncoder2 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
487
639
  throw Error("TextEncoder not available");
488
640
  } };
@@ -533,36 +685,6 @@ function getDataViewMemory02() {
533
685
  }
534
686
  return cachedDataViewMemory02;
535
687
  }
536
- var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
537
- throw Error("TextDecoder not available");
538
- } };
539
- if (typeof TextDecoder !== "undefined") {
540
- cachedTextDecoder2.decode();
541
- }
542
- function getStringFromWasm02(ptr, len) {
543
- ptr = ptr >>> 0;
544
- return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
545
- }
546
- function lex2(input, stage) {
547
- let deferred3_0;
548
- let deferred3_1;
549
- try {
550
- const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
551
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
552
- const len0 = WASM_VECTOR_LEN2;
553
- const ptr1 = passStringToWasm02(stage, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
554
- const len1 = WASM_VECTOR_LEN2;
555
- wasm2.lex(retptr, ptr0, len0, ptr1, len1);
556
- var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
557
- var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
558
- deferred3_0 = r0;
559
- deferred3_1 = r1;
560
- return getStringFromWasm02(r0, r1);
561
- } finally {
562
- wasm2.__wbindgen_add_to_stack_pointer(16);
563
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
564
- }
565
- }
566
688
  function breakscape_text2(input, format, location) {
567
689
  let deferred4_0;
568
690
  let deferred4_1;
@@ -631,9 +753,26 @@ function info2(info_type, format, bit, pretty, indent, include_deprecated, only_
631
753
  wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
632
754
  }
633
755
  }
756
+ function info_text_supported2() {
757
+ const ret = wasm2.info_text_supported();
758
+ return ret !== 0;
759
+ }
760
+ function getObject2(idx) {
761
+ return heap2[idx];
762
+ }
763
+ function dropObject2(idx) {
764
+ if (idx < 132) return;
765
+ heap2[idx] = heap_next2;
766
+ heap_next2 = idx;
767
+ }
768
+ function takeObject2(idx) {
769
+ const ret = getObject2(idx);
770
+ dropObject2(idx);
771
+ return ret;
772
+ }
634
773
  function convert_text2(input, direction, format, location) {
635
- let deferred5_0;
636
- let deferred5_1;
774
+ let deferred6_0;
775
+ let deferred6_1;
637
776
  try {
638
777
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
639
778
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -647,17 +786,26 @@ function convert_text2(input, direction, format, location) {
647
786
  wasm2.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
648
787
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
649
788
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
650
- deferred5_0 = r0;
651
- deferred5_1 = r1;
652
- return getStringFromWasm02(r0, r1);
789
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
790
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
791
+ var ptr5 = r0;
792
+ var len5 = r1;
793
+ if (r3) {
794
+ ptr5 = 0;
795
+ len5 = 0;
796
+ throw takeObject2(r2);
797
+ }
798
+ deferred6_0 = ptr5;
799
+ deferred6_1 = len5;
800
+ return getStringFromWasm02(ptr5, len5);
653
801
  } finally {
654
802
  wasm2.__wbindgen_add_to_stack_pointer(16);
655
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
803
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
656
804
  }
657
805
  }
658
806
  function transform2(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
659
- let deferred6_0;
660
- let deferred6_1;
807
+ let deferred7_0;
808
+ let deferred7_1;
661
809
  try {
662
810
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
663
811
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -673,17 +821,86 @@ function transform2(input, input_format_sel, output_format_sel, mode, patch_json
673
821
  wasm2.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
674
822
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
675
823
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
676
- deferred6_0 = r0;
677
- deferred6_1 = r1;
678
- return getStringFromWasm02(r0, r1);
824
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
825
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
826
+ var ptr6 = r0;
827
+ var len6 = r1;
828
+ if (r3) {
829
+ ptr6 = 0;
830
+ len6 = 0;
831
+ throw takeObject2(r2);
832
+ }
833
+ deferred7_0 = ptr6;
834
+ deferred7_1 = len6;
835
+ return getStringFromWasm02(ptr6, len6);
836
+ } finally {
837
+ wasm2.__wbindgen_add_to_stack_pointer(16);
838
+ wasm2.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
839
+ }
840
+ }
841
+ function resolve_patch_document2(input, patch_json) {
842
+ let deferred4_0;
843
+ let deferred4_1;
844
+ try {
845
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
846
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
847
+ const len0 = WASM_VECTOR_LEN2;
848
+ const ptr1 = passStringToWasm02(patch_json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
849
+ const len1 = WASM_VECTOR_LEN2;
850
+ wasm2.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
851
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
852
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
853
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
854
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
855
+ var ptr3 = r0;
856
+ var len3 = r1;
857
+ if (r3) {
858
+ ptr3 = 0;
859
+ len3 = 0;
860
+ throw takeObject2(r2);
861
+ }
862
+ deferred4_0 = ptr3;
863
+ deferred4_1 = len3;
864
+ return getStringFromWasm02(ptr3, len3);
865
+ } finally {
866
+ wasm2.__wbindgen_add_to_stack_pointer(16);
867
+ wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
868
+ }
869
+ }
870
+ function diff2(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
871
+ let deferred6_0;
872
+ let deferred6_1;
873
+ try {
874
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
875
+ const ptr0 = passStringToWasm02(a, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
876
+ const len0 = WASM_VECTOR_LEN2;
877
+ const ptr1 = passStringToWasm02(b, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
878
+ const len1 = WASM_VECTOR_LEN2;
879
+ const ptr2 = passStringToWasm02(input_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
880
+ const len2 = WASM_VECTOR_LEN2;
881
+ const ptr3 = passStringToWasm02(output_format_sel, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
882
+ const len3 = WASM_VECTOR_LEN2;
883
+ wasm2.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
884
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
885
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
886
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
887
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
888
+ var ptr5 = r0;
889
+ var len5 = r1;
890
+ if (r3) {
891
+ ptr5 = 0;
892
+ len5 = 0;
893
+ throw takeObject2(r2);
894
+ }
895
+ deferred6_0 = ptr5;
896
+ deferred6_1 = len5;
897
+ return getStringFromWasm02(ptr5, len5);
679
898
  } finally {
680
899
  wasm2.__wbindgen_add_to_stack_pointer(16);
681
900
  wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
682
901
  }
683
902
  }
684
903
  function register2(data_type, data) {
685
- let deferred3_0;
686
- let deferred3_1;
687
904
  try {
688
905
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
689
906
  const ptr0 = passStringToWasm02(data_type, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -693,17 +910,16 @@ function register2(data_type, data) {
693
910
  wasm2.register(retptr, ptr0, len0, ptr1, len1);
694
911
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
695
912
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
696
- deferred3_0 = r0;
697
- deferred3_1 = r1;
698
- return getStringFromWasm02(r0, r1);
913
+ if (r1) {
914
+ throw takeObject2(r0);
915
+ }
699
916
  } finally {
700
917
  wasm2.__wbindgen_add_to_stack_pointer(16);
701
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
702
918
  }
703
919
  }
704
- function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
705
- let deferred5_0;
706
- let deferred5_1;
920
+ function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
921
+ let deferred8_0;
922
+ let deferred8_1;
707
923
  try {
708
924
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
709
925
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -714,20 +930,33 @@ function convert2(input, input_format_sel, output_format_sel, mode, pretty, inde
714
930
  const len2 = WASM_VECTOR_LEN2;
715
931
  const ptr3 = passStringToWasm02(mode, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
716
932
  const len3 = WASM_VECTOR_LEN2;
717
- wasm2.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
933
+ const ptr4 = passStringToWasm02(position_encoding, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
934
+ const len4 = WASM_VECTOR_LEN2;
935
+ const ptr5 = passStringToWasm02(tokens_layout, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
936
+ const len5 = WASM_VECTOR_LEN2;
937
+ 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);
718
938
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
719
939
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
720
- deferred5_0 = r0;
721
- deferred5_1 = r1;
722
- return getStringFromWasm02(r0, r1);
940
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
941
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
942
+ var ptr7 = r0;
943
+ var len7 = r1;
944
+ if (r3) {
945
+ ptr7 = 0;
946
+ len7 = 0;
947
+ throw takeObject2(r2);
948
+ }
949
+ deferred8_0 = ptr7;
950
+ deferred8_1 = len7;
951
+ return getStringFromWasm02(ptr7, len7);
723
952
  } finally {
724
953
  wasm2.__wbindgen_add_to_stack_pointer(16);
725
- wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
954
+ wasm2.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
726
955
  }
727
956
  }
728
957
  function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
729
- let deferred4_0;
730
- let deferred4_1;
958
+ let deferred5_0;
959
+ let deferred5_1;
731
960
  try {
732
961
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
733
962
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -739,17 +968,26 @@ function canonicalize2(input, input_format_sel, mode, pretty, indent, spaces_aro
739
968
  wasm2.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
740
969
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
741
970
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
742
- deferred4_0 = r0;
743
- deferred4_1 = r1;
744
- return getStringFromWasm02(r0, r1);
971
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
972
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
973
+ var ptr4 = r0;
974
+ var len4 = r1;
975
+ if (r3) {
976
+ ptr4 = 0;
977
+ len4 = 0;
978
+ throw takeObject2(r2);
979
+ }
980
+ deferred5_0 = ptr4;
981
+ deferred5_1 = len4;
982
+ return getStringFromWasm02(ptr4, len4);
745
983
  } finally {
746
984
  wasm2.__wbindgen_add_to_stack_pointer(16);
747
- wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
985
+ wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
748
986
  }
749
987
  }
750
988
  function count_bits2(input) {
751
- let deferred2_0;
752
- let deferred2_1;
989
+ let deferred3_0;
990
+ let deferred3_1;
753
991
  try {
754
992
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
755
993
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -757,12 +995,21 @@ function count_bits2(input) {
757
995
  wasm2.count_bits(retptr, ptr0, len0);
758
996
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
759
997
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
760
- deferred2_0 = r0;
761
- deferred2_1 = r1;
762
- return getStringFromWasm02(r0, r1);
998
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
999
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1000
+ var ptr2 = r0;
1001
+ var len2 = r1;
1002
+ if (r3) {
1003
+ ptr2 = 0;
1004
+ len2 = 0;
1005
+ throw takeObject2(r2);
1006
+ }
1007
+ deferred3_0 = ptr2;
1008
+ deferred3_1 = len2;
1009
+ return getStringFromWasm02(ptr2, len2);
763
1010
  } finally {
764
1011
  wasm2.__wbindgen_add_to_stack_pointer(16);
765
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1012
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
766
1013
  }
767
1014
  }
768
1015
  function split_bits2(input) {
@@ -790,8 +1037,8 @@ function is_bitmark2(input) {
790
1037
  return ret !== 0;
791
1038
  }
792
1039
  function split_json_bits2(input) {
793
- let deferred2_0;
794
- let deferred2_1;
1040
+ let deferred3_0;
1041
+ let deferred3_1;
795
1042
  try {
796
1043
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
797
1044
  const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
@@ -799,12 +1046,21 @@ function split_json_bits2(input) {
799
1046
  wasm2.split_json_bits(retptr, ptr0, len0);
800
1047
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
801
1048
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
802
- deferred2_0 = r0;
803
- deferred2_1 = r1;
804
- return getStringFromWasm02(r0, r1);
1049
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1050
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1051
+ var ptr2 = r0;
1052
+ var len2 = r1;
1053
+ if (r3) {
1054
+ ptr2 = 0;
1055
+ len2 = 0;
1056
+ throw takeObject2(r2);
1057
+ }
1058
+ deferred3_0 = ptr2;
1059
+ deferred3_1 = len2;
1060
+ return getStringFromWasm02(ptr2, len2);
805
1061
  } finally {
806
1062
  wasm2.__wbindgen_add_to_stack_pointer(16);
807
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1063
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
808
1064
  }
809
1065
  }
810
1066
  function prettify2(json, indent) {
@@ -852,6 +1108,10 @@ async function __wbg_load2(module, imports) {
852
1108
  function __wbg_get_imports2() {
853
1109
  const imports = {};
854
1110
  imports.wbg = {};
1111
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1112
+ const ret = new Error(getStringFromWasm02(arg0, arg1));
1113
+ return addHeapObject2(ret);
1114
+ };
855
1115
  return imports;
856
1116
  }
857
1117
  function __wbg_init_memory2(imports, memory) {
@@ -916,13 +1176,19 @@ __export(bitmark_json_wasm_exports, {
916
1176
  is_bitmark: () => is_bitmark3,
917
1177
  prettify: () => prettify3,
918
1178
  register: () => register3,
1179
+ resolve_patch_document: () => resolve_patch_document3,
919
1180
  split_bits: () => split_bits3,
920
1181
  split_json_bits: () => split_json_bits3,
921
1182
  transform: () => transform3,
922
1183
  unbreakscape_text: () => unbreakscape_text3
923
1184
  });
924
1185
  var wasm3;
925
- var WASM_VECTOR_LEN3 = 0;
1186
+ var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
1187
+ throw Error("TextDecoder not available");
1188
+ } };
1189
+ if (typeof TextDecoder !== "undefined") {
1190
+ cachedTextDecoder3.decode();
1191
+ }
926
1192
  var cachedUint8ArrayMemory03 = null;
927
1193
  function getUint8ArrayMemory03() {
928
1194
  if (cachedUint8ArrayMemory03 === null || cachedUint8ArrayMemory03.byteLength === 0) {
@@ -930,6 +1196,21 @@ function getUint8ArrayMemory03() {
930
1196
  }
931
1197
  return cachedUint8ArrayMemory03;
932
1198
  }
1199
+ function getStringFromWasm03(ptr, len) {
1200
+ ptr = ptr >>> 0;
1201
+ return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
1202
+ }
1203
+ var heap3 = new Array(128).fill(void 0);
1204
+ heap3.push(void 0, null, true, false);
1205
+ var heap_next3 = heap3.length;
1206
+ function addHeapObject3(obj) {
1207
+ if (heap_next3 === heap3.length) heap3.push(heap3.length + 1);
1208
+ const idx = heap_next3;
1209
+ heap_next3 = heap3[idx];
1210
+ heap3[idx] = obj;
1211
+ return idx;
1212
+ }
1213
+ var WASM_VECTOR_LEN3 = 0;
933
1214
  var cachedTextEncoder3 = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
934
1215
  throw Error("TextEncoder not available");
935
1216
  } };
@@ -980,16 +1261,6 @@ function getDataViewMemory03() {
980
1261
  }
981
1262
  return cachedDataViewMemory03;
982
1263
  }
983
- var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
984
- throw Error("TextDecoder not available");
985
- } };
986
- if (typeof TextDecoder !== "undefined") {
987
- cachedTextDecoder3.decode();
988
- }
989
- function getStringFromWasm03(ptr, len) {
990
- ptr = ptr >>> 0;
991
- return cachedTextDecoder3.decode(getUint8ArrayMemory03().subarray(ptr, ptr + len));
992
- }
993
1264
  function breakscape_text3(input, format, location) {
994
1265
  let deferred4_0;
995
1266
  let deferred4_1;
@@ -1058,9 +1329,20 @@ function info3(info_type, format, bit, pretty, indent, include_deprecated, only_
1058
1329
  wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1059
1330
  }
1060
1331
  }
1332
+ function getObject3(idx) {
1333
+ return heap3[idx];
1334
+ }
1335
+ function dropObject3(idx) {
1336
+ if (idx < 132) return;
1337
+ heap3[idx] = heap_next3;
1338
+ heap_next3 = idx;
1339
+ }
1340
+ function takeObject3(idx) {
1341
+ const ret = getObject3(idx);
1342
+ dropObject3(idx);
1343
+ return ret;
1344
+ }
1061
1345
  function register3(data_type, data) {
1062
- let deferred3_0;
1063
- let deferred3_1;
1064
1346
  try {
1065
1347
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1066
1348
  const ptr0 = passStringToWasm03(data_type, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1070,17 +1352,16 @@ function register3(data_type, data) {
1070
1352
  wasm3.register(retptr, ptr0, len0, ptr1, len1);
1071
1353
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1072
1354
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1073
- deferred3_0 = r0;
1074
- deferred3_1 = r1;
1075
- return getStringFromWasm03(r0, r1);
1355
+ if (r1) {
1356
+ throw takeObject3(r0);
1357
+ }
1076
1358
  } finally {
1077
1359
  wasm3.__wbindgen_add_to_stack_pointer(16);
1078
- wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1079
1360
  }
1080
1361
  }
1081
1362
  function transform3(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
1082
- let deferred6_0;
1083
- let deferred6_1;
1363
+ let deferred7_0;
1364
+ let deferred7_1;
1084
1365
  try {
1085
1366
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1086
1367
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1096,17 +1377,55 @@ function transform3(input, input_format_sel, output_format_sel, mode, patch_json
1096
1377
  wasm3.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
1097
1378
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1098
1379
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1099
- deferred6_0 = r0;
1100
- deferred6_1 = r1;
1101
- return getStringFromWasm03(r0, r1);
1380
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1381
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1382
+ var ptr6 = r0;
1383
+ var len6 = r1;
1384
+ if (r3) {
1385
+ ptr6 = 0;
1386
+ len6 = 0;
1387
+ throw takeObject3(r2);
1388
+ }
1389
+ deferred7_0 = ptr6;
1390
+ deferred7_1 = len6;
1391
+ return getStringFromWasm03(ptr6, len6);
1102
1392
  } finally {
1103
1393
  wasm3.__wbindgen_add_to_stack_pointer(16);
1104
- wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1394
+ wasm3.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
1105
1395
  }
1106
1396
  }
1107
- function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
1108
- let deferred5_0;
1109
- let deferred5_1;
1397
+ function resolve_patch_document3(input, patch_json) {
1398
+ let deferred4_0;
1399
+ let deferred4_1;
1400
+ try {
1401
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1402
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1403
+ const len0 = WASM_VECTOR_LEN3;
1404
+ const ptr1 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1405
+ const len1 = WASM_VECTOR_LEN3;
1406
+ wasm3.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
1407
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1408
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1409
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1410
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1411
+ var ptr3 = r0;
1412
+ var len3 = r1;
1413
+ if (r3) {
1414
+ ptr3 = 0;
1415
+ len3 = 0;
1416
+ throw takeObject3(r2);
1417
+ }
1418
+ deferred4_0 = ptr3;
1419
+ deferred4_1 = len3;
1420
+ return getStringFromWasm03(ptr3, len3);
1421
+ } finally {
1422
+ wasm3.__wbindgen_add_to_stack_pointer(16);
1423
+ wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1424
+ }
1425
+ }
1426
+ function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1427
+ let deferred8_0;
1428
+ let deferred8_1;
1110
1429
  try {
1111
1430
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1112
1431
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1117,20 +1436,33 @@ function convert3(input, input_format_sel, output_format_sel, mode, pretty, inde
1117
1436
  const len2 = WASM_VECTOR_LEN3;
1118
1437
  const ptr3 = passStringToWasm03(mode, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1119
1438
  const len3 = WASM_VECTOR_LEN3;
1120
- wasm3.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
1439
+ const ptr4 = passStringToWasm03(position_encoding, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1440
+ const len4 = WASM_VECTOR_LEN3;
1441
+ const ptr5 = passStringToWasm03(tokens_layout, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1442
+ const len5 = WASM_VECTOR_LEN3;
1443
+ 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);
1121
1444
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1122
1445
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1123
- deferred5_0 = r0;
1124
- deferred5_1 = r1;
1125
- return getStringFromWasm03(r0, r1);
1446
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1447
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1448
+ var ptr7 = r0;
1449
+ var len7 = r1;
1450
+ if (r3) {
1451
+ ptr7 = 0;
1452
+ len7 = 0;
1453
+ throw takeObject3(r2);
1454
+ }
1455
+ deferred8_0 = ptr7;
1456
+ deferred8_1 = len7;
1457
+ return getStringFromWasm03(ptr7, len7);
1126
1458
  } finally {
1127
1459
  wasm3.__wbindgen_add_to_stack_pointer(16);
1128
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1460
+ wasm3.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
1129
1461
  }
1130
1462
  }
1131
1463
  function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
1132
- let deferred4_0;
1133
- let deferred4_1;
1464
+ let deferred5_0;
1465
+ let deferred5_1;
1134
1466
  try {
1135
1467
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1136
1468
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1142,17 +1474,26 @@ function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_aro
1142
1474
  wasm3.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
1143
1475
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1144
1476
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1145
- deferred4_0 = r0;
1146
- deferred4_1 = r1;
1147
- return getStringFromWasm03(r0, r1);
1477
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1478
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1479
+ var ptr4 = r0;
1480
+ var len4 = r1;
1481
+ if (r3) {
1482
+ ptr4 = 0;
1483
+ len4 = 0;
1484
+ throw takeObject3(r2);
1485
+ }
1486
+ deferred5_0 = ptr4;
1487
+ deferred5_1 = len4;
1488
+ return getStringFromWasm03(ptr4, len4);
1148
1489
  } finally {
1149
1490
  wasm3.__wbindgen_add_to_stack_pointer(16);
1150
- wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1491
+ wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1151
1492
  }
1152
1493
  }
1153
1494
  function count_bits3(input) {
1154
- let deferred2_0;
1155
- let deferred2_1;
1495
+ let deferred3_0;
1496
+ let deferred3_1;
1156
1497
  try {
1157
1498
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1158
1499
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1160,12 +1501,21 @@ function count_bits3(input) {
1160
1501
  wasm3.count_bits(retptr, ptr0, len0);
1161
1502
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1162
1503
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1163
- deferred2_0 = r0;
1164
- deferred2_1 = r1;
1165
- return getStringFromWasm03(r0, r1);
1504
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1505
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1506
+ var ptr2 = r0;
1507
+ var len2 = r1;
1508
+ if (r3) {
1509
+ ptr2 = 0;
1510
+ len2 = 0;
1511
+ throw takeObject3(r2);
1512
+ }
1513
+ deferred3_0 = ptr2;
1514
+ deferred3_1 = len2;
1515
+ return getStringFromWasm03(ptr2, len2);
1166
1516
  } finally {
1167
1517
  wasm3.__wbindgen_add_to_stack_pointer(16);
1168
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1518
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1169
1519
  }
1170
1520
  }
1171
1521
  function split_bits3(input) {
@@ -1193,8 +1543,8 @@ function is_bitmark3(input) {
1193
1543
  return ret !== 0;
1194
1544
  }
1195
1545
  function split_json_bits3(input) {
1196
- let deferred2_0;
1197
- let deferred2_1;
1546
+ let deferred3_0;
1547
+ let deferred3_1;
1198
1548
  try {
1199
1549
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1200
1550
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1202,12 +1552,21 @@ function split_json_bits3(input) {
1202
1552
  wasm3.split_json_bits(retptr, ptr0, len0);
1203
1553
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1204
1554
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1205
- deferred2_0 = r0;
1206
- deferred2_1 = r1;
1207
- return getStringFromWasm03(r0, r1);
1555
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1556
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1557
+ var ptr2 = r0;
1558
+ var len2 = r1;
1559
+ if (r3) {
1560
+ ptr2 = 0;
1561
+ len2 = 0;
1562
+ throw takeObject3(r2);
1563
+ }
1564
+ deferred3_0 = ptr2;
1565
+ deferred3_1 = len2;
1566
+ return getStringFromWasm03(ptr2, len2);
1208
1567
  } finally {
1209
1568
  wasm3.__wbindgen_add_to_stack_pointer(16);
1210
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1569
+ wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1211
1570
  }
1212
1571
  }
1213
1572
  function prettify3(json, indent) {
@@ -1229,8 +1588,8 @@ function prettify3(json, indent) {
1229
1588
  }
1230
1589
  }
1231
1590
  function convert_text3(input, direction, format, location) {
1232
- let deferred5_0;
1233
- let deferred5_1;
1591
+ let deferred6_0;
1592
+ let deferred6_1;
1234
1593
  try {
1235
1594
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1236
1595
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
@@ -1244,12 +1603,21 @@ function convert_text3(input, direction, format, location) {
1244
1603
  wasm3.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1245
1604
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1246
1605
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1247
- deferred5_0 = r0;
1248
- deferred5_1 = r1;
1249
- return getStringFromWasm03(r0, r1);
1606
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
1607
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
1608
+ var ptr5 = r0;
1609
+ var len5 = r1;
1610
+ if (r3) {
1611
+ ptr5 = 0;
1612
+ len5 = 0;
1613
+ throw takeObject3(r2);
1614
+ }
1615
+ deferred6_0 = ptr5;
1616
+ deferred6_1 = len5;
1617
+ return getStringFromWasm03(ptr5, len5);
1250
1618
  } finally {
1251
1619
  wasm3.__wbindgen_add_to_stack_pointer(16);
1252
- wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1620
+ wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1253
1621
  }
1254
1622
  }
1255
1623
  async function __wbg_load3(module, imports) {
@@ -1279,6 +1647,10 @@ async function __wbg_load3(module, imports) {
1279
1647
  function __wbg_get_imports3() {
1280
1648
  const imports = {};
1281
1649
  imports.wbg = {};
1650
+ imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
1651
+ const ret = new Error(getStringFromWasm03(arg0, arg1));
1652
+ return addHeapObject3(ret);
1653
+ };
1282
1654
  return imports;
1283
1655
  }
1284
1656
  function __wbg_init_memory3(imports, memory) {
@@ -1332,7 +1704,7 @@ var bitmark_json_wasm_default = __wbg_init3;
1332
1704
  // src/generated/package_info.ts
1333
1705
  var PACKAGE_INFO = {
1334
1706
  "name": "@gmb/bitmark-parser",
1335
- "version": "6.11.0",
1707
+ "version": "7.0.0",
1336
1708
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
1337
1709
  "license": "ISC",
1338
1710
  "description": "A parser for bitmark text, powered by WebAssembly."
@@ -1371,8 +1743,11 @@ function getActive() {
1371
1743
  }
1372
1744
  function setActive(feature, module) {
1373
1745
  for (const [type, data] of registrations) {
1374
- const error = module.register(type, data);
1375
- if (error) throw new RegisterError(error.replace(/^error:\s*/, ""));
1746
+ try {
1747
+ module.register(type, data);
1748
+ } catch (e) {
1749
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
1750
+ }
1376
1751
  }
1377
1752
  active = module;
1378
1753
  activeFeature = feature;
@@ -1385,38 +1760,24 @@ function variant() {
1385
1760
  }
1386
1761
 
1387
1762
  // src/core/hooked-transform.ts
1388
- function isError(s) {
1389
- return s.startsWith("error:");
1390
- }
1391
- function errorString(e) {
1392
- const m = e instanceof Error ? e.message : String(e);
1393
- return m.startsWith("error:") ? m : `error: ${m}`;
1394
- }
1395
1763
  function stripArray(doc) {
1396
1764
  const t = doc.trim();
1397
1765
  return t.startsWith("[") && t.endsWith("]") ? t.slice(1, -1) : doc;
1398
1766
  }
1399
- function normalisePatch(patch) {
1400
- if (patch === void 0) return [];
1401
- if (typeof patch === "string") {
1402
- const trimmed = patch.trim();
1403
- return trimmed === "" ? [] : JSON.parse(trimmed);
1404
- }
1405
- return patch;
1767
+ function patchJsonOf(patch) {
1768
+ if (patch === void 0) return "";
1769
+ if (typeof patch === "string") return patch.trim();
1770
+ return JSON.stringify(patch);
1406
1771
  }
1407
1772
  function buildUnits(wasm4, input, inputIsBitmark) {
1408
1773
  if (inputIsBitmark) {
1409
- const out2 = wasm4.split_bits(input);
1410
- if (isError(out2)) throw new Error(out2);
1411
- const slices = JSON.parse(out2);
1774
+ const slices = JSON.parse(wasm4.split_bits(input));
1412
1775
  return slices.map((s) => ({
1413
1776
  view: { format: "bitmark", index: s.index, total: slices.length, source: s.source },
1414
1777
  source: s.source
1415
1778
  }));
1416
1779
  }
1417
- const out = wasm4.split_json_bits(input);
1418
- if (isError(out)) throw new Error(out);
1419
- const envelopes = JSON.parse(out);
1780
+ const envelopes = JSON.parse(wasm4.split_json_bits(input));
1420
1781
  return envelopes.map((env, index) => ({
1421
1782
  view: { format: "json", index, total: envelopes.length, bit: env.bit ?? {} },
1422
1783
  // Per-bit transform consumes a one-bit JSON document.
@@ -1432,28 +1793,54 @@ function planTransform(wasm4, input, options) {
1432
1793
  const sel = options.inputFormat ?? "auto";
1433
1794
  const inputIsBitmark = sel === "bitmark" || sel !== "json" && wasm4.is_bitmark(input);
1434
1795
  const inputFormat = inputIsBitmark ? "bitmark" : "json";
1435
- const staticPatch = normalisePatch(options.patch);
1436
1796
  const units = buildUnits(wasm4, input, inputIsBitmark);
1437
1797
  const total = units.length;
1438
- const jobs = [];
1439
- const views = [];
1798
+ const hooked = [];
1440
1799
  for (let index = 0; index < total; index++) {
1441
- const { view, source } = units[index];
1800
+ const { view } = units[index];
1442
1801
  view.index = index;
1443
1802
  view.total = total;
1444
1803
  const result = options.preHook ? options.preHook(view) || {} : {};
1445
- if (result.drop) continue;
1446
- const patches = result.patches ? [...staticPatch, ...result.patches] : staticPatch;
1447
- jobs.push({
1448
- index,
1449
- source,
1450
- inputFormat,
1451
- outputFormat: result.outputFormat ?? output,
1452
- mode,
1453
- patchJson: JSON.stringify(patches),
1454
- spacesAroundValues
1455
- });
1456
- views.push(view);
1804
+ hooked.push(result.drop ? null : { patches: result.patches ?? [], outputFormat: result.outputFormat ?? output });
1805
+ }
1806
+ const patchJson = patchJsonOf(options.patch);
1807
+ let resolved;
1808
+ if (patchJson === "") {
1809
+ resolved = units.map((_, index) => ({ source: index, bit: null, patch: [] }));
1810
+ } else {
1811
+ resolved = JSON.parse(wasm4.resolve_patch_document(input, patchJson));
1812
+ }
1813
+ const jobs = [];
1814
+ const views = [];
1815
+ for (const item of resolved) {
1816
+ if (item.source !== null) {
1817
+ const hook = hooked[item.source];
1818
+ if (!hook) continue;
1819
+ jobs.push({
1820
+ index: item.source,
1821
+ source: units[item.source].source,
1822
+ inputFormat,
1823
+ outputFormat: hook.outputFormat,
1824
+ mode,
1825
+ // The document's patches first, the hook's after (the hook contract).
1826
+ patchJson: JSON.stringify([...item.patch, ...hook.patches]),
1827
+ spacesAroundValues
1828
+ });
1829
+ views.push(units[item.source].view);
1830
+ } else {
1831
+ const bit = item.bit ?? {};
1832
+ const index = jobs.length;
1833
+ jobs.push({
1834
+ index,
1835
+ source: JSON.stringify([{ bit }]),
1836
+ inputFormat: "json",
1837
+ outputFormat: output,
1838
+ mode,
1839
+ patchJson: JSON.stringify(item.patch),
1840
+ spacesAroundValues
1841
+ });
1842
+ views.push({ format: "json", index, total, bit });
1843
+ }
1457
1844
  }
1458
1845
  return { jobs, views, output, pretty, indent };
1459
1846
  }
@@ -1468,7 +1855,6 @@ function computeBit(wasm4, job) {
1468
1855
  2,
1469
1856
  job.spacesAroundValues
1470
1857
  );
1471
- if (isError(out)) return out;
1472
1858
  return job.outputFormat === "json" ? stripArray(out) : out;
1473
1859
  }
1474
1860
  function recombine(wasm4, elements, output, pretty, indent) {
@@ -1477,16 +1863,10 @@ function recombine(wasm4, elements, output, pretty, indent) {
1477
1863
  return pretty ? wasm4.prettify(arr, indent) : arr;
1478
1864
  }
1479
1865
  function runHookedTransform(wasm4, input, options) {
1480
- let plan;
1481
- try {
1482
- plan = planTransform(wasm4, input, options);
1483
- } catch (e) {
1484
- return errorString(e);
1485
- }
1866
+ const plan = planTransform(wasm4, input, options);
1486
1867
  const rendered = [];
1487
1868
  for (let i = 0; i < plan.jobs.length; i++) {
1488
1869
  const element = computeBit(wasm4, plan.jobs[i]);
1489
- if (isError(element)) return element;
1490
1870
  options.postHook?.(plan.views[i], element);
1491
1871
  rendered.push(element);
1492
1872
  }
@@ -1495,20 +1875,9 @@ function runHookedTransform(wasm4, input, options) {
1495
1875
 
1496
1876
  // src/core/parallel.ts
1497
1877
  async function orchestrateParallel(wasm4, input, options, runJobs) {
1498
- let plan;
1499
- try {
1500
- plan = planTransform(wasm4, input, options);
1501
- } catch (e) {
1502
- return errorString(e);
1503
- }
1504
- let elements;
1505
- try {
1506
- elements = await runJobs(plan.jobs, options.workers ?? 4);
1507
- } catch (e) {
1508
- return errorString(e);
1509
- }
1878
+ const plan = planTransform(wasm4, input, options);
1879
+ const elements = await runJobs(plan.jobs, options.workers ?? 4);
1510
1880
  for (let i = 0; i < elements.length; i++) {
1511
- if (isError(elements[i])) return elements[i];
1512
1881
  options.postHook?.(plan.views[i], elements[i]);
1513
1882
  }
1514
1883
  return recombine(wasm4, elements, plan.output, plan.pretty, plan.indent);
@@ -1821,10 +2190,7 @@ var Builder = class {
1821
2190
  }
1822
2191
  }
1823
2192
  this.parseStringTexts(bit);
1824
- const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false);
1825
- if (out.startsWith("error:")) {
1826
- throw new Error(out.slice("error:".length).trim());
1827
- }
2193
+ const out = wasm4.convert(JSON.stringify([{ bit }]), "json", "json", "optimized", false, 2, 1, false, false, "", "");
1828
2194
  const entries = JSON.parse(out);
1829
2195
  const built = entries[0]?.bit ?? bit;
1830
2196
  for (const [key, value] of Object.entries(bit)) {
@@ -1961,8 +2327,7 @@ var BitmarkParserGenerator = class {
1961
2327
  const emit = coreFormat === "bitmark" ? prettyIndent(bitmarkOptions.prettifyJson) : { pretty, indent };
1962
2328
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
1963
2329
  const includeUnknown = !jsonOptions.excludeUnknownProperties;
1964
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false);
1965
- this.throwOnError(out);
2330
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", coreFormat, "optimized", emit.pretty, emit.indent, spaces, includeUnknown, false, "", "");
1966
2331
  if (outputFormat === "bitmark" || outputFormat === "text") {
1967
2332
  return this.deliver(out, opts.outputFile, opts.fileOptions);
1968
2333
  }
@@ -1996,7 +2361,6 @@ var BitmarkParserGenerator = class {
1996
2361
  );
1997
2362
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
1998
2363
  const out = wasm4.canonicalize(source, isBitmark ? "bitmark" : "json", "optimized", pretty, indent, spaces);
1999
- this.throwOnError(out);
2000
2364
  if (isBitmark) return this.deliver(out, opts.outputFile, opts.fileOptions);
2001
2365
  if (opts.outputFile) return this.deliver(out, opts.outputFile, opts.fileOptions);
2002
2366
  if (pretty || jsonOptions.stringify) return out;
@@ -2013,7 +2377,6 @@ var BitmarkParserGenerator = class {
2013
2377
  const { pretty, indent } = prettyIndent(opts.prettify);
2014
2378
  const coreFormat = format === "pojo" ? "json" : format;
2015
2379
  const out = wasm4.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true, "");
2016
- this.throwOnError(out);
2017
2380
  if (format === "pojo") return JSON.parse(out);
2018
2381
  return out;
2019
2382
  }
@@ -2045,8 +2408,7 @@ var BitmarkParserGenerator = class {
2045
2408
  const isHtmlInput = opts.inputFormat === "html" || opts.inputFormat === void 0 && typeof input === "string" && /<table[\s>]/iu.test(inStr);
2046
2409
  if (!isHtmlInput) {
2047
2410
  const { source, isBitmark } = this.resolveInput(input, void 0);
2048
- const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false);
2049
- this.throwOnError(out2);
2411
+ const out2 = wasm4.convert(source, isBitmark ? "bitmark" : "json", "html", "optimized", false, 2, 1, false, false, "", "");
2050
2412
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2051
2413
  }
2052
2414
  const bitType = opts.tableFormat === "table" ? "table" : "table-extended";
@@ -2055,13 +2417,11 @@ var BitmarkParserGenerator = class {
2055
2417
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2056
2418
  const spaces = spacesAround(bitmarkOptions.spacesAroundValues);
2057
2419
  if (outputFormat === "html") {
2058
- const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false);
2059
- this.throwOnError(out2);
2420
+ const out2 = wasm4.convert(wrapped, "html", "html", "optimized", false, 2, 1, false, false, "", "");
2060
2421
  return this.deliver(extractHtmlTables(out2).join("\n"), opts.outputFile, opts.fileOptions);
2061
2422
  }
2062
2423
  const coreFormat = outputFormat === "ast" ? "json" : outputFormat;
2063
- const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false);
2064
- this.throwOnError(out);
2424
+ const out = wasm4.convert(wrapped, "html", coreFormat, "optimized", pretty, indent, spaces, false, false, "", "");
2065
2425
  if (outputFormat === "bitmark" || outputFormat === "text") {
2066
2426
  return this.deliver(out, opts.outputFile, opts.fileOptions);
2067
2427
  }
@@ -2085,8 +2445,7 @@ var BitmarkParserGenerator = class {
2085
2445
  const opts = Object.assign({}, options);
2086
2446
  const wasm4 = getLegacyWasm();
2087
2447
  const { source, isBitmark } = this.resolveInput(input, opts.inputFormat);
2088
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false);
2089
- this.throwOnError(out);
2448
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "json", "optimized", false, 2, 1, true, false, "", "");
2090
2449
  return makePseudoAst(JSON.parse(out));
2091
2450
  }
2092
2451
  /**
@@ -2138,11 +2497,9 @@ var BitmarkParserGenerator = class {
2138
2497
  }
2139
2498
  if (ast !== void 0) {
2140
2499
  const out2 = isBitmarkText ? wasm4.convert_text(JSON.stringify(ast), "astToText", "bitmark++", textLocation) : wasm4.convert_text(JSON.stringify(ast), "astToPlainText", "plainText", textLocation);
2141
- this.throwOnError(out2);
2142
2500
  return this.deliver(out2, opts.outputFile, opts.fileOptions);
2143
2501
  }
2144
2502
  const out = wasm4.convert_text(inStr, "textToAst", isBitmarkText ? "bitmark++" : "plainText", "body");
2145
- this.throwOnError(out);
2146
2503
  const { pretty, indent } = prettyIndent(jsonOptions.prettify);
2147
2504
  const outStr = pretty ? wasm4.prettify(out, indent) : out;
2148
2505
  if (opts.outputFile) return this.deliver(outStr, opts.outputFile, opts.fileOptions);
@@ -2160,7 +2517,6 @@ var BitmarkParserGenerator = class {
2160
2517
  "bitmark++",
2161
2518
  "body"
2162
2519
  );
2163
- this.throwOnError(out);
2164
2520
  return out;
2165
2521
  }
2166
2522
  /**
@@ -2175,7 +2531,6 @@ var BitmarkParserGenerator = class {
2175
2531
  if (inputFormat === "bitmarkText") {
2176
2532
  const ast = wasm4.convert_text(String(input), "textToAst", "bitmark++", "body");
2177
2533
  const out2 = wasm4.convert_text(ast, "astToPlainText", "bitmark++", "body");
2178
- this.throwOnError(out2);
2179
2534
  return out2;
2180
2535
  }
2181
2536
  if (typeof input === "string" && this.parseTextAstString(input) === void 0 && !wasm4.is_bitmark(input)) {
@@ -2192,8 +2547,7 @@ var BitmarkParserGenerator = class {
2192
2547
  }
2193
2548
  }
2194
2549
  const { source, isBitmark } = this.resolveInput(input, void 0);
2195
- const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false);
2196
- this.throwOnError(out);
2550
+ const out = wasm4.convert(source, isBitmark ? "bitmark" : "json", "text", "optimized", false, 2, 1, false, false, "", "");
2197
2551
  return out;
2198
2552
  }
2199
2553
  /** If `s` parses as a TextAst JSON array, return it. */
@@ -2297,12 +2651,6 @@ var BitmarkParserGenerator = class {
2297
2651
  encoding: fileOptions?.encoding ?? "utf8"
2298
2652
  });
2299
2653
  }
2300
- /** The core reports failures as `error:`-prefixed strings; bpg throws. */
2301
- throwOnError(out) {
2302
- if (out.startsWith("error:")) {
2303
- throw new Error(out.slice("error:".length).trim());
2304
- }
2305
- }
2306
2654
  };
2307
2655
  function extractHtmlTables(html) {
2308
2656
  const tables = [];
@@ -2339,7 +2687,6 @@ function extractHtmlTables(html) {
2339
2687
  }
2340
2688
  function bitmarkTextParse(text) {
2341
2689
  const out = getLegacyWasm().convert_text(text, "textToAst", "bitmark++", "body");
2342
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2343
2690
  return JSON.parse(out);
2344
2691
  }
2345
2692
 
@@ -2671,11 +3018,6 @@ function patchEntry(path, op, value) {
2671
3018
  var ALL_LANGUAGES = "all";
2672
3019
 
2673
3020
  // src/core/api.ts
2674
- function lex3(input, options = {}) {
2675
- const wasm4 = getActive();
2676
- if (typeof wasm4.lex !== "function") throw new UnsupportedFeatureError("lex", variant());
2677
- return wasm4.lex(input, options.stage ?? "lex");
2678
- }
2679
3021
  function bitmarkToObjects(input, options = {}) {
2680
3022
  const out = getActive().convert(
2681
3023
  input,
@@ -2686,9 +3028,10 @@ function bitmarkToObjects(input, options = {}) {
2686
3028
  2,
2687
3029
  1,
2688
3030
  options.includeUnknownProperties ?? false,
2689
- false
3031
+ false,
3032
+ "",
3033
+ ""
2690
3034
  );
2691
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2692
3035
  return JSON.parse(out);
2693
3036
  }
2694
3037
  function objectsToBitmark(bits, options = {}) {
@@ -2704,9 +3047,10 @@ function objectsToBitmark(bits, options = {}) {
2704
3047
  2,
2705
3048
  1,
2706
3049
  false,
2707
- false
3050
+ false,
3051
+ "",
3052
+ ""
2708
3053
  );
2709
- if (out.startsWith("error:")) throw new Error(out.slice("error:".length).trim());
2710
3054
  return out;
2711
3055
  }
2712
3056
  function convert4(input, options = {}) {
@@ -2719,7 +3063,19 @@ function convert4(input, options = {}) {
2719
3063
  options.indent ?? 2,
2720
3064
  options.spacesAroundValues ?? 1,
2721
3065
  options.includeUnknownProperties ?? false,
2722
- options.mappingReport ?? false
3066
+ options.mappingReport ?? false,
3067
+ options.positionEncoding ?? "",
3068
+ options.tokensLayout ?? ""
3069
+ );
3070
+ }
3071
+ function semanticTokens(input, options = {}) {
3072
+ return JSON.parse(
3073
+ convert4(input, {
3074
+ inputFormat: "bitmark",
3075
+ outputFormat: "semantic-tokens",
3076
+ positionEncoding: options.positionEncoding,
3077
+ tokensLayout: options.tokensLayout
3078
+ })
2723
3079
  );
2724
3080
  }
2725
3081
  function canonicalize4(input, options = {}) {
@@ -2733,9 +3089,7 @@ function canonicalize4(input, options = {}) {
2733
3089
  );
2734
3090
  }
2735
3091
  function countBits(input) {
2736
- const out = getActive().count_bits(input);
2737
- if (out.startsWith("error:")) throw new Error(out);
2738
- return Number.parseInt(out, 10);
3092
+ return Number.parseInt(getActive().count_bits(input), 10);
2739
3093
  }
2740
3094
  function splitBits(input) {
2741
3095
  return JSON.parse(getActive().split_bits(input));
@@ -2757,6 +3111,25 @@ function transform4(input, options = {}) {
2757
3111
  options.spacesAroundValues ?? 1
2758
3112
  );
2759
3113
  }
3114
+ function diff3(a, b, options = {}) {
3115
+ const wasm4 = getActive();
3116
+ if (typeof wasm4.diff !== "function") throw new UnsupportedFeatureError("diff", variant());
3117
+ const out = wasm4.diff(
3118
+ a,
3119
+ b,
3120
+ options.inputFormat ?? "auto",
3121
+ options.outputFormat ?? "bitmark",
3122
+ options.context ?? 3,
3123
+ options.locate ?? false,
3124
+ options.similarity ?? 0.6,
3125
+ options.bboxTolerance ?? 8,
3126
+ options.spacesAroundValues ?? 0
3127
+ );
3128
+ return out;
3129
+ }
3130
+ function diffBits(a, b, options = {}) {
3131
+ return JSON.parse(diff3(a, b, { ...options, outputFormat: "json" }));
3132
+ }
2760
3133
  function breakscapeText(input, options = {}) {
2761
3134
  const format = options.format ?? "bitmark++";
2762
3135
  const location = options.location ?? "body";
@@ -2777,7 +3150,11 @@ function info4(options = {}) {
2777
3150
  const onlyDeprecated = options.onlyDeprecated ?? false;
2778
3151
  const full = options.full ?? false;
2779
3152
  const language = typeof options.language === "string" ? options.language : options.language?.join(",") ?? "";
2780
- return getActive().info(
3153
+ const wasm4 = getActive();
3154
+ if (format !== "json" && typeof wasm4.info_text_supported !== "function") {
3155
+ throw new UnsupportedFeatureError('info (format: "text")', variant());
3156
+ }
3157
+ return wasm4.info(
2781
3158
  infoType,
2782
3159
  format,
2783
3160
  bit,
@@ -2790,8 +3167,11 @@ function info4(options = {}) {
2790
3167
  );
2791
3168
  }
2792
3169
  function register4(options) {
2793
- const result = getActive().register(options.type, options.data);
2794
- if (result) throw new RegisterError(result.replace(/^error:\s*/, ""));
3170
+ try {
3171
+ getActive().register(options.type, options.data);
3172
+ } catch (e) {
3173
+ throw new RegisterError(e instanceof Error ? e.message : String(e));
3174
+ }
2795
3175
  rememberRegistration(options.type, options.data);
2796
3176
  }
2797
3177
 
@@ -2892,14 +3272,16 @@ export {
2892
3272
  canonicalize4 as canonicalize,
2893
3273
  convert4 as convert,
2894
3274
  countBits,
3275
+ diff3 as diff,
3276
+ diffBits,
2895
3277
  info4 as info,
2896
3278
  init,
2897
3279
  initSync4 as initSync,
2898
3280
  legacy_exports as legacy,
2899
- lex3 as lex,
2900
3281
  objectsToBitmark,
2901
3282
  patchEntry,
2902
3283
  register4 as register,
3284
+ semanticTokens,
2903
3285
  splitBits,
2904
3286
  transform4 as transform,
2905
3287
  transformParallel,