@gmb/bitmark-parser 6.11.1 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +361 -57
  2. package/dist/browser/bitmark-parser.min.js +4 -4
  3. package/dist/browser/bitmark-parser.min.js.map +1 -1
  4. package/dist/browser/cjs/index.cjs +966 -372
  5. package/dist/browser/cjs/index.cjs.map +1 -1
  6. package/dist/browser/cjs/index.d.cts +642 -70
  7. package/dist/browser/esm/index.d.ts +642 -70
  8. package/dist/browser/esm/index.js +958 -371
  9. package/dist/browser/esm/index.js.map +1 -1
  10. package/dist/browser/esm/worker-entry.js +790 -247
  11. package/dist/browser/esm/worker-entry.js.map +1 -1
  12. package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
  13. package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
  14. package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
  15. package/dist/index.cjs +163 -124
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +637 -70
  18. package/dist/index.d.ts +637 -70
  19. package/dist/index.js +155 -123
  20. package/dist/index.js.map +1 -1
  21. package/dist/legacy.cjs +8 -30
  22. package/dist/legacy.cjs.map +1 -1
  23. package/dist/legacy.d.cts +0 -2
  24. package/dist/legacy.d.ts +0 -2
  25. package/dist/legacy.js +8 -30
  26. package/dist/legacy.js.map +1 -1
  27. package/dist/worker-entry.cjs +1 -5
  28. package/dist/worker-entry.cjs.map +1 -1
  29. package/package.json +7 -7
  30. package/schema/bitmark.schema.json +507 -141
  31. package/wasm/bitmark_wasm.d.ts +65 -26
  32. package/wasm/bitmark_wasm.js +348 -116
  33. package/wasm/bitmark_wasm_bg.wasm +0 -0
  34. package/wasm/bitmark_wasm_bg.wasm.d.ts +6 -3
  35. package/wasm/package.json +1 -1
  36. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +56 -15
  37. package/wasm-bitmark-json/bitmark_json_wasm.js +321 -77
  38. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
  39. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +5 -2
  40. package/wasm-bitmark-json/package.json +1 -1
  41. package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +65 -26
  42. package/wasm-browser-full/bitmark_browser_full_wasm.js +348 -116
  43. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
  44. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm.d.ts +6 -3
  45. package/wasm-browser-full/package.json +1 -1
@@ -1,9 +1,12 @@
1
1
 
2
2
  let imports = {};
3
+ imports['__wbindgen_placeholder__'] = module.exports;
3
4
  let wasm;
4
- const { TextEncoder, TextDecoder } = require(`util`);
5
+ const { TextDecoder, TextEncoder } = require(`util`);
5
6
 
6
- let WASM_VECTOR_LEN = 0;
7
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
8
+
9
+ cachedTextDecoder.decode();
7
10
 
8
11
  let cachedUint8ArrayMemory0 = null;
9
12
 
@@ -14,6 +17,28 @@ function getUint8ArrayMemory0() {
14
17
  return cachedUint8ArrayMemory0;
15
18
  }
16
19
 
20
+ function getStringFromWasm0(ptr, len) {
21
+ ptr = ptr >>> 0;
22
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
23
+ }
24
+
25
+ const heap = new Array(128).fill(undefined);
26
+
27
+ heap.push(undefined, null, true, false);
28
+
29
+ let heap_next = heap.length;
30
+
31
+ function addHeapObject(obj) {
32
+ if (heap_next === heap.length) heap.push(heap.length + 1);
33
+ const idx = heap_next;
34
+ heap_next = heap[idx];
35
+
36
+ heap[idx] = obj;
37
+ return idx;
38
+ }
39
+
40
+ let WASM_VECTOR_LEN = 0;
41
+
17
42
  let cachedTextEncoder = new TextEncoder('utf-8');
18
43
 
19
44
  const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
@@ -76,15 +101,6 @@ function getDataViewMemory0() {
76
101
  }
