@gmb/bitmark-parser 7.7.0 → 7.9.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 +99 -21
  2. package/config/bitmark.json +532 -209
  3. package/dist/browser/bitmark-parser.min.js +6 -6
  4. package/dist/browser/bitmark-parser.min.js.map +1 -1
  5. package/dist/browser/cjs/index.cjs +533 -275
  6. package/dist/browser/cjs/index.cjs.map +1 -1
  7. package/dist/browser/cjs/index.d.cts +103 -22
  8. package/dist/browser/esm/index.d.ts +103 -22
  9. package/dist/browser/esm/index.js +532 -275
  10. package/dist/browser/esm/index.js.map +1 -1
  11. package/dist/browser/esm/worker-entry.js +494 -264
  12. package/dist/browser/esm/worker-entry.js.map +1 -1
  13. package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
  14. package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
  15. package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
  16. package/dist/index.cjs +43 -8
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +92 -20
  19. package/dist/index.d.ts +92 -20
  20. package/dist/index.js +42 -8
  21. package/dist/index.js.map +1 -1
  22. package/dist/legacy.cjs +19 -11
  23. package/dist/legacy.cjs.map +1 -1
  24. package/dist/legacy.d.cts +3 -1
  25. package/dist/legacy.d.ts +3 -1
  26. package/dist/legacy.js +19 -11
  27. package/dist/legacy.js.map +1 -1
  28. package/dist/worker-entry.cjs.map +1 -1
  29. package/package.json +7 -7
  30. package/schema/bitmark.schema.json +1 -1
  31. package/wasm/bitmark_wasm.d.ts +52 -30
  32. package/wasm/bitmark_wasm.js +209 -113
  33. package/wasm/bitmark_wasm_bg.wasm +0 -0
  34. package/wasm/bitmark_wasm_bg.wasm.d.ts +5 -2
  35. package/wasm/package.json +1 -1
  36. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +73 -51
  37. package/wasm-bitmark-json/bitmark_json_wasm.js +257 -161
  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 +52 -30
  42. package/wasm-browser-full/bitmark_browser_full_wasm.js +209 -113
  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 +5 -2
  45. package/wasm-browser-full/package.json +1 -1
@@ -51,11 +51,12 @@ __export(index_exports, {
51
51
  resolve: () => resolve4,
52
52
  semanticTokens: () => semanticTokens,
53
53
  splitBits: () => splitBits,
54
+ template: () => template4,
54
55
  transform: () => transform4,
55
56
  transformParallel: () => transformParallel,
56
57
  unbreakscapeText: () => unbreakscapeText,
57
58
  variant: () => variant,
58
- version: () => version
59
+ version: () => version4
59
60
  });
60
61
  module.exports = __toCommonJS(index_exports);
61
62
 
@@ -87,8 +88,11 @@ __export(bitmark_wasm_exports, {
87
88
  resolve_patch_document: () => resolve_patch_document,
88
89
  split_bits: () => split_bits,
89
90
  split_json_bits: () => split_json_bits,
91
+ template: () => template,
92
+ template_all: () => template_all,
90
93
  transform: () => transform,
91
- unbreakscape_text: () => unbreakscape_text
94
+ unbreakscape_text: () => unbreakscape_text,
95
+ version: () => version
92
96
  });
93
97
  var wasm;
94
98
  var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
@@ -261,6 +265,84 @@ function takeObject(idx) {
261
265
  dropObject(idx);
262
266
  return ret;
263
267
  }
