@gmb/bitmark-parser 6.10.1 → 6.11.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.
Files changed (50) hide show
  1. package/README.md +288 -22
  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 +1053 -345
  5. package/dist/browser/cjs/index.cjs.map +1 -1
  6. package/dist/browser/cjs/index.d.cts +1175 -34
  7. package/dist/browser/esm/index.d.ts +1175 -34
  8. package/dist/browser/esm/index.js +1048 -345
  9. package/dist/browser/esm/index.js.map +1 -1
  10. package/dist/browser/esm/worker-entry.js +712 -96
  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 +124 -32
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +1175 -34
  18. package/dist/index.d.ts +1175 -34
  19. package/dist/index.js +119 -32
  20. package/dist/index.js.map +1 -1
  21. package/dist/legacy.cjs +4 -4
  22. package/dist/legacy.cjs.map +1 -1
  23. package/dist/legacy.js +4 -4
  24. package/dist/legacy.js.map +1 -1
  25. package/dist/worker-entry.cjs +7 -1
  26. package/dist/worker-entry.cjs.map +1 -1
  27. package/package.json +14 -8
  28. package/schema/bitmark.schema.json +2746 -573
  29. package/translations/translations.json +2940 -0
  30. package/wasm/bitmark_wasm.d.ts +53 -12
  31. package/wasm/bitmark_wasm.js +171 -47
  32. package/wasm/bitmark_wasm_bg.wasm +0 -0
  33. package/wasm/bitmark_wasm_bg.wasm.d.ts +4 -1
  34. package/wasm/package.json +1 -1
  35. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +39 -12
  36. package/wasm-bitmark-json/bitmark_json_wasm.js +129 -53
  37. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
  38. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +3 -1
  39. package/wasm-bitmark-json/package.json +1 -1
  40. package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +149 -0
  41. package/wasm-browser-full/bitmark_browser_full_wasm.js +647 -0
  42. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
  43. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm.d.ts +23 -0
  44. package/wasm-browser-full/package.json +20 -0
  45. package/dist/browser/bitmark_json_wasm_bg.wasm +0 -0
  46. package/dist/browser/bitmark_wasm_bg.wasm +0 -0
  47. package/dist/browser/cjs/bitmark_json_wasm_bg.wasm +0 -0
  48. package/dist/browser/cjs/bitmark_wasm_bg.wasm +0 -0
  49. package/dist/browser/esm/bitmark_json_wasm_bg.wasm +0 -0
  50. package/dist/browser/esm/bitmark_wasm_bg.wasm +0 -0
