@gmb/bitmark-parser 6.2.0 → 6.3.1
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.
- package/README.md +139 -58
- package/dist/browser/bitmark-parser.min.js +4 -4
- package/dist/browser/bitmark-parser.min.js.map +1 -1
- package/dist/browser/bitmark_wasm_bg.wasm +0 -0
- package/dist/browser/cjs/bitmark_wasm_bg.wasm +0 -0
- package/dist/browser/cjs/index.cjs +161 -193
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +157 -119
- package/dist/browser/esm/bitmark_wasm_bg.wasm +0 -0
- package/dist/browser/esm/index.d.ts +157 -119
- package/dist/browser/esm/index.js +159 -187
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/esm/worker-entry.js.map +1 -1
- package/dist/index.cjs +92 -66
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1921 -300
- package/dist/index.d.ts +1921 -300
- package/dist/index.js +90 -59
- package/dist/index.js.map +1 -1
- package/dist/legacy.cjs +73 -34
- package/dist/legacy.cjs.map +1 -1
- package/dist/legacy.d.cts +43 -16
- package/dist/legacy.d.ts +43 -16
- package/dist/legacy.js +73 -34
- package/dist/legacy.js.map +1 -1
- package/package.json +8 -7
- package/wasm/bitmark_wasm.d.ts +31 -53
- package/wasm/bitmark_wasm.js +115 -209
- package/wasm/bitmark_wasm_bg.wasm +0 -0
- package/wasm/bitmark_wasm_bg.wasm.d.ts +1 -4
- package/wasm/package.json +1 -1
package/wasm/bitmark_wasm.js
CHANGED
|
@@ -117,37 +117,6 @@ module.exports.lex = function(input, stage) {
|
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
/**
|
|
121
|
-
* Parse bitmark input text and return the reference JSON format.
|
|
122
|
-
*
|
|
123
|
-
* Uses the full pipeline: parse → validate → serialize.
|
|
124
|
-
*
|
|
125
|
-
* `mode`: `"optimized"` (default) or `"full"`
|
|
126
|
-
* @param {string} input
|
|
127
|
-
* @param {string} mode
|
|
128
|
-
* @returns {string}
|
|
129
|
-
*/
|
|
130
|
-
module.exports.parse = function(input, mode) {
|
|
131
|
-
let deferred3_0;
|
|
132
|
-
let deferred3_1;
|
|
133
|
-
try {
|
|
134
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
135
|
-
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
136
|
-
const len0 = WASM_VECTOR_LEN;
|
|
137
|
-
const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
138
|
-
const len1 = WASM_VECTOR_LEN;
|
|
139
|
-
wasm.parse(retptr, ptr0, len0, ptr1, len1);
|
|
140
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
141
|
-
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
142
|
-
deferred3_0 = r0;
|
|
143
|
-
deferred3_1 = r1;
|
|
144
|
-
return getStringFromWasm0(r0, r1);
|
|
145
|
-
} finally {
|
|
146
|
-
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
147
|
-
wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
120
|
/**
|
|
152
121
|
* Breakscape text (escape bitmark special characters).
|
|
153
122
|
*
|
|
@@ -215,95 +184,40 @@ module.exports.unbreakscape_text = function(input, format, location) {
|
|
|
215
184
|
};
|
|
216
185
|
|
|
217
186
|
/**
|
|
218
|
-
*
|
|
219
|
-
* envelope objects, returned as a JSON array string. Lets a JS caller iterate
|
|
220
|
-
* JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
|
|
221
|
-
* Returns `error: …` if the input is not a JSON array of bits.
|
|
222
|
-
* @param {string} input
|
|
223
|
-
* @returns {string}
|
|
224
|
-
*/
|
|
225
|
-
module.exports.split_json_bits = function(input) {
|
|
226
|
-
let deferred2_0;
|
|
227
|
-
let deferred2_1;
|
|
228
|
-
try {
|
|
229
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
230
|
-
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
231
|
-
const len0 = WASM_VECTOR_LEN;
|
|
232
|
-
wasm.split_json_bits(retptr, ptr0, len0);
|
|
233
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
234
|
-
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
235
|
-
deferred2_0 = r0;
|
|
236
|
-
deferred2_1 = r1;
|
|
237
|
-
return getStringFromWasm0(r0, r1);
|
|
238
|
-
} finally {
|
|
239
|
-
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
240
|
-
wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Pretty-print a compact JSON string with the given indent. Used to format a
|
|
246
|
-
* document recombined on the JS side (the per-bit hook path) so its output
|
|
247
|
-
* matches the in-Rust recombination byte-for-byte.
|
|
248
|
-
* @param {string} json
|
|
249
|
-
* @param {number} indent
|
|
250
|
-
* @returns {string}
|
|
251
|
-
*/
|
|
252
|
-
module.exports.prettify = function(json, indent) {
|
|
253
|
-
let deferred2_0;
|
|
254
|
-
let deferred2_1;
|
|
255
|
-
try {
|
|
256
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
257
|
-
const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
258
|
-
const len0 = WASM_VECTOR_LEN;
|
|
259
|
-
wasm.prettify(retptr, ptr0, len0, indent);
|
|
260
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
261
|
-
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
262
|
-
deferred2_0 = r0;
|
|
263
|
-
deferred2_1 = r1;
|
|
264
|
-
return getStringFromWasm0(r0, r1);
|
|
265
|
-
} finally {
|
|
266
|
-
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
267
|
-
wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
|
|
268
|
-
}
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Convert a standalone bitmark text fragment ↔ TextAst (ProseMirror JSON).
|
|
187
|
+
* Query information about supported bit types.
|
|
273
188
|
*
|
|
274
|
-
* `
|
|
275
|
-
* `format`:
|
|
276
|
-
*
|
|
277
|
-
* `
|
|
278
|
-
*
|
|
279
|
-
* @param {string}
|
|
280
|
-
* @param {string} direction
|
|
189
|
+
* `info_type`: `"list"`, `"bit"`, `"all"`, or `"deprecated"`
|
|
190
|
+
* `format`: `"text"` or `"json"`
|
|
191
|
+
* `bit`: bit name (required when `info_type` is `"bit"`)
|
|
192
|
+
* `pretty`: whether to pretty-print JSON output
|
|
193
|
+
* `indent`: indent size for pretty-printing (default: 2)
|
|
194
|
+
* @param {string} info_type
|
|
281
195
|
* @param {string} format
|
|
282
|
-
* @param {string}
|
|
196
|
+
* @param {string} bit
|
|
197
|
+
* @param {boolean} pretty
|
|
198
|
+
* @param {number} indent
|
|
283
199
|
* @returns {string}
|
|
284
200
|
*/
|
|
285
|
-
module.exports.
|
|
286
|
-
let
|
|
287
|
-
let
|
|
201
|
+
module.exports.info = function(info_type, format, bit, pretty, indent) {
|
|
202
|
+
let deferred4_0;
|
|
203
|
+
let deferred4_1;
|
|
288
204
|
try {
|
|
289
205
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
290
|
-
const ptr0 = passStringToWasm0(
|
|
206
|
+
const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
291
207
|
const len0 = WASM_VECTOR_LEN;
|
|
292
|
-
const ptr1 = passStringToWasm0(
|
|
208
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
293
209
|
const len1 = WASM_VECTOR_LEN;
|
|
294
|
-
const ptr2 = passStringToWasm0(
|
|
210
|
+
const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
295
211
|
const len2 = WASM_VECTOR_LEN;
|
|
296
|
-
|
|
297
|
-
const len3 = WASM_VECTOR_LEN;
|
|
298
|
-
wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
212
|
+
wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);
|
|
299
213
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
300
214
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
301
|
-
|
|
302
|
-
|
|
215
|
+
deferred4_0 = r0;
|
|
216
|
+
deferred4_1 = r1;
|
|
303
217
|
return getStringFromWasm0(r0, r1);
|
|
304
218
|
} finally {
|
|
305
219
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
306
|
-
wasm.__wbindgen_export_2(
|
|
220
|
+
wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
|
|
307
221
|
}
|
|
308
222
|
};
|
|
309
223
|
|
|
@@ -352,44 +266,6 @@ module.exports.transform = function(input, input_format_sel, output_format_sel,
|
|
|
352
266
|
}
|
|
353
267
|
};
|
|
354
268
|
|
|
355
|
-
/**
|
|
356
|
-
* Query information about supported bit types.
|
|
357
|
-
*
|
|
358
|
-
* `info_type`: `"list"`, `"bit"`, `"all"`, or `"deprecated"`
|
|
359
|
-
* `format`: `"text"` or `"json"`
|
|
360
|
-
* `bit`: bit name (required when `info_type` is `"bit"`)
|
|
361
|
-
* `pretty`: whether to pretty-print JSON output
|
|
362
|
-
* `indent`: indent size for pretty-printing (default: 2)
|
|
363
|
-
* @param {string} info_type
|
|
364
|
-
* @param {string} format
|
|
365
|
-
* @param {string} bit
|
|
366
|
-
* @param {boolean} pretty
|
|
367
|
-
* @param {number} indent
|
|
368
|
-
* @returns {string}
|
|
369
|
-
*/
|
|
370
|
-
module.exports.info = function(info_type, format, bit, pretty, indent) {
|
|
371
|
-
let deferred4_0;
|
|
372
|
-
let deferred4_1;
|
|
373
|
-
try {
|
|
374
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
375
|
-
const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
376
|
-
const len0 = WASM_VECTOR_LEN;
|
|
377
|
-
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
378
|
-
const len1 = WASM_VECTOR_LEN;
|
|
379
|
-
const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
380
|
-
const len2 = WASM_VECTOR_LEN;
|
|
381
|
-
wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);
|
|
382
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
383
|
-
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
384
|
-
deferred4_0 = r0;
|
|
385
|
-
deferred4_1 = r1;
|
|
386
|
-
return getStringFromWasm0(r0, r1);
|
|
387
|
-
} finally {
|
|
388
|
-
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
389
|
-
wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
|
|
390
|
-
}
|
|
391
|
-
};
|
|
392
|
-
|
|
393
269
|
/**
|
|
394
270
|
* Convert between bitmark and JSON with explicit input/output formats + mode.
|
|
395
271
|
*
|
|
@@ -404,9 +280,10 @@ module.exports.info = function(info_type, format, bit, pretty, indent) {
|
|
|
404
280
|
* @param {boolean} pretty
|
|
405
281
|
* @param {number} indent
|
|
406
282
|
* @param {number} spaces_around_values
|
|
283
|
+
* @param {boolean} include_unknown_properties
|
|
407
284
|
* @returns {string}
|
|
408
285
|
*/
|
|
409
|
-
module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values) {
|
|
286
|
+
module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties) {
|
|
410
287
|
let deferred5_0;
|
|
411
288
|
let deferred5_1;
|
|
412
289
|
try {
|
|
@@ -419,7 +296,7 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
|
|
|
419
296
|
const len2 = WASM_VECTOR_LEN;
|
|
420
297
|
const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
421
298
|
const len3 = WASM_VECTOR_LEN;
|
|
422
|
-
wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values);
|
|
299
|
+
wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties);
|
|
423
300
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
424
301
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
425
302
|
deferred5_0 = r0;
|
|
@@ -432,119 +309,122 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
|
|
|
432
309
|
};
|
|
433
310
|
|
|
434
311
|
/**
|
|
435
|
-
* Re-emit input in its own format
|
|
312
|
+
* Re-emit input in its own format in canonical form at `mode`.
|
|
436
313
|
*
|
|
437
314
|
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | any config
|
|
438
315
|
* mapping id (`html`, `xml`, …). The output is re-emitted in this same format.
|
|
439
316
|
* @param {string} input
|
|
440
317
|
* @param {string} input_format_sel
|
|
318
|
+
* @param {string} mode
|
|
441
319
|
* @param {boolean} pretty
|
|
442
320
|
* @param {number} indent
|
|
321
|
+
* @param {number} spaces_around_values
|
|
443
322
|
* @returns {string}
|
|
444
323
|
*/
|
|
445
|
-
module.exports.
|
|
446
|
-
let
|
|
447
|
-
let
|
|
324
|
+
module.exports.canonicalize = function(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
|
|
325
|
+
let deferred4_0;
|
|
326
|
+
let deferred4_1;
|
|
448
327
|
try {
|
|
449
328
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
450
329
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
451
330
|
const len0 = WASM_VECTOR_LEN;
|
|
452
331
|
const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
453
332
|
const len1 = WASM_VECTOR_LEN;
|
|
454
|
-
|
|
333
|
+
const ptr2 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
334
|
+
const len2 = WASM_VECTOR_LEN;
|
|
335
|
+
wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
|
|
455
336
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
456
337
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
457
|
-
|
|
458
|
-
|
|
338
|
+
deferred4_0 = r0;
|
|
339
|
+
deferred4_1 = r1;
|
|
459
340
|
return getStringFromWasm0(r0, r1);
|
|
460
341
|
} finally {
|
|
461
342
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
462
|
-
wasm.__wbindgen_export_2(
|
|
343
|
+
wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
|
|
463
344
|
}
|
|
464
345
|
};
|
|
465
346
|
|
|
466
347
|
/**
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | any config
|
|
470
|
-
* mapping id (`html`, `xml`, …). The output is re-emitted in this same format.
|
|
348
|
+
* Count the bits in `input` (auto-detecting bitmark vs JSON).
|
|
349
|
+
* Returns the count as a decimal string, or `error: …`.
|
|
471
350
|
* @param {string} input
|
|
472
|
-
* @param {string} input_format_sel
|
|
473
|
-
* @param {boolean} pretty
|
|
474
|
-
* @param {number} indent
|
|
475
351
|
* @returns {string}
|
|
476
352
|
*/
|
|
477
|
-
module.exports.
|
|
478
|
-
let
|
|
479
|
-
let
|
|
353
|
+
module.exports.count_bits = function(input) {
|
|
354
|
+
let deferred2_0;
|
|
355
|
+
let deferred2_1;
|
|
480
356
|
try {
|
|
481
357
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
482
358
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
483
359
|
const len0 = WASM_VECTOR_LEN;
|
|
484
|
-
|
|
485
|
-
const len1 = WASM_VECTOR_LEN;
|
|
486
|
-
wasm.fullize(retptr, ptr0, len0, ptr1, len1, pretty, indent);
|
|
360
|
+
wasm.count_bits(retptr, ptr0, len0);
|
|
487
361
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
488
362
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
489
|
-
|
|
490
|
-
|
|
363
|
+
deferred2_0 = r0;
|
|
364
|
+
deferred2_1 = r1;
|
|
491
365
|
return getStringFromWasm0(r0, r1);
|
|
492
366
|
} finally {
|
|
493
367
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
494
|
-
wasm.__wbindgen_export_2(
|
|
368
|
+
wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
|
|
495
369
|
}
|
|
496
370
|
};
|
|
497
371
|
|
|
498
372
|
/**
|
|
499
|
-
*
|
|
373
|
+
* Split a bitmark document into per-bit source slices.
|
|
500
374
|
*
|
|
501
|
-
*
|
|
502
|
-
*
|
|
375
|
+
* Returns a JSON array of `{ index, byteStart, byteEnd, source }`. Lets a JS
|
|
376
|
+
* caller chunk a document at bit boundaries (e.g. to feed a worker pool).
|
|
503
377
|
* @param {string} input
|
|
504
|
-
* @param {string} input_format_sel
|
|
505
|
-
* @param {string} mode
|
|
506
|
-
* @param {boolean} pretty
|
|
507
|
-
* @param {number} indent
|
|
508
|
-
* @param {number} spaces_around_values
|
|
509
378
|
* @returns {string}
|
|
510
379
|
*/
|
|
511
|
-
module.exports.
|
|
512
|
-
let
|
|
513
|
-
let
|
|
380
|
+
module.exports.split_bits = function(input) {
|
|
381
|
+
let deferred2_0;
|
|
382
|
+
let deferred2_1;
|
|
514
383
|
try {
|
|
515
384
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
516
385
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
517
386
|
const len0 = WASM_VECTOR_LEN;
|
|
518
|
-
|
|
519
|
-
const len1 = WASM_VECTOR_LEN;
|
|
520
|
-
const ptr2 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
521
|
-
const len2 = WASM_VECTOR_LEN;
|
|
522
|
-
wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
|
|
387
|
+
wasm.split_bits(retptr, ptr0, len0);
|
|
523
388
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
524
389
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
525
|
-
|
|
526
|
-
|
|
390
|
+
deferred2_0 = r0;
|
|
391
|
+
deferred2_1 = r1;
|
|
527
392
|
return getStringFromWasm0(r0, r1);
|
|
528
393
|
} finally {
|
|
529
394
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
530
|
-
wasm.__wbindgen_export_2(
|
|
395
|
+
wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
|
|
531
396
|
}
|
|
532
397
|
};
|
|
533
398
|
|
|
534
399
|
/**
|
|
535
|
-
*
|
|
536
|
-
*
|
|
400
|
+
* Whether `input` looks like bitmark (vs JSON). Mirrors the auto-detection
|
|
401
|
+
* used across the API so a JS caller can resolve `"auto"` consistently.
|
|
402
|
+
* @param {string} input
|
|
403
|
+
* @returns {boolean}
|
|
404
|
+
*/
|
|
405
|
+
module.exports.is_bitmark = function(input) {
|
|
406
|
+
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
407
|
+
const len0 = WASM_VECTOR_LEN;
|
|
408
|
+
const ret = wasm.is_bitmark(ptr0, len0);
|
|
409
|
+
return ret !== 0;
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Split a JSON document (a top-level array of bit envelopes) into its per-bit
|
|
414
|
+
* envelope objects, returned as a JSON array string. Lets a JS caller iterate
|
|
415
|
+
* JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
|
|
416
|
+
* Returns `error: …` if the input is not a JSON array of bits.
|
|
537
417
|
* @param {string} input
|
|
538
418
|
* @returns {string}
|
|
539
419
|
*/
|
|
540
|
-
module.exports.
|
|
420
|
+
module.exports.split_json_bits = function(input) {
|
|
541
421
|
let deferred2_0;
|
|
542
422
|
let deferred2_1;
|
|
543
423
|
try {
|
|
544
424
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
545
425
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
546
426
|
const len0 = WASM_VECTOR_LEN;
|
|
547
|
-
wasm.
|
|
427
|
+
wasm.split_json_bits(retptr, ptr0, len0);
|
|
548
428
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
549
429
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
550
430
|
deferred2_0 = r0;
|
|
@@ -557,21 +437,21 @@ module.exports.count_bits = function(input) {
|
|
|
557
437
|
};
|
|
558
438
|
|
|
559
439
|
/**
|
|
560
|
-
*
|
|
561
|
-
*
|
|
562
|
-
*
|
|
563
|
-
*
|
|
564
|
-
* @param {
|
|
440
|
+
* Pretty-print a compact JSON string with the given indent. Used to format a
|
|
441
|
+
* document recombined on the JS side (the per-bit hook path) so its output
|
|
442
|
+
* matches the in-Rust recombination byte-for-byte.
|
|
443
|
+
* @param {string} json
|
|
444
|
+
* @param {number} indent
|
|
565
445
|
* @returns {string}
|
|
566
446
|
*/
|
|
567
|
-
module.exports.
|
|
447
|
+
module.exports.prettify = function(json, indent) {
|
|
568
448
|
let deferred2_0;
|
|
569
449
|
let deferred2_1;
|
|
570
450
|
try {
|
|
571
451
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
572
|
-
const ptr0 = passStringToWasm0(
|
|
452
|
+
const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
573
453
|
const len0 = WASM_VECTOR_LEN;
|
|
574
|
-
wasm.
|
|
454
|
+
wasm.prettify(retptr, ptr0, len0, indent);
|
|
575
455
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
576
456
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
577
457
|
deferred2_0 = r0;
|
|
@@ -584,16 +464,42 @@ module.exports.split_bits = function(input) {
|
|
|
584
464
|
};
|
|
585
465
|
|
|
586
466
|
/**
|
|
587
|
-
*
|
|
588
|
-
*
|
|
467
|
+
* Convert a standalone bitmark text fragment ↔ TextAst (ProseMirror JSON).
|
|
468
|
+
*
|
|
469
|
+
* `direction`: `"textToAst"` | `"astToText"` | `"astToPlainText"`.
|
|
470
|
+
* `format`: a bitmark text format (`"bitmark++"`, `"bitmark+"`) parses
|
|
471
|
+
* inline marks; anything else is treated as plain text (textToAst only).
|
|
472
|
+
* `location`: `"body"` (default) or `"tag"`.
|
|
473
|
+
* Returns the converted fragment, or `error: …`.
|
|
589
474
|
* @param {string} input
|
|
590
|
-
* @
|
|
475
|
+
* @param {string} direction
|
|
476
|
+
* @param {string} format
|
|
477
|
+
* @param {string} location
|
|
478
|
+
* @returns {string}
|
|
591
479
|
*/
|
|
592
|
-
module.exports.
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
480
|
+
module.exports.convert_text = function(input, direction, format, location) {
|
|
481
|
+
let deferred5_0;
|
|
482
|
+
let deferred5_1;
|
|
483
|
+
try {
|
|
484
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
485
|
+
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
486
|
+
const len0 = WASM_VECTOR_LEN;
|
|
487
|
+
const ptr1 = passStringToWasm0(direction, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
488
|
+
const len1 = WASM_VECTOR_LEN;
|
|
489
|
+
const ptr2 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
490
|
+
const len2 = WASM_VECTOR_LEN;
|
|
491
|
+
const ptr3 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
492
|
+
const len3 = WASM_VECTOR_LEN;
|
|
493
|
+
wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
494
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
495
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
496
|
+
deferred5_0 = r0;
|
|
497
|
+
deferred5_1 = r1;
|
|
498
|
+
return getStringFromWasm0(r0, r1);
|
|
499
|
+
} finally {
|
|
500
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
501
|
+
wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
|
|
502
|
+
}
|
|
597
503
|
};
|
|
598
504
|
|
|
599
505
|
const path = require('path').join(__dirname, 'bitmark_wasm_bg.wasm');
|
|
Binary file
|
|
@@ -3,15 +3,12 @@
|
|
|
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) => 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) => void;
|
|
7
7
|
export const convert_text: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
8
8
|
export const count_bits: (a: number, b: number, c: number) => void;
|
|
9
|
-
export const fullize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
10
9
|
export const info: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
11
10
|
export const is_bitmark: (a: number, b: number) => number;
|
|
12
11
|
export const lex: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
13
|
-
export const optimize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
14
|
-
export const parse: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
15
12
|
export const prettify: (a: number, b: number, c: number, d: number) => void;
|
|
16
13
|
export const split_bits: (a: number, b: number, c: number) => void;
|
|
17
14
|
export const split_json_bits: (a: number, b: number, c: number) => void;
|