268
+ function split_json_bits(input) {
269
+ let deferred3_0;
270
+ let deferred3_1;
271
+ try {
272
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
273
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
274
+ const len0 = WASM_VECTOR_LEN;
275
+ wasm.split_json_bits(retptr, ptr0, len0);
276
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
277
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
278
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
279
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
280
+ var ptr2 = r0;
281
+ var len2 = r1;
282
+ if (r3) {
283
+ ptr2 = 0;
284
+ len2 = 0;
285
+ throw takeObject(r2);
286
+ }
287
+ deferred3_0 = ptr2;
288
+ deferred3_1 = len2;
289
+ return getStringFromWasm0(ptr2, len2);
290
+ } finally {
291
+ wasm.__wbindgen_add_to_stack_pointer(16);
292
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
293
+ }
294
+ }
295
+ function prettify(json, indent) {
296
+ let deferred2_0;
297
+ let deferred2_1;
298
+ try {
299
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
300
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
301
+ const len0 = WASM_VECTOR_LEN;
302
+ wasm.prettify(retptr, ptr0, len0, indent);
303
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
304
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
305
+ deferred2_0 = r0;
306
+ deferred2_1 = r1;
307
+ return getStringFromWasm0(r0, r1);
308
+ } finally {
309
+ wasm.__wbindgen_add_to_stack_pointer(16);
310
+ wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
311
+ }
312
+ }
313
+ function convert_text(input, direction, format, location) {
314
+ let deferred6_0;
315
+ let deferred6_1;
316
+ try {
317
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
318
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
319
+ const len0 = WASM_VECTOR_LEN;
320
+ const ptr1 = passStringToWasm0(direction, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
321
+ const len1 = WASM_VECTOR_LEN;
322
+ const ptr2 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
323
+ const len2 = WASM_VECTOR_LEN;
324
+ const ptr3 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
325
+ const len3 = WASM_VECTOR_LEN;
326
+ wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
327
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
328
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
329
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
330
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
331
+ var ptr5 = r0;
332
+ var len5 = r1;
333
+ if (r3) {
334
+ ptr5 = 0;
335
+ len5 = 0;
336
+ throw takeObject(r2);
337
+ }
338
+ deferred6_0 = ptr5;
339
+ deferred6_1 = len5;
340
+ return getStringFromWasm0(ptr5, len5);
341
+ } finally {
342
+ wasm.__wbindgen_add_to_stack_pointer(16);
343
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
344
+ }
345
+ }
264
346
  function transform(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
265
347
  let deferred7_0;
266
348
  let deferred7_1;
@@ -360,7 +442,7 @@ function diff(a, b, input_format_sel, output_format_sel, context, locate, simila
360
442
  wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
361
443
  }
362
444
  }
363
- function complete(input, line, character, position_encoding, include_deprecated, trigger_character) {
445
+ function complete(input, line, character, position_encoding, include_deprecated, trigger_character, bit_template) {
364
446
  let deferred5_0;
365
447
  let deferred5_1;
366
448
  try {
@@ -371,7 +453,7 @@ function complete(input, line, character, position_encoding, include_deprecated,
371
453
  const len1 = WASM_VECTOR_LEN;
372
454
  const ptr2 = passStringToWasm0(trigger_character, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
373
455
  const len2 = WASM_VECTOR_LEN;
374
- wasm.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
456
+ wasm.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, bit_template);
375
457
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
376
458
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
377
459
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -391,7 +473,7 @@ function complete(input, line, character, position_encoding, include_deprecated,
391
473
  wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
392
474
  }
393
475
  }
394
- function resolve(input, line, character, position_encoding, include_deprecated, label, kind) {
476
+ function resolve(input, line, character, position_encoding, include_deprecated, bit_template, label, kind) {
395
477
  let deferred5_0;
396
478
  let deferred5_1;
397
479
  try {
@@ -402,7 +484,7 @@ function resolve(input, line, character, position_encoding, include_deprecated,
402
484
  const len1 = WASM_VECTOR_LEN;
403
485
  const ptr2 = passStringToWasm0(label, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
404
486
  const len2 = WASM_VECTOR_LEN;
405
- wasm.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
487
+ wasm.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, bit_template, ptr2, len2, kind);
406
488
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
407
489
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
408
490
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -451,6 +533,51 @@ function hover(input, line, character, position_encoding) {
451
533
  wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
452
534
  }
453
535
  }
536
+ function template(bit, format, full, include_deprecated, pretty, indent) {
537
+ let deferred4_0;
538
+ let deferred4_1;
539
+ try {
540
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
541
+ const ptr0 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
542
+ const len0 = WASM_VECTOR_LEN;
543
+ const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
544
+ const len1 = WASM_VECTOR_LEN;
545
+ wasm.template(retptr, ptr0, len0, ptr1, len1, full, include_deprecated, pretty, indent);
546
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
547
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
548
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
549
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
550
+ var ptr3 = r0;
551
+ var len3 = r1;
552
+ if (r3) {
553
+ ptr3 = 0;
554
+ len3 = 0;
555
+ throw takeObject(r2);
556
+ }
557
+ deferred4_0 = ptr3;
558
+ deferred4_1 = len3;
559
+ return getStringFromWasm0(ptr3, len3);
560
+ } finally {
561
+ wasm.__wbindgen_add_to_stack_pointer(16);
562
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
563
+ }
564
+ }
565
+ function template_all(include_deprecated, pretty, indent) {
566
+ let deferred1_0;
567
+ let deferred1_1;
568
+ try {
569
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
570
+ wasm.template_all(retptr, include_deprecated, pretty, indent);
571
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
572
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
573
+ deferred1_0 = r0;
574
+ deferred1_1 = r1;
575
+ return getStringFromWasm0(r0, r1);
576
+ } finally {
577
+ wasm.__wbindgen_add_to_stack_pointer(16);
578
+ wasm.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
579
+ }
580
+ }
454
581
  function register(data_type, data) {
455
582
  try {
456
583
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
@@ -546,89 +673,27 @@ function split_bits(input, position_encoding) {
546
673
  wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
547
674
  }
548
675
  }
549
- function is_bitmark(input) {
550
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
551
- const len0 = WASM_VECTOR_LEN;
552
- const ret = wasm.is_bitmark(ptr0, len0);
553
- return ret !== 0;
554
- }
555
- function split_json_bits(input) {
556
- let deferred3_0;
557
- let deferred3_1;
558
- try {
559
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
560
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
561
- const len0 = WASM_VECTOR_LEN;
562
- wasm.split_json_bits(retptr, ptr0, len0);
563
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
564
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
565
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
566
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
567
- var ptr2 = r0;
568
- var len2 = r1;
569
- if (r3) {
570
- ptr2 = 0;
571
- len2 = 0;
572
- throw takeObject(r2);
573
- }
574
- deferred3_0 = ptr2;
575
- deferred3_1 = len2;
576
- return getStringFromWasm0(ptr2, len2);
577
- } finally {
578
- wasm.__wbindgen_add_to_stack_pointer(16);
579
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
580
- }
581
- }
582
- function prettify(json, indent) {
583
- let deferred2_0;
584
- let deferred2_1;
676
+ function version() {
677
+ let deferred1_0;
678
+ let deferred1_1;
585
679
  try {
586
680
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
587
- const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
588
- const len0 = WASM_VECTOR_LEN;
589
- wasm.prettify(retptr, ptr0, len0, indent);
681
+ wasm.version(retptr);
590
682
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
591
683
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
592
- deferred2_0 = r0;
593
- deferred2_1 = r1;
684
+ deferred1_0 = r0;
685
+ deferred1_1 = r1;
594
686
  return getStringFromWasm0(r0, r1);
595
687
  } finally {
596
688
  wasm.__wbindgen_add_to_stack_pointer(16);
597
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
689
+ wasm.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
598
690
  }
599
691
  }
600
- function convert_text(input, direction, format, location) {
601
- let deferred6_0;
602
- let deferred6_1;
603
- try {
604
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
605
- const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
606
- const len0 = WASM_VECTOR_LEN;
607
- const ptr1 = passStringToWasm0(direction, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
608
- const len1 = WASM_VECTOR_LEN;
609
- const ptr2 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
610
- const len2 = WASM_VECTOR_LEN;
611
- const ptr3 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
612
- const len3 = WASM_VECTOR_LEN;
613
- wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
614
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
615
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
616
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
617
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
618
- var ptr5 = r0;
619
- var len5 = r1;
620
- if (r3) {
621
- ptr5 = 0;
622
- len5 = 0;
623
- throw takeObject(r2);
624
- }
625
- deferred6_0 = ptr5;
626
- deferred6_1 = len5;
627
- return getStringFromWasm0(ptr5, len5);
628
- } finally {
629
- wasm.__wbindgen_add_to_stack_pointer(16);
630
- wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
631
- }
692
+ function is_bitmark(input) {
693
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
694
+ const len0 = WASM_VECTOR_LEN;
695
+ const ret = wasm.is_bitmark(ptr0, len0);
696
+ return ret !== 0;
632
697
  }
633
698
  function convert(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
634
699
  let deferred8_0;
@@ -748,8 +813,8 @@ var ConvertDetails = class _ConvertDetails {
748
813
  }
749
814
  }
750
815
  /**
751
- * The bit spans, flat `[index, start, end, …]`; `undefined` when not
752
- * asked for.
816
+ * The bit spans, flat `[index, inputStart, inputEnd, outputStart,
817
+ * outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
753
818
  * @returns {Uint32Array | undefined}
754
819
  */
755
820
  bit_spans() {
@@ -899,8 +964,11 @@ __export(bitmark_browser_full_wasm_exports, {
899
964
  resolve_patch_document: () => resolve_patch_document2,
900
965
  split_bits: () => split_bits2,
901
966
  split_json_bits: () => split_json_bits2,
967
+ template: () => template2,
968
+ template_all: () => template_all2,
902
969
  transform: () => transform2,
903
- unbreakscape_text: () => unbreakscape_text2
970
+ unbreakscape_text: () => unbreakscape_text2,
971
+ version: () => version2
904
972
  });
905
973
  var wasm2;
906
974
  var cachedTextDecoder2 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
@@ -1073,6 +1141,84 @@ function takeObject2(idx) {
1073
1141
  dropObject2(idx);
1074
1142
  return ret;
1075
1143
  }
1144
+ function split_json_bits2(input) {
1145
+ let deferred3_0;
1146
+ let deferred3_1;
1147
+ try {
1148
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1149
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1150
+ const len0 = WASM_VECTOR_LEN2;
1151
+ wasm2.split_json_bits(retptr, ptr0, len0);
1152
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1153
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1154
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1155
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1156
+ var ptr2 = r0;
1157
+ var len2 = r1;
1158
+ if (r3) {
1159
+ ptr2 = 0;
1160
+ len2 = 0;
1161
+ throw takeObject2(r2);
1162
+ }
1163
+ deferred3_0 = ptr2;
1164
+ deferred3_1 = len2;
1165
+ return getStringFromWasm02(ptr2, len2);
1166
+ } finally {
1167
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1168
+ wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1169
+ }
1170
+ }
1171
+ function prettify2(json, indent) {
1172
+ let deferred2_0;
1173
+ let deferred2_1;
1174
+ try {
1175
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1176
+ const ptr0 = passStringToWasm02(json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1177
+ const len0 = WASM_VECTOR_LEN2;
1178
+ wasm2.prettify(retptr, ptr0, len0, indent);
1179
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1180
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1181
+ deferred2_0 = r0;
1182
+ deferred2_1 = r1;
1183
+ return getStringFromWasm02(r0, r1);
1184
+ } finally {
1185
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1186
+ wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1187
+ }
1188
+ }
1189
+ function convert_text2(input, direction, format, location) {
1190
+ let deferred6_0;
1191
+ let deferred6_1;
1192
+ try {
1193
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1194
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1195
+ const len0 = WASM_VECTOR_LEN2;
1196
+ const ptr1 = passStringToWasm02(direction, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1197
+ const len1 = WASM_VECTOR_LEN2;
1198
+ const ptr2 = passStringToWasm02(format, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1199
+ const len2 = WASM_VECTOR_LEN2;
1200
+ const ptr3 = passStringToWasm02(location, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1201
+ const len3 = WASM_VECTOR_LEN2;
1202
+ wasm2.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1203
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1204
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1205
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1206
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1207
+ var ptr5 = r0;
1208
+ var len5 = r1;
1209
+ if (r3) {
1210
+ ptr5 = 0;
1211
+ len5 = 0;
1212
+ throw takeObject2(r2);
1213
+ }
1214
+ deferred6_0 = ptr5;
1215
+ deferred6_1 = len5;
1216
+ return getStringFromWasm02(ptr5, len5);
1217
+ } finally {
1218
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1219
+ wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1220
+ }
1221
+ }
1076
1222
  function transform2(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
1077
1223
  let deferred7_0;
1078
1224
  let deferred7_1;
@@ -1172,7 +1318,7 @@ function diff2(a, b, input_format_sel, output_format_sel, context, locate, simil
1172
1318
  wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1173
1319
  }
1174
1320
  }
1175
- function complete2(input, line, character, position_encoding, include_deprecated, trigger_character) {
1321
+ function complete2(input, line, character, position_encoding, include_deprecated, trigger_character, bit_template) {
1176
1322
  let deferred5_0;
1177
1323
  let deferred5_1;
1178
1324
  try {
@@ -1183,7 +1329,7 @@ function complete2(input, line, character, position_encoding, include_deprecated
1183
1329
  const len1 = WASM_VECTOR_LEN2;
1184
1330
  const ptr2 = passStringToWasm02(trigger_character, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1185
1331
  const len2 = WASM_VECTOR_LEN2;
1186
- wasm2.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
1332
+ wasm2.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, bit_template);
1187
1333
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1188
1334
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1189
1335
  var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
@@ -1203,7 +1349,7 @@ function complete2(input, line, character, position_encoding, include_deprecated
1203
1349
  wasm2.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1204
1350
  }
1205
1351
  }
1206
- function resolve2(input, line, character, position_encoding, include_deprecated, label, kind) {
1352
+ function resolve2(input, line, character, position_encoding, include_deprecated, bit_template, label, kind) {
1207
1353
  let deferred5_0;
1208
1354
  let deferred5_1;
1209
1355
  try {
@@ -1214,7 +1360,7 @@ function resolve2(input, line, character, position_encoding, include_deprecated,
1214
1360
  const len1 = WASM_VECTOR_LEN2;
1215
1361
  const ptr2 = passStringToWasm02(label, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1216
1362
  const len2 = WASM_VECTOR_LEN2;
1217
- wasm2.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
1363
+ wasm2.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, bit_template, ptr2, len2, kind);
1218
1364
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1219
1365
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1220
1366
  var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
@@ -1263,6 +1409,51 @@ function hover2(input, line, character, position_encoding) {
1263
1409
  wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1264
1410
  }
1265
1411
  }
1412
+ function template2(bit, format, full, include_deprecated, pretty, indent) {
1413
+ let deferred4_0;
1414
+ let deferred4_1;
1415
+ try {
1416
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1417
+ const ptr0 = passStringToWasm02(bit, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1418
+ const len0 = WASM_VECTOR_LEN2;
1419
+ const ptr1 = passStringToWasm02(format, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1420
+ const len1 = WASM_VECTOR_LEN2;
1421
+ wasm2.template(retptr, ptr0, len0, ptr1, len1, full, include_deprecated, pretty, indent);
1422
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1423
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1424
+ var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1425
+ var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1426
+ var ptr3 = r0;
1427
+ var len3 = r1;
1428
+ if (r3) {
1429
+ ptr3 = 0;
1430
+ len3 = 0;
1431
+ throw takeObject2(r2);
1432
+ }
1433
+ deferred4_0 = ptr3;
1434
+ deferred4_1 = len3;
1435
+ return getStringFromWasm02(ptr3, len3);
1436
+ } finally {
1437
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1438
+ wasm2.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
1439
+ }
1440
+ }
1441
+ function template_all2(include_deprecated, pretty, indent) {
1442
+ let deferred1_0;
1443
+ let deferred1_1;
1444
+ try {
1445
+ const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1446
+ wasm2.template_all(retptr, include_deprecated, pretty, indent);
1447
+ var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1448
+ var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1449
+ deferred1_0 = r0;
1450
+ deferred1_1 = r1;
1451
+ return getStringFromWasm02(r0, r1);
1452
+ } finally {
1453
+ wasm2.__wbindgen_add_to_stack_pointer(16);
1454
+ wasm2.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
1455
+ }
1456
+ }
1266
1457
  function register2(data_type, data) {
1267
1458
  try {
1268
1459
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
@@ -1358,90 +1549,28 @@ function split_bits2(input, position_encoding) {
1358
1549
  wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1359
1550
  }
1360
1551
  }
1361
- function is_bitmark2(input) {
1362
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1363
- const len0 = WASM_VECTOR_LEN2;
1364
- const ret = wasm2.is_bitmark(ptr0, len0);
1365
- return ret !== 0;
1366
- }
1367
- function split_json_bits2(input) {
1368
- let deferred3_0;
1369
- let deferred3_1;
1552
+ function version2() {
1553
+ let deferred1_0;
1554
+ let deferred1_1;
1370
1555
  try {
1371
1556
  const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1372
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1373
- const len0 = WASM_VECTOR_LEN2;
1374
- wasm2.split_json_bits(retptr, ptr0, len0);
1557
+ wasm2.version(retptr);
1375
1558
  var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1376
1559
  var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1377
- var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1378
- var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1379
- var ptr2 = r0;
1380
- var len2 = r1;
1381
- if (r3) {
1382
- ptr2 = 0;
1383
- len2 = 0;
1384
- throw takeObject2(r2);
1385
- }
1386
- deferred3_0 = ptr2;
1387
- deferred3_1 = len2;
1388
- return getStringFromWasm02(ptr2, len2);
1389
- } finally {
1390
- wasm2.__wbindgen_add_to_stack_pointer(16);
1391
- wasm2.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
1392
- }
1393
- }
1394
- function prettify2(json, indent) {
1395
- let deferred2_0;
1396
- let deferred2_1;
1397
- try {
1398
- const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1399
- const ptr0 = passStringToWasm02(json, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1400
- const len0 = WASM_VECTOR_LEN2;
1401
- wasm2.prettify(retptr, ptr0, len0, indent);
1402
- var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1403
- var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1404
- deferred2_0 = r0;
1405
- deferred2_1 = r1;
1406
- return getStringFromWasm02(r0, r1);
1407
- } finally {
1408
- wasm2.__wbindgen_add_to_stack_pointer(16);
1409
- wasm2.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
1410
- }
1411
- }
1412
- function convert_text2(input, direction, format, location) {
1413
- let deferred6_0;
1414
- let deferred6_1;
1415
- try {
1416
- const retptr = wasm2.__wbindgen_add_to_stack_pointer(-16);
1417
- const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1418
- const len0 = WASM_VECTOR_LEN2;
1419
- const ptr1 = passStringToWasm02(direction, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1420
- const len1 = WASM_VECTOR_LEN2;
1421
- const ptr2 = passStringToWasm02(format, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1422
- const len2 = WASM_VECTOR_LEN2;
1423
- const ptr3 = passStringToWasm02(location, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1424
- const len3 = WASM_VECTOR_LEN2;
1425
- wasm2.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1426
- var r0 = getDataViewMemory02().getInt32(retptr + 4 * 0, true);
1427
- var r1 = getDataViewMemory02().getInt32(retptr + 4 * 1, true);
1428
- var r2 = getDataViewMemory02().getInt32(retptr + 4 * 2, true);
1429
- var r3 = getDataViewMemory02().getInt32(retptr + 4 * 3, true);
1430
- var ptr5 = r0;
1431
- var len5 = r1;
1432
- if (r3) {
1433
- ptr5 = 0;
1434
- len5 = 0;
1435
- throw takeObject2(r2);
1436
- }
1437
- deferred6_0 = ptr5;
1438
- deferred6_1 = len5;
1439
- return getStringFromWasm02(ptr5, len5);
1560
+ deferred1_0 = r0;
1561
+ deferred1_1 = r1;
1562
+ return getStringFromWasm02(r0, r1);
1440
1563
  } finally {
1441
1564
  wasm2.__wbindgen_add_to_stack_pointer(16);
1442
- wasm2.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
1565
+ wasm2.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
1443
1566
  }
1444
1567
  }
1568
+ function is_bitmark2(input) {
1569
+ const ptr0 = passStringToWasm02(input, wasm2.__wbindgen_export_0, wasm2.__wbindgen_export_1);
1570
+ const len0 = WASM_VECTOR_LEN2;
1571
+ const ret = wasm2.is_bitmark(ptr0, len0);
1572
+ return ret !== 0;
1573
+ }
1445
1574
  function convert2(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
1446
1575
  let deferred8_0;
1447
1576
  let deferred8_1;
@@ -1560,8 +1689,8 @@ var ConvertDetails2 = class _ConvertDetails {
1560
1689
  }
1561
1690
  }
1562
1691
  /**
1563
- * The bit spans, flat `[index, start, end, …]`; `undefined` when not
1564
- * asked for.
1692
+ * The bit spans, flat `[index, inputStart, inputEnd, outputStart,
1693
+ * outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
1565
1694
  * @returns {Uint32Array | undefined}
1566
1695
  */
1567
1696
  bit_spans() {
@@ -1709,8 +1838,11 @@ __export(bitmark_json_wasm_exports, {
1709
1838
  resolve_patch_document: () => resolve_patch_document3,
1710
1839
  split_bits: () => split_bits3,
1711
1840
  split_json_bits: () => split_json_bits3,
1841
+ template: () => template3,
1842
+ template_all: () => template_all3,
1712
1843
  transform: () => transform3,
1713
- unbreakscape_text: () => unbreakscape_text3
1844
+ unbreakscape_text: () => unbreakscape_text3,
1845
+ version: () => version3
1714
1846
  });
1715
1847
  var wasm3;
1716
1848
  var cachedTextDecoder3 = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
@@ -1879,21 +2011,119 @@ function takeObject3(idx) {
1879
2011
  dropObject3(idx);
1880
2012
  return ret;
1881
2013
  }
1882
- function register3(data_type, data) {
2014
+ function template3(bit, format, full, include_deprecated, pretty, indent) {
2015
+ let deferred4_0;
2016
+ let deferred4_1;
1883
2017
  try {
1884
2018
  const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
1885
- const ptr0 = passStringToWasm03(data_type, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2019
+ const ptr0 = passStringToWasm03(bit, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1886
2020
  const len0 = WASM_VECTOR_LEN3;
1887
- const ptr1 = passStringToWasm03(data, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2021
+ const ptr1 = passStringToWasm03(format, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1888
2022
  const len1 = WASM_VECTOR_LEN3;
1889
- wasm3.register(retptr, ptr0, len0, ptr1, len1);
2023
+ wasm3.template(retptr, ptr0, len0, ptr1, len1, full, include_deprecated, pretty, indent);
1890
2024
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1891
2025
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1892
- if (r1) {
1893
- throw takeObject3(r0);
2026
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
2027
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
2028
+ var ptr3 = r0;
2029
+ var len3 = r1;
2030
+ if (r3) {
2031
+ ptr3 = 0;
2032
+ len3 = 0;
2033
+ throw takeObject3(r2);
2034
+ }
2035
+ deferred4_0 = ptr3;
2036
+ deferred4_1 = len3;
2037
+ return getStringFromWasm03(ptr3, len3);
2038
+ } finally {
2039
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2040
+ wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
2041
+ }
2042
+ }
2043
+ function prettify3(json, indent) {
2044
+ let deferred2_0;
2045
+ let deferred2_1;
2046
+ try {
2047
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2048
+ const ptr0 = passStringToWasm03(json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2049
+ const len0 = WASM_VECTOR_LEN3;
2050
+ wasm3.prettify(retptr, ptr0, len0, indent);
2051
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2052
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2053
+ deferred2_0 = r0;
2054
+ deferred2_1 = r1;
2055
+ return getStringFromWasm03(r0, r1);
2056
+ } finally {
2057
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2058
+ wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
2059
+ }
2060
+ }
2061
+ function convert_text3(input, direction, format, location) {
2062
+ let deferred6_0;
2063
+ let deferred6_1;
2064
+ try {
2065
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2066
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2067
+ const len0 = WASM_VECTOR_LEN3;
2068
+ const ptr1 = passStringToWasm03(direction, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2069
+ const len1 = WASM_VECTOR_LEN3;
2070
+ const ptr2 = passStringToWasm03(format, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2071
+ const len2 = WASM_VECTOR_LEN3;
2072
+ const ptr3 = passStringToWasm03(location, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2073
+ const len3 = WASM_VECTOR_LEN3;
2074
+ wasm3.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
2075
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2076
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2077
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
2078
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
2079
+ var ptr5 = r0;
2080
+ var len5 = r1;
2081
+ if (r3) {
2082
+ ptr5 = 0;
2083
+ len5 = 0;
2084
+ throw takeObject3(r2);
2085
+ }
2086
+ deferred6_0 = ptr5;
2087
+ deferred6_1 = len5;
2088
+ return getStringFromWasm03(ptr5, len5);
2089
+ } finally {
2090
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2091
+ wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
2092
+ }
2093
+ }
2094
+ function transform3(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
2095
+ let deferred7_0;
2096
+ let deferred7_1;
2097
+ try {
2098
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2099
+ const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2100
+ const len0 = WASM_VECTOR_LEN3;
2101
+ const ptr1 = passStringToWasm03(input_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2102
+ const len1 = WASM_VECTOR_LEN3;
2103
+ const ptr2 = passStringToWasm03(output_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2104
+ const len2 = WASM_VECTOR_LEN3;
2105
+ const ptr3 = passStringToWasm03(mode, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2106
+ const len3 = WASM_VECTOR_LEN3;
2107
+ const ptr4 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2108
+ const len4 = WASM_VECTOR_LEN3;
2109
+ wasm3.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
2110
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2111
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2112
+ var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
2113
+ var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
2114
+ var ptr6 = r0;
2115
+ var len6 = r1;
2116
+ if (r3) {
2117
+ ptr6 = 0;
2118
+ len6 = 0;
2119
+ throw takeObject3(r2);
1894
2120
  }
2121
+ deferred7_0 = ptr6;
2122
+ deferred7_1 = len6;
2123
+ return getStringFromWasm03(ptr6, len6);
1895
2124
  } finally {
1896
2125
  wasm3.__wbindgen_add_to_stack_pointer(16);
2126
+ wasm3.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
1897
2127
  }
1898
2128
  }
1899
2129
  function resolve_patch_document3(input, input_format_sel, patch_json) {
@@ -1927,7 +2157,7 @@ function resolve_patch_document3(input, input_format_sel, patch_json) {
1927
2157
  wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1928
2158
  }
1929
2159
  }
1930
- function complete3(input, line, character, position_encoding, include_deprecated, trigger_character) {
2160
+ function complete3(input, line, character, position_encoding, include_deprecated, trigger_character, bit_template) {
1931
2161
  let deferred5_0;
1932
2162
  let deferred5_1;
1933
2163
  try {
@@ -1938,7 +2168,7 @@ function complete3(input, line, character, position_encoding, include_deprecated
1938
2168
  const len1 = WASM_VECTOR_LEN3;
1939
2169
  const ptr2 = passStringToWasm03(trigger_character, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1940
2170
  const len2 = WASM_VECTOR_LEN3;
1941
- wasm3.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
2171
+ wasm3.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, bit_template);
1942
2172
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1943
2173
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1944
2174
  var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
@@ -1958,7 +2188,7 @@ function complete3(input, line, character, position_encoding, include_deprecated
1958
2188
  wasm3.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
1959
2189
  }
1960
2190
  }
1961
- function resolve3(input, line, character, position_encoding, include_deprecated, label, kind) {
2191
+ function resolve3(input, line, character, position_encoding, include_deprecated, bit_template, label, kind) {
1962
2192
  let deferred5_0;
1963
2193
  let deferred5_1;
1964
2194
  try {
@@ -1969,7 +2199,7 @@ function resolve3(input, line, character, position_encoding, include_deprecated,
1969
2199
  const len1 = WASM_VECTOR_LEN3;
1970
2200
  const ptr2 = passStringToWasm03(label, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
1971
2201
  const len2 = WASM_VECTOR_LEN3;
1972
- wasm3.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
2202
+ wasm3.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, bit_template, ptr2, len2, kind);
1973
2203
  var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
1974
2204
  var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
1975
2205
  var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
@@ -2018,6 +2248,39 @@ function hover3(input, line, character, position_encoding) {
2018
2248
  wasm3.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
2019
2249
  }
2020
2250
  }
2251
+ function template_all3(include_deprecated, pretty, indent) {
2252
+ let deferred1_0;
2253
+ let deferred1_1;
2254
+ try {
2255
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2256
+ wasm3.template_all(retptr, include_deprecated, pretty, indent);
2257
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2258
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2259
+ deferred1_0 = r0;
2260
+ deferred1_1 = r1;
2261
+ return getStringFromWasm03(r0, r1);
2262
+ } finally {
2263
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2264
+ wasm3.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
2265
+ }
2266
+ }
2267
+ function register3(data_type, data) {
2268
+ try {
2269
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2270
+ const ptr0 = passStringToWasm03(data_type, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2271
+ const len0 = WASM_VECTOR_LEN3;
2272
+ const ptr1 = passStringToWasm03(data, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2273
+ const len1 = WASM_VECTOR_LEN3;
2274
+ wasm3.register(retptr, ptr0, len0, ptr1, len1);
2275
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2276
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2277
+ if (r1) {
2278
+ throw takeObject3(r0);
2279
+ }
2280
+ } finally {
2281
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2282
+ }
2283
+ }
2021
2284
  function canonicalize3(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
2022
2285
  let deferred5_0;
2023
2286
  let deferred5_1;
@@ -2096,6 +2359,22 @@ function split_bits3(input, position_encoding) {
2096
2359
  wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
2097
2360
  }
2098
2361
  }
2362
+ function version3() {
2363
+ let deferred1_0;
2364
+ let deferred1_1;
2365
+ try {
2366
+ const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2367
+ wasm3.version(retptr);
2368
+ var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2369
+ var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2370
+ deferred1_0 = r0;
2371
+ deferred1_1 = r1;
2372
+ return getStringFromWasm03(r0, r1);
2373
+ } finally {
2374
+ wasm3.__wbindgen_add_to_stack_pointer(16);
2375
+ wasm3.__wbindgen_export_2(deferred1_0, deferred1_1, 1);
2376
+ }
2377
+ }
2099
2378
  function is_bitmark3(input) {
2100
2379
  const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2101
2380
  const len0 = WASM_VECTOR_LEN3;
@@ -2129,92 +2408,6 @@ function split_json_bits3(input) {
2129
2408
  wasm3.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
2130
2409
  }
2131
2410
  }
2132
- function prettify3(json, indent) {
2133
- let deferred2_0;
2134
- let deferred2_1;
2135
- try {
2136
- const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2137
- const ptr0 = passStringToWasm03(json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2138
- const len0 = WASM_VECTOR_LEN3;
2139
- wasm3.prettify(retptr, ptr0, len0, indent);
2140
- var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2141
- var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2142
- deferred2_0 = r0;
2143
- deferred2_1 = r1;
2144
- return getStringFromWasm03(r0, r1);
2145
- } finally {
2146
- wasm3.__wbindgen_add_to_stack_pointer(16);
2147
- wasm3.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
2148
- }
2149
- }
2150
- function convert_text3(input, direction, format, location) {
2151
- let deferred6_0;
2152
- let deferred6_1;
2153
- try {
2154
- const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2155
- const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2156
- const len0 = WASM_VECTOR_LEN3;
2157
- const ptr1 = passStringToWasm03(direction, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2158
- const len1 = WASM_VECTOR_LEN3;
2159
- const ptr2 = passStringToWasm03(format, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2160
- const len2 = WASM_VECTOR_LEN3;
2161
- const ptr3 = passStringToWasm03(location, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2162
- const len3 = WASM_VECTOR_LEN3;
2163
- wasm3.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
2164
- var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2165
- var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2166
- var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
2167
- var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
2168
- var ptr5 = r0;
2169
- var len5 = r1;
2170
- if (r3) {
2171
- ptr5 = 0;
2172
- len5 = 0;
2173
- throw takeObject3(r2);
2174
- }
2175
- deferred6_0 = ptr5;
2176
- deferred6_1 = len5;
2177
- return getStringFromWasm03(ptr5, len5);
2178
- } finally {
2179
- wasm3.__wbindgen_add_to_stack_pointer(16);
2180
- wasm3.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
2181
- }
2182
- }
2183
- function transform3(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
2184
- let deferred7_0;
2185
- let deferred7_1;
2186
- try {
2187
- const retptr = wasm3.__wbindgen_add_to_stack_pointer(-16);
2188
- const ptr0 = passStringToWasm03(input, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2189
- const len0 = WASM_VECTOR_LEN3;
2190
- const ptr1 = passStringToWasm03(input_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2191
- const len1 = WASM_VECTOR_LEN3;
2192
- const ptr2 = passStringToWasm03(output_format_sel, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2193
- const len2 = WASM_VECTOR_LEN3;
2194
- const ptr3 = passStringToWasm03(mode, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2195
- const len3 = WASM_VECTOR_LEN3;
2196
- const ptr4 = passStringToWasm03(patch_json, wasm3.__wbindgen_export_0, wasm3.__wbindgen_export_1);
2197
- const len4 = WASM_VECTOR_LEN3;
2198
- wasm3.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
2199
- var r0 = getDataViewMemory03().getInt32(retptr + 4 * 0, true);
2200
- var r1 = getDataViewMemory03().getInt32(retptr + 4 * 1, true);
2201
- var r2 = getDataViewMemory03().getInt32(retptr + 4 * 2, true);
2202
- var r3 = getDataViewMemory03().getInt32(retptr + 4 * 3, true);
2203
- var ptr6 = r0;
2204
- var len6 = r1;
2205
- if (r3) {
2206
- ptr6 = 0;
2207
- len6 = 0;
2208
- throw takeObject3(r2);
2209
- }
2210
- deferred7_0 = ptr6;
2211
- deferred7_1 = len6;
2212
- return getStringFromWasm03(ptr6, len6);
2213
- } finally {
2214
- wasm3.__wbindgen_add_to_stack_pointer(16);
2215
- wasm3.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
2216
- }
2217
- }
2218
2411
  function convert3(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
2219
2412
  let deferred8_0;
2220
2413
  let deferred8_1;
@@ -2333,8 +2526,8 @@ var ConvertDetails3 = class _ConvertDetails {
2333
2526
  }
2334
2527
  }
2335
2528
  /**
2336
- * The bit spans, flat `[index, start, end, …]`; `undefined` when not
2337
- * asked for.
2529
+ * The bit spans, flat `[index, inputStart, inputEnd, outputStart,
2530
+ * outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
2338
2531
  * @returns {Uint32Array | undefined}
2339
2532
  */
2340
2533
  bit_spans() {
@@ -2463,7 +2656,7 @@ var bitmark_json_wasm_default = __wbg_init3;
2463
2656
  // src/generated/package_info.ts
2464
2657
  var PACKAGE_INFO = {
2465
2658
  "name": "@gmb/bitmark-parser",
2466
- "version": "7.7.0",
2659
+ "version": "7.9.0",
2467
2660
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
2468
2661
  "license": "ISC",
2469
2662
  "description": "A parser for bitmark text, powered by WebAssembly."
@@ -2529,6 +2722,9 @@ function rememberRegistration(type, data) {
2529
2722
  function variant() {
2530
2723
  return activeFeature;
2531
2724
  }
2725
+ function engineVersion(fallback) {
2726
+ return active ? active.version() : fallback;
2727
+ }
2532
2728
 
2533
2729
  // src/core/hooked-transform.ts
2534
2730
  function stripArray(doc) {
@@ -2737,9 +2933,38 @@ function runJobsWithPool(jobs, workers, spawn) {
2737
2933
  });
2738
2934
  }
2739
2935
 
2936
+ // src/browser/wasm-version.ts
2937
+ function pinPackageUrl(url, name, version5) {
2938
+ const marker = `/${name}@`;
2939
+ const at = url.pathname.indexOf(marker);
2940
+ if (at === -1) return url;
2941
+ const from = at + marker.length;
2942
+ const to = url.pathname.indexOf("/", from);
2943
+ if (to === -1) return url;
2944
+ const pinned = new URL(url.href);
2945
+ pinned.pathname = url.pathname.slice(0, from) + version5 + url.pathname.slice(to);
2946
+ return pinned;
2947
+ }
2948
+ function ownUrl(path, base) {
2949
+ return pinPackageUrl(new URL(path, base), PACKAGE_INFO.name, PACKAGE_INFO.version);
2950
+ }
2951
+ function assertWasmVersion(ns) {
2952
+ let wasm4;
2953
+ try {
2954
+ wasm4 = ns.version?.();
2955
+ } catch {
2956
+ wasm4 = void 0;
2957
+ }
2958
+ if (wasm4 !== PACKAGE_INFO.version) {
2959
+ throw new Error(
2960
+ `version-mismatch: the bitmark-parser wasm is ${wasm4 ?? "an older release"}, but this script is ${PACKAGE_INFO.version}; load both from the same version`
2961
+ );
2962
+ }
2963
+ }
2964
+
2740
2965
  // src/browser/pool.ts
2741
2966
  function runJobsParallel(jobs, workers, feature) {
2742
- const workerUrl = new URL("./worker-entry.js", importMetaUrl);
2967
+ const workerUrl = ownUrl("./worker-entry.js", importMetaUrl);
2743
2968
  return runJobsWithPool(jobs, workers, (onResult, onError) => {
2744
2969
  const w = new Worker(workerUrl, { type: "module" });
2745
2970
  w.onmessage = (ev) => onResult(ev.data);
@@ -3096,10 +3321,12 @@ var BitmarkParserGenerator = class {
3096
3321
  /**
3097
3322
  * Get the version of the library.
3098
3323
  *
3099
- * Reports the @gmb/bitmark-parser version (not a bpg version string).
3324
+ * Reports the @gmb/bitmark-parser version (not a bpg version string): the
3325
+ * one the loaded wasm reports, else the package's own (PLAN-224). Never
3326
+ * throws.
3100
3327
  */
3101
3328
  version() {
3102
- return PACKAGE_INFO.version;
3329
+ return engineVersion(PACKAGE_INFO.version);
3103
3330
  }
3104
3331
  /**
3105
3332
  * Convert bitmark from bitmark to JSON, or JSON to bitmark (bpg-compatible).
@@ -3902,9 +4129,15 @@ function convertWithDetails(input, options = {}) {
3902
4129
  const result = { output: details.take_data() };
3903
4130
  const flat = details.bit_spans();
3904
4131
  if (flat !== void 0) {
3905
- const spans = new Array(flat.length / 3);
3906
- for (let i = 0, j = 0; j < flat.length; i++, j += 3) {
3907
- spans[i] = { index: flat[j], start: flat[j + 1], end: flat[j + 2] };
4132
+ const spans = new Array(flat.length / 5);
4133
+ for (let i = 0, j = 0; j < flat.length; i++, j += 5) {
4134
+ spans[i] = {
4135
+ index: flat[j],
4136
+ inputStart: flat[j + 1],
4137
+ inputEnd: flat[j + 2],
4138
+ outputStart: flat[j + 3],
4139
+ outputEnd: flat[j + 4]
4140
+ };
3908
4141
  }
3909
4142
  result.bitSpans = {
3910
4143
  positionEncoding: details.bit_spans_encoding(),
@@ -3945,7 +4178,8 @@ function complete4(input, position, options = {}) {
3945
4178
  position.character,
3946
4179
  options.positionEncoding ?? "",
3947
4180
  options.includeDeprecated ?? false,
3948
- options.triggerCharacter ?? ""
4181
+ options.triggerCharacter ?? "",
4182
+ options.bitTemplate ?? false
3949
4183
  )
3950
4184
  );
3951
4185
  }
@@ -3959,6 +4193,7 @@ function resolve4(input, position, item, options = {}) {
3959
4193
  position.character,
3960
4194
  options.positionEncoding ?? "",
3961
4195
  options.includeDeprecated ?? false,
4196
+ options.bitTemplate ?? false,
3962
4197
  item.label,
3963
4198
  item.kind
3964
4199
  )
@@ -4066,6 +4301,26 @@ function info4(options = {}) {
4066
4301
  language
4067
4302
  );
4068
4303
  }
4304
+ function template4(options) {
4305
+ const format = options.format ?? "text";
4306
+ const pretty = options.pretty ?? false;
4307
+ const indent = options.indent ?? 2;
4308
+ const includeDeprecated = options.includeDeprecated ?? false;
4309
+ const wasm4 = getActive();
4310
+ if (typeof wasm4.template !== "function" || typeof wasm4.template_all !== "function") {
4311
+ throw new UnsupportedFeatureError("template", variant());
4312
+ }
4313
+ if (options.all) {
4314
+ if (format === "snippet") {
4315
+ throw new Error("template({ all: true }) renders every bit as JSON; there is no snippet form");
4316
+ }
4317
+ return wasm4.template_all(includeDeprecated, pretty, indent);
4318
+ }
4319
+ if (!options.bit) {
4320
+ throw new Error("template() needs a bit name, or all: true");
4321
+ }
4322
+ return wasm4.template(options.bit, format, options.full ?? false, includeDeprecated, pretty, indent);
4323
+ }
4069
4324
  function register4(options) {
4070
4325
  try {
4071
4326
  getActive().register(options.type, options.data);
@@ -4128,10 +4383,11 @@ async function init(options) {
4128
4383
  }
4129
4384
  const mySeq = ++initSeq;
4130
4385
  const v = VARIANTS[feature];
4131
- const source = module_or_path ?? new URL(`${WASM_BASE}${v.wasmFile}?v=${PACKAGE_INFO.version}`, importMetaUrl);
4386
+ const source = module_or_path ?? ownUrl(`${WASM_BASE}${v.wasmFile}?v=${PACKAGE_INFO.version}`, importMetaUrl);
4132
4387
  const promise = (async () => {
4133
4388
  try {
4134
4389
  const out = await v.init({ module_or_path: source });
4390
+ assertWasmVersion(v.ns);
4135
4391
  if (mySeq === initSeq) {
4136
4392
  setActive(feature, v.ns);
4137
4393
  activeOut = out;
@@ -4150,14 +4406,15 @@ function initSync4(module2, options = {}) {
4150
4406
  const feature = options.feature ?? defaultFeatureFor(module2);
4151
4407
  const v = VARIANTS[feature];
4152
4408
  const out = v.initSync({ module: module2 });
4409
+ assertWasmVersion(v.ns);
4153
4410
  ++initSeq;
4154
4411
  inflight = void 0;
4155
4412
  setActive(feature, v.ns);
4156
4413
  activeOut = out;
4157
4414
  return out;
4158
4415
  }
4159
- function version() {
4160
- return PACKAGE_INFO.version;
4416
+ function version4() {
4417
+ return engineVersion(PACKAGE_INFO.version);
4161
4418
  }
4162
4419
  function transformParallel(input, options = {}) {
4163
4420
  const wasm4 = getActive();
@@ -4200,6 +4457,7 @@ function transformParallel(input, options = {}) {
4200
4457
  resolve,
4201
4458
  semanticTokens,
4202
4459
  splitBits,
4460
+ template,
4203
4461
  transform,
4204
4462
  transformParallel,
4205
4463
  unbreakscapeText,