77
102
  return cachedDataViewMemory0;
78
103
  }
79
-
80
- let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
81
-
82
- cachedTextDecoder.decode();
83
-
84
- function getStringFromWasm0(ptr, len) {
85
- ptr = ptr >>> 0;
86
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
87
- }
88
104
  /**
89
105
  * Breakscape text (escape bitmark special characters).
90
106
  *
@@ -203,6 +219,19 @@ module.exports.info = function(info_type, format, bit, pretty, indent, include_d
203
219
  }
204
220
  };
205
221
 
222
+ function getObject(idx) { return heap[idx]; }
223
+
224
+ function dropObject(idx) {
225
+ if (idx < 132) return;
226
+ heap[idx] = heap_next;
227
+ heap_next = idx;
228
+ }
229
+
230
+ function takeObject(idx) {
231
+ const ret = getObject(idx);
232
+ dropObject(idx);
233
+ return ret;
234
+ }
206
235
  /**
207
236
  * Register data with the parser process (PLAN-173 P12).
208
237
  *
@@ -211,18 +240,15 @@ module.exports.info = function(info_type, format, bit, pretty, indent, include_d
211
240
  *
212
241
  * `data` is the file's own text. Semantics are REPLACE: a second call
213
242
  * supersedes the first entirely, and the built-in table (where the variant
214
- * bakes one) stays underneath. Returns `""` on success, or an
215
- * `error:`-prefixed message — matching the other string-returning exports.
243
+ * bakes one) stays underneath. Throws on bad data — like every other
244
+ * fallible export (PLAN-192 D1).
216
245
  *
217
246
  * Available in EVERY variant, including those that bake nothing: that is
218
247
  * exactly where a consumer must supply the file themselves.
219
248
  * @param {string} data_type
220
249
  * @param {string} data
221
- * @returns {string}
222
250
  */