@@ -0,0 +1,647 @@
1
+
2
+ let imports = {};
3
+ let wasm;
4
+ const { TextEncoder, TextDecoder } = require(`util`);
5
+
6
+ let WASM_VECTOR_LEN = 0;
7
+
8
+ let cachedUint8ArrayMemory0 = null;
9
+
10
+ function getUint8ArrayMemory0() {
11
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
12
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
13
+ }
14
+ return cachedUint8ArrayMemory0;
15
+ }
16
+
17
+ let cachedTextEncoder = new TextEncoder('utf-8');
18
+
19
+ const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
20
+ ? function (arg, view) {
21
+ return cachedTextEncoder.encodeInto(arg, view);
22
+ }
23
+ : function (arg, view) {
24
+ const buf = cachedTextEncoder.encode(arg);
25
+ view.set(buf);
26
+ return {
27
+ read: arg.length,
28
+ written: buf.length
29
+ };
30
+ });
31
+
32
+ function passStringToWasm0(arg, malloc, realloc) {
33
+
34
+ if (realloc === undefined) {
35
+ const buf = cachedTextEncoder.encode(arg);
36
+ const ptr = malloc(buf.length, 1) >>> 0;
37
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
38
+ WASM_VECTOR_LEN = buf.length;
39
+ return ptr;
40
+ }
41
+
42
+ let len = arg.length;
43
+ let ptr = malloc(len, 1) >>> 0;
44
+
45
+ const mem = getUint8ArrayMemory0();
46
+
47
+ let offset = 0;
48
+
49
+ for (; offset < len; offset++) {
50
+ const code = arg.charCodeAt(offset);
51
+ if (code > 0x7F) break;
52
+ mem[ptr + offset] = code;
53
+ }
54
+
55
+ if (offset !== len) {
56
+ if (offset !== 0) {
57
+ arg = arg.slice(offset);
58
+ }
59
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
60
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
61
+ const ret = encodeString(arg, view);
62
+
63
+ offset += ret.written;
64
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
65
+ }
66
+
67
+ WASM_VECTOR_LEN = offset;
68
+ return ptr;
69
+ }
70
+
71
+ let cachedDataViewMemory0 = null;
72
+
73
+ function getDataViewMemory0() {
74
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
75
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
76
+ }
77
+ return cachedDataViewMemory0;
78
+ }
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
+ /**
89
+ * Lex bitmark input text, returning one line per token in the same format as
90
+ * the Rust CLI: `{kind:?} {span:?} "{text}"`.
91
+ *
92
+ * `stage` selects the lexer pipeline:
93
+ * - `"lex"` — combined (default)
94
+ * - `"lex-json"` — combined, JSON array output
95
+ * @param {string} input
96
+ * @param {string} stage
97
+ * @returns {string}
98
+ */
99
+ module.exports.lex = function(input, stage) {
100
+ let deferred3_0;
101
+ let deferred3_1;
102
+ try {
103
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
104
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
105
+ const len0 = WASM_VECTOR_LEN;
106
+ const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
107
+ const len1 = WASM_VECTOR_LEN;
108
+ wasm.lex(retptr, ptr0, len0, ptr1, len1);
109
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
110
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
111
+ deferred3_0 = r0;
112
+ deferred3_1 = r1;
113
+ return getStringFromWasm0(r0, r1);
114
+ } finally {
115
+ wasm.__wbindgen_add_to_stack_pointer(16);
116
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
117
+ }
118
+ };
119
+
120
+ /**
121
+ * Breakscape text (escape bitmark special characters).
122
+ *
123
+ * `format`: `"bitmark++"` (default) or `"plainText"`
124
+ * `location`: `"body"` (default) or `"tag"`
125
+ * @param {string} input
126
+ * @param {string} format
127
+ * @param {string} location
128
+ * @returns {string}
129
+ */
130
+ module.exports.breakscape_text = function(input, format, location) {
131
+ let deferred4_0;
132
+ let deferred4_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(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
138
+ const len1 = WASM_VECTOR_LEN;
139
+ const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
140
+ const len2 = WASM_VECTOR_LEN;
141
+ wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
142
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
143
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
144
+ deferred4_0 = r0;
145
+ deferred4_1 = r1;
146
+ return getStringFromWasm0(r0, r1);
147
+ } finally {
148
+ wasm.__wbindgen_add_to_stack_pointer(16);
149
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
150
+ }
151
+ };
152
+
153
+ /**
154
+ * Unbreakscape text (unescape bitmark special characters).
155
+ *
156
+ * `format`: `"bitmark++"` (default) or `"plainText"`
157
+ * `location`: `"body"` (default) or `"tag"`
158
+ * @param {string} input
159
+ * @param {string} format
160
+ * @param {string} location
161
+ * @returns {string}
162
+ */
163
+ module.exports.unbreakscape_text = function(input, format, location) {
164
+ let deferred4_0;
165
+ let deferred4_1;
166
+ try {
167
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
168
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
169
+ const len0 = WASM_VECTOR_LEN;
170
+ const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
171
+ const len1 = WASM_VECTOR_LEN;
172
+ const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
173
+ const len2 = WASM_VECTOR_LEN;
174
+ wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
175
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
176
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
177
+ deferred4_0 = r0;
178
+ deferred4_1 = r1;
179
+ return getStringFromWasm0(r0, r1);
180
+ } finally {
181
+ wasm.__wbindgen_add_to_stack_pointer(16);
182
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
183
+ }
184
+ };
185
+
186
+ /**
187
+ * Query information about supported bit types.
188
+ *
189
+ * `info_type`: `"list"`, `"bit"`, `"all"`, `"deprecated"`, `"bit-groups"`,
190
+ * or `"resource-groups"`
191
+ * `format`: `"text"` or `"json"`
192
+ * `bit`: bit name (required when `info_type` is `"bit"`)
193
+ * `pretty`: whether to pretty-print JSON output
194
+ * `indent`: indent size for pretty-printing (default: 2)
195
+ * `include_deprecated`: include deprecated bits in `list`/`all` (PLAN-149)
196
+ * `only_deprecated`: restrict `list`/`all` to deprecated bits (wins over
197
+ * `include_deprecated`)
198
+ * `full`: complete outline for `bit`/`all` (default is the compact
199
+ * one-line-per-tag view)
200
+ * `language`: BCP-47 tag(s) for display names — "" = English, `"de,fr"` for
201
+ * several (adds a `titles` map), `"all"` for every resolvable language
202
+ * @param {string} info_type
203
+ * @param {string} format
204
+ * @param {string} bit
205
+ * @param {boolean} pretty
206
+ * @param {number} indent
207
+ * @param {boolean} include_deprecated
208
+ * @param {boolean} only_deprecated
209
+ * @param {boolean} full
210
+ * @param {string} language
211
+ * @returns {string}
212
+ */
213
+ module.exports.info = function(info_type, format, bit, pretty, indent, include_deprecated, only_deprecated, full, language) {
214
+ let deferred5_0;
215
+ let deferred5_1;
216
+ try {
217
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
218
+ const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
219
+ const len0 = WASM_VECTOR_LEN;
220
+ const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
221
+ const len1 = WASM_VECTOR_LEN;
222
+ const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
223
+ const len2 = WASM_VECTOR_LEN;
224
+ const ptr3 = passStringToWasm0(language, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
225
+ const len3 = WASM_VECTOR_LEN;
226
+ wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, include_deprecated, only_deprecated, full, ptr3, len3);
227
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
228
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
229
+ deferred5_0 = r0;
230
+ deferred5_1 = r1;
231
+ return getStringFromWasm0(r0, r1);
232
+ } finally {
233
+ wasm.__wbindgen_add_to_stack_pointer(16);
234
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
235
+ }
236
+ };
237
+
238
+ /**
239
+ * Convert a standalone bitmark text fragment ↔ TextAst (ProseMirror JSON).
240
+ *
241
+ * `direction`: `"textToAst"` | `"astToText"` | `"astToPlainText"`.
242
+ * `format`: a bitmark text format (`"bitmark++"`, `"bitmark+"`) parses
243
+ * inline marks; anything else is treated as plain text (textToAst only).
244
+ * `location`: `"body"` (default) or `"tag"`.
245
+ * Returns the converted fragment, or `error: …`.
246
+ * @param {string} input
247
+ * @param {string} direction
248
+ * @param {string} format
249
+ * @param {string} location
250
+ * @returns {string}
251
+ */
252
+ module.exports.convert_text = function(input, direction, format, location) {
253
+ let deferred5_0;
254
+ let deferred5_1;
255
+ try {
256
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
257
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
258
+ const len0 = WASM_VECTOR_LEN;
259
+ const ptr1 = passStringToWasm0(direction, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
260
+ const len1 = WASM_VECTOR_LEN;
261
+ const ptr2 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
262
+ const len2 = WASM_VECTOR_LEN;
263
+ const ptr3 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
264
+ const len3 = WASM_VECTOR_LEN;
265
+ wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
266
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
267
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
268
+ deferred5_0 = r0;
269
+ deferred5_1 = r1;
270
+ return getStringFromWasm0(r0, r1);
271
+ } finally {
272
+ wasm.__wbindgen_add_to_stack_pointer(16);
273
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
274
+ }
275
+ };
276
+
277
+ /**
278
+ * Apply a patch (a JSON array of patch entries) to every bit and re-emit.
279
+ *
280
+ * `input_format_sel`: `"auto"` | `"bitmark"` | `"json"`.
281
+ * `output_format_sel`: `"bitmark"` | `"json"` (default json).
282
+ * `patch_json`: the patch entry array (empty string = no patches, i.e. a
283
+ * canonicalizing pass). Parallelism is a JS-side concern (web workers); this
284
+ * runs sequentially. Returns the document text/JSON, or `error: …`.
285
+ * @param {string} input
286
+ * @param {string} input_format_sel
287
+ * @param {string} output_format_sel
288
+ * @param {string} mode
289
+ * @param {string} patch_json
290
+ * @param {boolean} pretty
291
+ * @param {number} indent
292
+ * @param {number} spaces_around_values
293
+ * @returns {string}
294
+ */
295
+ module.exports.transform = function(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
296
+ let deferred6_0;
297
+ let deferred6_1;
298
+ try {
299
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
300
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
301
+ const len0 = WASM_VECTOR_LEN;
302
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
303
+ const len1 = WASM_VECTOR_LEN;
304
+ const ptr2 = passStringToWasm0(output_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
305
+ const len2 = WASM_VECTOR_LEN;
306
+ const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
307
+ const len3 = WASM_VECTOR_LEN;
308
+ const ptr4 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
309
+ const len4 = WASM_VECTOR_LEN;
310
+ wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
311
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
312
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
313
+ deferred6_0 = r0;
314
+ deferred6_1 = r1;
315
+ return getStringFromWasm0(r0, r1);
316
+ } finally {
317
+ wasm.__wbindgen_add_to_stack_pointer(16);
318
+ wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
319
+ }
320
+ };
321
+
322
+ /**
323
+ * Resolve a patch document against `input` (bitmark or JSON) into the
324
+ * ordered output items, so a JS per-bit planner (hooks, worker pool) can
325
+ * reorder, drop and insert jobs from the one Rust implementation
326
+ * (PLAN-179). Returns a JSON array of
327
+ * `{ "source": <original index> | null, "bit": <inner bit> | null,
328
+ * "patch": [ … ] }`, or `error: …`.
329
+ * @param {string} input
330
+ * @param {string} patch_json
331
+ * @returns {string}
332
+ */
333
+ module.exports.resolve_patch_document = function(input, patch_json) {
334
+ let deferred3_0;
335
+ let deferred3_1;
336
+ try {
337
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
338
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
339
+ const len0 = WASM_VECTOR_LEN;
340
+ const ptr1 = passStringToWasm0(patch_json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
341
+ const len1 = WASM_VECTOR_LEN;
342
+ wasm.resolve_patch_document(retptr, ptr0, len0, ptr1, len1);
343
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
344
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
345
+ deferred3_0 = r0;
346
+ deferred3_1 = r1;
347
+ return getStringFromWasm0(r0, r1);
348
+ } finally {
349
+ wasm.__wbindgen_add_to_stack_pointer(16);
350
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
351
+ }
352
+ };
353
+
354
+ /**
355
+ * Semantic diff of two documents (PLAN-179). Flat arguments like every
356
+ * other export:
357
+ * - `input_format`: `"auto"` | `"bitmark"` | `"json"` | a mapping id,
358
+ * applied to both sides;
359
+ * - `output_format`: `"bitmark"` (unified-style text) | `"json"` |
360
+ * `"patch"`;
361
+ * - `context`, `locate`, `similarity`, `bbox_tolerance`,
362
+ * `spaces_around_values` as documented on `DiffOptions`.
363
+ * Returns the diff (empty text / `[]` of unchanged bits / a patch document
364
+ * with no entries when the documents are semantically equal), or
365
+ * `error: …`.
366
+ * @param {string} a
367
+ * @param {string} b
368
+ * @param {string} input_format_sel
369
+ * @param {string} output_format_sel
370
+ * @param {number} context
371
+ * @param {boolean} locate
372
+ * @param {number} similarity
373
+ * @param {number} bbox_tolerance
374
+ * @param {number} spaces_around_values
375
+ * @returns {string}
376
+ */
377
+ module.exports.diff = function(a, b, input_format_sel, output_format_sel, context, locate, similarity, bbox_tolerance, spaces_around_values) {
378
+ let deferred5_0;
379
+ let deferred5_1;
380
+ try {
381
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
382
+ const ptr0 = passStringToWasm0(a, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
383
+ const len0 = WASM_VECTOR_LEN;
384
+ const ptr1 = passStringToWasm0(b, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
385
+ const len1 = WASM_VECTOR_LEN;
386
+ const ptr2 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
387
+ const len2 = WASM_VECTOR_LEN;
388
+ const ptr3 = passStringToWasm0(output_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
389
+ const len3 = WASM_VECTOR_LEN;
390
+ wasm.diff(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, context, locate, similarity, bbox_tolerance, spaces_around_values);
391
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
392
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
393
+ deferred5_0 = r0;
394
+ deferred5_1 = r1;
395
+ return getStringFromWasm0(r0, r1);
396
+ } finally {
397
+ wasm.__wbindgen_add_to_stack_pointer(16);
398
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
399
+ }
400
+ };
401
+
402
+ /**
403
+ * Register data with the parser process (PLAN-173 P12).
404
+ *
405
+ * `data_type`: `"translations"` today. One verb rather than one function per
406
+ * registerable thing — the same discriminated-options idiom as `info`.
407
+ *
408
+ * `data` is the file's own text. Semantics are REPLACE: a second call
409
+ * supersedes the first entirely, and the built-in table (where the variant
410
+ * bakes one) stays underneath. Returns `""` on success, or an
411
+ * `error:`-prefixed message — matching the other string-returning exports.
412
+ *
413
+ * Available in EVERY variant, including those that bake nothing: that is
414
+ * exactly where a consumer must supply the file themselves.
415
+ * @param {string} data_type
416
+ * @param {string} data
417
+ * @returns {string}
418
+ */
419
+ module.exports.register = function(data_type, data) {
420
+ let deferred3_0;
421
+ let deferred3_1;
422
+ try {
423
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
424
+ const ptr0 = passStringToWasm0(data_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
425
+ const len0 = WASM_VECTOR_LEN;
426
+ const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
427
+ const len1 = WASM_VECTOR_LEN;
428
+ wasm.register(retptr, ptr0, len0, ptr1, len1);
429
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
430
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
431
+ deferred3_0 = r0;
432
+ deferred3_1 = r1;
433
+ return getStringFromWasm0(r0, r1);
434
+ } finally {
435
+ wasm.__wbindgen_add_to_stack_pointer(16);
436
+ wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
437
+ }
438
+ };
439
+
440
+ /**
441
+ * Convert between bitmark and JSON with explicit input/output formats + mode.
442
+ *
443
+ * `input_format`: `"auto"` (default) | `"bitmark"` | `"json"`.
444
+ * `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"`.
445
+ * `mode`: `"optimized"` (default) | `"full"`.
446
+ * `mapping_report`: replace the output with a human-readable report of the
447
+ * input→output mappings, including inputs that are NOT mapped (PLAN-147).
448
+ * Returns the converted text/JSON, or a string prefixed `error:` on failure.
449
+ * @param {string} input
450
+ * @param {string} input_format_sel
451
+ * @param {string} output_format_sel
452
+ * @param {string} mode
453
+ * @param {boolean} pretty
454
+ * @param {number} indent
455
+ * @param {number} spaces_around_values
456
+ * @param {boolean} include_unknown_properties
457
+ * @param {boolean} mapping_report
458
+ * @returns {string}
459
+ */
460
+ module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
461
+ let deferred5_0;
462
+ let deferred5_1;
463
+ try {
464
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
465
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
466
+ const len0 = WASM_VECTOR_LEN;
467
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
468
+ const len1 = WASM_VECTOR_LEN;
469
+ const ptr2 = passStringToWasm0(output_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
470
+ const len2 = WASM_VECTOR_LEN;
471
+ const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
472
+ const len3 = WASM_VECTOR_LEN;
473
+ wasm.convert(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report);
474
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
475
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
476
+ deferred5_0 = r0;
477
+ deferred5_1 = r1;
478
+ return getStringFromWasm0(r0, r1);
479
+ } finally {
480
+ wasm.__wbindgen_add_to_stack_pointer(16);
481
+ wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
482
+ }
483
+ };
484
+
485
+ /**
486
+ * Re-emit input in its own format in canonical form at `mode`.
487
+ *
488
+ * `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | any config
489
+ * mapping id (`html`, `xml`, …). The output is re-emitted in this same format.
490
+ * @param {string} input
491
+ * @param {string} input_format_sel
492
+ * @param {string} mode
493
+ * @param {boolean} pretty
494
+ * @param {number} indent
495
+ * @param {number} spaces_around_values
496
+ * @returns {string}
497
+ */
498
+ module.exports.canonicalize = function(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
499
+ let deferred4_0;
500
+ let deferred4_1;
501
+ try {
502
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
503
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
504
+ const len0 = WASM_VECTOR_LEN;
505
+ const ptr1 = passStringToWasm0(input_format_sel, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
506
+ const len1 = WASM_VECTOR_LEN;
507
+ const ptr2 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
508
+ const len2 = WASM_VECTOR_LEN;
509
+ wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
510
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
511
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
512
+ deferred4_0 = r0;
513
+ deferred4_1 = r1;
514
+ return getStringFromWasm0(r0, r1);
515
+ } finally {
516
+ wasm.__wbindgen_add_to_stack_pointer(16);
517
+ wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
518
+ }
519
+ };
520
+
521
+ /**
522
+ * Count the bits in `input` (auto-detecting bitmark vs JSON).
523
+ * Returns the count as a decimal string, or `error: …`.
524
+ * @param {string} input
525
+ * @returns {string}
526
+ */
527
+ module.exports.count_bits = function(input) {
528
+ let deferred2_0;
529
+ let deferred2_1;
530
+ try {
531
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
532
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
533
+ const len0 = WASM_VECTOR_LEN;
534
+ wasm.count_bits(retptr, ptr0, len0);
535
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
536
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
537
+ deferred2_0 = r0;
538
+ deferred2_1 = r1;
539
+ return getStringFromWasm0(r0, r1);
540
+ } finally {
541
+ wasm.__wbindgen_add_to_stack_pointer(16);
542
+ wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
543
+ }
544
+ };
545
+
546
+ /**
547
+ * Split a bitmark document into per-bit source slices.
548
+ *
549
+ * Returns a JSON array of `{ index, byteStart, byteEnd, source }`. Lets a JS
550
+ * caller chunk a document at bit boundaries (e.g. to feed a worker pool).
551
+ * @param {string} input
552
+ * @returns {string}
553
+ */
554
+ module.exports.split_bits = function(input) {
555
+ let deferred2_0;
556
+ let deferred2_1;
557
+ try {
558
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
559
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
560
+ const len0 = WASM_VECTOR_LEN;
561
+ wasm.split_bits(retptr, ptr0, len0);
562
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
563
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
564
+ deferred2_0 = r0;
565
+ deferred2_1 = r1;
566
+ return getStringFromWasm0(r0, r1);
567
+ } finally {
568
+ wasm.__wbindgen_add_to_stack_pointer(16);
569
+ wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
570
+ }
571
+ };
572
+
573
+ /**
574
+ * Whether `input` looks like bitmark (vs JSON). Mirrors the auto-detection
575
+ * used across the API so a JS caller can resolve `"auto"` consistently.
576
+ * @param {string} input
577
+ * @returns {boolean}
578
+ */
579
+ module.exports.is_bitmark = function(input) {
580
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
581
+ const len0 = WASM_VECTOR_LEN;
582
+ const ret = wasm.is_bitmark(ptr0, len0);
583
+ return ret !== 0;
584
+ };
585
+
586
+ /**
587
+ * Split a JSON document (a top-level array of bit envelopes) into its per-bit
588
+ * envelope objects, returned as a JSON array string. Lets a JS caller iterate
589
+ * JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
590
+ * Returns `error: …` if the input is not a JSON array of bits.
591
+ * @param {string} input
592
+ * @returns {string}
593
+ */
594
+ module.exports.split_json_bits = function(input) {
595
+ let deferred2_0;
596
+ let deferred2_1;
597
+ try {
598
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
599
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
600
+ const len0 = WASM_VECTOR_LEN;
601
+ wasm.split_json_bits(retptr, ptr0, len0);
602
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
603
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
604
+ deferred2_0 = r0;
605
+ deferred2_1 = r1;
606
+ return getStringFromWasm0(r0, r1);
607
+ } finally {
608
+ wasm.__wbindgen_add_to_stack_pointer(16);
609
+ wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
610
+ }
611
+ };
612
+
613
+ /**
614
+ * Pretty-print a compact JSON string with the given indent. Used to format a
615
+ * document recombined on the JS side (the per-bit hook path) so its output
616
+ * matches the in-Rust recombination byte-for-byte.
617
+ * @param {string} json
618
+ * @param {number} indent
619
+ * @returns {string}
620
+ */
621
+ module.exports.prettify = function(json, indent) {
622
+ let deferred2_0;
623
+ let deferred2_1;
624
+ try {
625
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
626
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
627
+ const len0 = WASM_VECTOR_LEN;
628
+ wasm.prettify(retptr, ptr0, len0, indent);
629
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
630
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
631
+ deferred2_0 = r0;
632
+ deferred2_1 = r1;
633
+ return getStringFromWasm0(r0, r1);
634
+ } finally {
635
+ wasm.__wbindgen_add_to_stack_pointer(16);
636
+ wasm.__wbindgen_export_2(deferred2_0, deferred2_1, 1);
637
+ }
638
+ };
639
+
640
+ const path = require('path').join(__dirname, 'bitmark_browser_full_wasm_bg.wasm');
641
+ const bytes = require('fs').readFileSync(path);
642
+
643
+ const wasmModule = new WebAssembly.Module(bytes);
644
+ const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
645
+ wasm = wasmInstance.exports;
646
+ module.exports.__wasm = wasm;
647
+
@@ -0,0 +1,23 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const breakscape_text: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
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;
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
+ export const count_bits: (a: number, b: number, c: number) => void;
9
+ export const diff: (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
+ 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;
11
+ export const is_bitmark: (a: number, b: number) => number;
12
+ export const lex: (a: number, b: number, c: number, d: number, e: number) => void;
13
+ export const prettify: (a: number, b: number, c: number, d: number) => void;
14
+ export const register: (a: number, b: number, c: number, d: number, e: number) => void;
15
+ export const resolve_patch_document: (a: number, b: number, c: number, d: number, e: number) => void;
16
+ export const split_bits: (a: number, b: number, c: number) => void;
17
+ export const split_json_bits: (a: number, b: number, c: number) => void;
18
+ 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;
19
+ export const unbreakscape_text: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
20
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
21
+ export const __wbindgen_export_0: (a: number, b: number) => number;
22
+ export const __wbindgen_export_1: (a: number, b: number, c: number, d: number) => number;
23
+ export const __wbindgen_export_2: (a: number, b: number, c: number) => void;
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "bitmark-wasm",
3
+ "collaborators": [
4
+ "Get More Brain Ltd <info@getmorebrain.com>"
5
+ ],
6
+ "description": "WebAssembly bindings for the bitmark parser",
7
+ "version": "6.11.1",
8
+ "license": "ISC",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/getMoreBrain/bitmark-parser"
12
+ },
13
+ "files": [
14
+ "bitmark_browser_full_wasm_bg.wasm",
15
+ "bitmark_browser_full_wasm.js",
16
+ "bitmark_browser_full_wasm.d.ts"
17
+ ],
18
+ "main": "bitmark_browser_full_wasm.js",
19
+ "types": "bitmark_browser_full_wasm.d.ts"
20
+ }