223
251
  module.exports.register = function(data_type, data) {
224
- let deferred3_0;
225
- let deferred3_1;
226
252
  try {
227
253
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
228
254
  const ptr0 = passStringToWasm0(data_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -232,12 +258,11 @@ module.exports.register = function(data_type, data) {
232
258
  wasm.register(retptr, ptr0, len0, ptr1, len1);
233
259
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
234
260
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
235
- deferred3_0 = r0;
236
- deferred3_1 = r1;
237
- return getStringFromWasm0(r0, r1);
261
+ if (r1) {
262
+ throw takeObject(r0);
263
+ }
238
264
  } finally {
239
265
  wasm.__wbindgen_add_to_stack_pointer(16);
240
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
241
266
  }
242
267
  };
243
268
 
@@ -245,10 +270,14 @@ module.exports.register = function(data_type, data) {
245
270
  * Apply a patch (a JSON array of patch entries) to every bit and re-emit.
246
271
  *
247
272
  * `input_format_sel`: `"auto"` | `"bitmark"` | `"json"`.
248
- * `output_format_sel`: `"bitmark"` | `"json"` (default json).
273
+ * `output_format_sel`: the same vocabulary as `convert` — `"bitmark"` |
274
+ * `"json"` | `"text"` | a mapping id (`"html"`, …), `"auto"` (or empty) being
275
+ * the opposite of the resolved input format. The whole-document outputs
276
+ * (`lex`, `semantic-tokens`, `diagnostics`) are not per-bit formats; the
277
+ * pipeline refuses them and that refusal is what throws.
249
278
  * `patch_json`: the patch entry array (empty string = no patches, i.e. a
250
279
  * canonicalizing pass). Parallelism is a JS-side concern (web workers); this
251
- * runs sequentially. Returns the document text/JSON, or `error: …`.
280
+ * runs sequentially. Returns the document text/JSON; throws on failure.
252
281
  * @param {string} input
253
282
  * @param {string} input_format_sel
254
283
  * @param {string} output_format_sel
@@ -260,8 +289,8 @@ module.exports.register = function(data_type, data) {
260
289
  * @returns {string}
261
290
  */
262
291
  module.exports.transform = function(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
263
- let deferred6_0;
264
- let deferred6_1;
292
+ let deferred7_0;
293
+ let deferred7_1;
265
294
  try {
266
295
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
267
296
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -277,12 +306,20 @@ module.exports.transform = function(input, input_format_sel, output_format_sel,
277
306
  wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
278
307
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
279
308
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
280
- deferred6_0 = r0;
281
- deferred6_1 = r1;
282
- return getStringFromWasm0(r0, r1);
309
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
310
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
311
+ var ptr6 = r0;
312
+ var len6 = r1;
313
+ if (r3) {
314
+ ptr6 = 0; len6 = 0;
315
+ throw takeObject(r2);
316
+ }
317
+ deferred7_0 = ptr6;
318
+ deferred7_1 = len6;
319
+ return getStringFromWasm0(ptr6, len6);
283
320
  } finally {
284
321
  wasm.__wbindgen_add_to_stack_pointer(16);
285
- wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
322
+ wasm.__wbindgen_export_2(deferred7_0, deferred7_1, 1);
286
323
  }
287
324
  };
288
325
 
@@ -290,43 +327,199 @@ module.exports.transform = function(input, input_format_sel, output_format_sel,
290
327
  * Resolve a patch document against `input` (bitmark or JSON) into the
291
328
  * ordered output items, so a JS per-bit planner (hooks, worker pool) can
292
329
  * reorder, drop and insert jobs from the one Rust implementation
293
- * (PLAN-179). Returns a JSON array of
330
+ * (PLAN-179). `input_format_sel` is the caller's input-format selector
331
+ * (`"auto"` | `"bitmark"` | `"json"`): the document is split under the SAME
332
+ * selection the planner already resolved, never re-sniffed (PLAN-187 D1).
333
+ * Returns a JSON array of
294
334
  * `{ "source": <original index> | null, "bit": <inner bit> | null,
295
- * "patch": [ … ] }`, or `error: …`.
335
+ * "patch": [ … ] }`; throws on failure.
296
336
  * @param {string} input
337
+ * @param {string} input_format_sel
297
338
  * @param {string} patch_json
298
339
  * @returns {string}
299
340
  */
300
- module.exports.resolve_patch_document = function(input, patch_json) {
301
- let deferred3_0;
302
- let deferred3_1;
341
+ module.exports.resolve_patch_document = function(input, input_format_sel, patch_json) {
342
+ let deferred5_0;
343
+ let deferred5_1;
303
344
  try {
304
345
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
305
346
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
306
347
  const len0 = WASM_VECTOR_LEN;
307
- const ptr1 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
348
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
308
349
  const len1 = WASM_VECTOR_LEN;
309
- wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
350
+ const ptr2 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
351
+ const len2 = WASM_VECTOR_LEN;
352
+ wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
310
353
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
311
354
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
312
- deferred3_0 = r0;
313
- deferred3_1 = r1;
314
- return getStringFromWasm0(r0, r1);
355
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
356
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
357
+ var ptr4 = r0;
358
+ var len4 = r1;
359
+ if (r3) {
360
+ ptr4 = 0; len4 = 0;
361
+ throw takeObject(r2);
362
+ }
363
+ deferred5_0 = ptr4;
364
+ deferred5_1 = len4;
365
+ return getStringFromWasm0(ptr4, len4);
315
366
  } finally {
316
367
  wasm.__wbindgen_add_to_stack_pointer(16);
317
- wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
368
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
369
+ }
370
+ };
371
+
372
+ /**
373
+ * The constructs valid at a position, as an LSP `CompletionList` (PLAN-196
374
+ * D7; contract `API-EDT-editor-services.tsp`). `line` / `character` are
375
+ * 0-based, `character` in `position_encoding` units (`"utf-16"`, the
376
+ * default, or `"utf-8"`); `include_deprecated` offers deprecated bits too;
377
+ * `trigger_character` is the character the editor sent as the trigger (LSP
378
+ * `CompletionContext.triggerCharacter`; empty when invoked explicitly) — a
379
+ * trigger that opens nothing where the cursor is answers the empty list
380
+ * (PLAN-203 D1). ABSENT on a variant built without `editor` — the same
381
+ * "presence is the capability" signal `diff` uses. Throws when the line is
382
+ * past the text.
383
+ * @param {string} input
384
+ * @param {number} line
385
+ * @param {number} character
386
+ * @param {string} position_encoding
387
+ * @param {boolean} include_deprecated
388
+ * @param {string} trigger_character
389
+ * @returns {string}
390
+ */
391
+ module.exports.complete = function(input, line, character, position_encoding, include_deprecated, trigger_character) {
392
+ let deferred5_0;
393
+ let deferred5_1;
394
+ try {
395
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
396
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
397
+ const len0 = WASM_VECTOR_LEN;
398
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
399
+ const len1 = WASM_VECTOR_LEN;
400
+ const ptr2 = passStringToWasm0(trigger_character, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
401
+ const len2 = WASM_VECTOR_LEN;
402
+ wasm.complete(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2);
403
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
404
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
405
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
406
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
407
+ var ptr4 = r0;
408
+ var len4 = r1;
409
+ if (r3) {
410
+ ptr4 = 0; len4 = 0;
411
+ throw takeObject(r2);
412
+ }
413
+ deferred5_0 = ptr4;
414
+ deferred5_1 = len4;
415
+ return getStringFromWasm0(ptr4, len4);
416
+ } finally {
417
+ wasm.__wbindgen_add_to_stack_pointer(16);
418
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
419
+ }
420
+ };
421
+
422
+ /**
423
+ * One item of the list `complete` returns at this position, its Markdown
424
+ * `documentation` filled in — LSP `completionItem/resolve` (PLAN-202):
425
+ * `complete` ships no documentation, an editor asks for the one item it is
426
+ * about to show. `label` and `kind` (the LSP `CompletionItemKind` number)
427
+ * name the item; the JSON `null` when the list has no such item. Arguments
428
+ * otherwise as `complete`.
429
+ * @param {string} input
430
+ * @param {number} line
431
+ * @param {number} character
432
+ * @param {string} position_encoding
433
+ * @param {boolean} include_deprecated
434
+ * @param {string} label
435
+ * @param {number} kind
436
+ * @returns {string}
437
+ */
438
+ module.exports.resolve = function(input, line, character, position_encoding, include_deprecated, label, kind) {
439
+ let deferred5_0;
440
+ let deferred5_1;
441
+ try {
442
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
443
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
444
+ const len0 = WASM_VECTOR_LEN;
445
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
446
+ const len1 = WASM_VECTOR_LEN;
447
+ const ptr2 = passStringToWasm0(label, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
448
+ const len2 = WASM_VECTOR_LEN;
449
+ wasm.resolve(retptr, ptr0, len0, line, character, ptr1, len1, include_deprecated, ptr2, len2, kind);
450
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
451
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
452
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
453
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
454
+ var ptr4 = r0;
455
+ var len4 = r1;
456
+ if (r3) {
457
+ ptr4 = 0; len4 = 0;
458
+ throw takeObject(r2);
459
+ }
460
+ deferred5_0 = ptr4;
461
+ deferred5_1 = len4;
462
+ return getStringFromWasm0(ptr4, len4);
463
+ } finally {
464
+ wasm.__wbindgen_add_to_stack_pointer(16);
465
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
466
+ }
467
+ };
468
+
469
+ /**
470
+ * The construct at a position, as an LSP `Hover` — or the JSON `null` when
471
+ * there is nothing to show (PLAN-196 D8). Arguments as `complete`.
472
+ * @param {string} input
473
+ * @param {number} line
474
+ * @param {number} character
475
+ * @param {string} position_encoding
476
+ * @returns {string}
477
+ */
478
+ module.exports.hover = function(input, line, character, position_encoding) {
479
+ let deferred4_0;
480
+ let deferred4_1;
481
+ try {
482
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
483
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
484
+ const len0 = WASM_VECTOR_LEN;
485
+ const ptr1 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
486
+ const len1 = WASM_VECTOR_LEN;
487
+ wasm.hover(retptr, ptr0, len0, line, character, ptr1, len1);
488
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
489
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
490
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
491
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
492
+ var ptr3 = r0;
493
+ var len3 = r1;
494
+ if (r3) {
495
+ ptr3 = 0; len3 = 0;
496
+ throw takeObject(r2);
497
+ }
498
+ deferred4_0 = ptr3;
499
+ deferred4_1 = len3;
500
+ return getStringFromWasm0(ptr3, len3);
501
+ } finally {
502
+ wasm.__wbindgen_add_to_stack_pointer(16);
503
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
318
504
  }
319
505
  };
320
506
 
321
507
  /**
322
508
  * Convert between bitmark and JSON with explicit input/output formats + mode.
323
509
  *
324
- * `input_format`: `"auto"` (default) | `"bitmark"` | `"json"`.
325
- * `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"`.
510
+ * `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | a mapping id.
511
+ * `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"` |
512
+ * `"text"` | `"lex"` (the token stream as JSON) | `"semantic-tokens"` |
513
+ * `"diagnostics"` (the last three bitmark input only) | a mapping id.
326
514
  * `mode`: `"optimized"` (default) | `"full"`.
327
515
  * `mapping_report`: replace the output with a human-readable report of the
328
516
  * input→output mappings, including inputs that are NOT mapped (PLAN-147).
329
- * Returns the converted text/JSON, or a string prefixed `error:` on failure.
517
+ * `position_encoding`: `"utf-16"` (default) | `"utf-8"` — the
518
+ * `semantic-tokens` and `diagnostics` outputs' encoding (PLAN-193 /
519
+ * PLAN-196) — and `tokens_layout`: `"lsp"` (default) | `"absolute"` — the
520
+ * `semantic-tokens` layout; `""` means the default, and every other output
521
+ * format ignores them.
522
+ * Returns the converted text/JSON; throws on failure.
330
523
  * @param {string} input
331
524
  * @param {string} input_format_sel
332
525
  * @param {string} output_format_sel
@@ -336,11 +529,13 @@ module.exports.resolve_patch_document = function(input, patch_json) {
336
529
  * @param {number} spaces_around_values
337
530
  * @param {boolean} include_unknown_properties
338
531
  * @param {boolean} mapping_report
532
+ * @param {string} position_encoding
533
+ * @param {string} tokens_layout
339
534
  * @returns {string}
340
535
  */
341
- module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
342
- let deferred5_0;
343
- let deferred5_1;
536
+ module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report, position_encoding, tokens_layout) {
537
+ let deferred8_0;
538
+ let deferred8_1;
344
539
  try {
345
540
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
346
541
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -351,15 +546,27 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
351
546
  const len2 = WASM_VECTOR_LEN;
352
547
  const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
353
548
  const len3 = WASM_VECTOR_LEN;
354
- wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
549
+ const ptr4 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
550
+ const len4 = WASM_VECTOR_LEN;
551
+ const ptr5 = passStringToWasm0(tokens_layout, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
552
+ const len5 = WASM_VECTOR_LEN;
553
+ 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);
355
554
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
356
555
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
357
- deferred5_0 = r0;
358
- deferred5_1 = r1;
359
- return getStringFromWasm0(r0, r1);
556
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
557
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
558
+ var ptr7 = r0;
559
+ var len7 = r1;
560
+ if (r3) {
561
+ ptr7 = 0; len7 = 0;
562
+ throw takeObject(r2);
563
+ }
564
+ deferred8_0 = ptr7;
565
+ deferred8_1 = len7;
566
+ return getStringFromWasm0(ptr7, len7);
360
567
  } finally {
361
568
  wasm.__wbindgen_add_to_stack_pointer(16);
362
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
569
+ wasm.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
363
570
  }
364
571
  };
365
572
 
@@ -377,8 +584,8 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
377
584
  * @returns {string}
378
585
  */
379
586
  module.exports.canonicalize = function(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
380
- let deferred4_0;
381
- let deferred4_1;
587
+ let deferred5_0;
588
+ let deferred5_1;
382
589
  try {
383
590
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
384
591
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -390,24 +597,32 @@ module.exports.canonicalize = function(input, input_format_sel, mode, pretty, in
390
597
  wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
391
598
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
392
599
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
393
- deferred4_0 = r0;
394
- deferred4_1 = r1;
395
- return getStringFromWasm0(r0, r1);
600
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
601
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
602
+ var ptr4 = r0;
603
+ var len4 = r1;
604
+ if (r3) {
605
+ ptr4 = 0; len4 = 0;
606
+ throw takeObject(r2);
607
+ }
608
+ deferred5_0 = ptr4;
609
+ deferred5_1 = len4;
610
+ return getStringFromWasm0(ptr4, len4);
396
611
  } finally {
397
612
  wasm.__wbindgen_add_to_stack_pointer(16);
398
- wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
613
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
399
614
  }
400
615
  };
401
616
 
402
617
  /**
403
618
  * Count the bits in `input` (auto-detecting bitmark vs JSON).
404
- * Returns the count as a decimal string, or `error: …`.
619
+ * Returns the count as a decimal string; throws on failure.
405
620
  * @param {string} input
406
621
  * @returns {string}
407
622
  */
408
623
  module.exports.count_bits = function(input) {
409
- let deferred2_0;
410
- let deferred2_1;
624
+ let deferred3_0;
625
+ let deferred3_1;
411
626
  try {
412
627
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
413
628
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -415,12 +630,20 @@ module.exports.count_bits = function(input) {
415
630
  wasm.count_bits(retptr, ptr0, len0);
416
631
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
417
632
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
418
- deferred2_0 = r0;
419
- deferred2_1 = r1;
420
- return getStringFromWasm0(r0, r1);
633
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
634
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
635
+ var ptr2 = r0;
636
+ var len2 = r1;
637
+ if (r3) {
638
+ ptr2 = 0; len2 = 0;
639
+ throw takeObject(r2);
640
+ }
641
+ deferred3_0 = ptr2;
642
+ deferred3_1 = len2;
643
+ return getStringFromWasm0(ptr2, len2);
421
644
  } finally {
422
645
  wasm.__wbindgen_add_to_stack_pointer(16);
423
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
646
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
424
647
  }
425
648
  };
426
649
 
@@ -468,13 +691,13 @@ module.exports.is_bitmark = function(input) {
468
691
  * Split a JSON document (a top-level array of bit envelopes) into its per-bit
469
692
  * envelope objects, returned as a JSON array string. Lets a JS caller iterate
470
693
  * JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
471
- * Returns `error: …` if the input is not a JSON array of bits.
694
+ * Throws if the input is not a JSON array of bits.
472
695
  * @param {string} input
473
696
  * @returns {string}
474
697
  */
475
698
  module.exports.split_json_bits = function(input) {
476
- let deferred2_0;
477
- let deferred2_1;
699
+ let deferred3_0;
700
+ let deferred3_1;
478
701
  try {
479
702
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
480
703
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -482,12 +705,20 @@ module.exports.split_json_bits = function(input) {
482
705
  wasm.split_json_bits(retptr, ptr0, len0);
483
706
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
484
707
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
485
- deferred2_0 = r0;
486
- deferred2_1 = r1;
487
- return getStringFromWasm0(r0, r1);
708
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
709
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
710
+ var ptr2 = r0;
711
+ var len2 = r1;
712
+ if (r3) {
713
+ ptr2 = 0; len2 = 0;
714
+ throw takeObject(r2);
715
+ }
716
+ deferred3_0 = ptr2;
717
+ deferred3_1 = len2;
718
+ return getStringFromWasm0(ptr2, len2);
488
719
  } finally {
489
720
  wasm.__wbindgen_add_to_stack_pointer(16);
490
- wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
721
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
491
722
  }
492
723
  };
493
724
 
@@ -525,7 +756,7 @@ module.exports.prettify = function(json, indent) {
525
756
  * `format`: a bitmark text format (`"bitmark++"`, `"bitmark+"`) parses
526
757
  * inline marks; anything else is treated as plain text (textToAst only).
527
758
  * `location`: `"body"` (default) or `"tag"`.
528
- * Returns the converted fragment, or `error: …`.
759
+ * Returns the converted fragment; throws on failure.
529
760
  * @param {string} input
530
761
  * @param {string} direction
531
762
  * @param {string} format
@@ -533,8 +764,8 @@ module.exports.prettify = function(json, indent) {
533
764
  * @returns {string}
534
765
  */
535
766
  module.exports.convert_text = function(input, direction, format, location) {
536
- let deferred5_0;
537
- let deferred5_1;
767
+ let deferred6_0;
768
+ let deferred6_1;
538
769
  try {
539
770
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
540
771
  const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -548,15 +779,28 @@ module.exports.convert_text = function(input, direction, format, location) {
548
779
  wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
549
780
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
550
781
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
551
- deferred5_0 = r0;
552
- deferred5_1 = r1;
553
- return getStringFromWasm0(r0, r1);
782
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
783
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
784
+ var ptr5 = r0;
785
+ var len5 = r1;
786
+ if (r3) {
787
+ ptr5 = 0; len5 = 0;
788
+ throw takeObject(r2);
789
+ }
790
+ deferred6_0 = ptr5;
791
+ deferred6_1 = len5;
792
+ return getStringFromWasm0(ptr5, len5);
554
793
  } finally {
555
794
  wasm.__wbindgen_add_to_stack_pointer(16);
556
- wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
795
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
557
796
  }
558
797
  };
559
798
 
799
+ module.exports.__wbindgen_error_new = function(arg0, arg1) {
800
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
801
+ return addHeapObject(ret);
802
+ };
803
+
560
804
  const path = require('path').join(__dirname, 'bitmark_json_wasm_bg.wasm');
561
805
  const bytes = require('fs').readFileSync(path);
562
806
 
@@ -3,14 +3,17 @@
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const breakscape_text: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
5
5
  export const canonicalize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
6
- export const convert: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void;
6
+ export const complete: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
7
+ export const convert: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => void;
7
8
  export const convert_text: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
8
9
  export const count_bits: (a: number, b: number, c: number) => void;
10
+ export const hover: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
9
11
  export const info: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void;
10
12
  export const is_bitmark: (a: number, b: number) => number;
11
13
  export const prettify: (a: number, b: number, c: number, d: number) => void;
12
14
  export const register: (a: number, b: number, c: number, d: number, e: number) => void;
13
- export const resolve_patch_document: (a: number, b: number, c: number, d: number, e: number) => void;
15
+ export const resolve: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
16
+ export const resolve_patch_document: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
14
17
  export const split_bits: (a: number, b: number, c: number) => void;
15
18
  export const split_json_bits: (a: number, b: number, c: number) => void;
16
19
  export const transform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void;
@@ -4,7 +4,7 @@
4
4
  "Get More Brain Ltd <info@getmorebrain.com>"
5
5
  ],
6
6
  "description": "WebAssembly bindings for the bitmark parser",
7
- "version": "6.11.1",
7
+ "version": "7.1.0",
8
8
  "license": "ISC",
9
9
  "repository": {
10
10
  "type": "git",