@gmb/bitmark-parser 6.11.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +311 -51
- package/dist/browser/bitmark-parser.min.js +4 -4
- package/dist/browser/bitmark-parser.min.js.map +1 -1
- package/dist/browser/cjs/index.cjs +696 -312
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +487 -74
- package/dist/browser/esm/index.d.ts +487 -74
- package/dist/browser/esm/index.js +693 -311
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/esm/worker-entry.js +578 -210
- package/dist/browser/esm/worker-entry.js.map +1 -1
- package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
- package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
- package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
- package/dist/index.cjs +119 -107
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +487 -74
- package/dist/index.d.ts +487 -74
- package/dist/index.js +116 -106
- package/dist/index.js.map +1 -1
- package/dist/legacy.cjs +8 -30
- package/dist/legacy.cjs.map +1 -1
- package/dist/legacy.d.cts +0 -2
- package/dist/legacy.d.ts +0 -2
- package/dist/legacy.js +8 -30
- package/dist/legacy.js.map +1 -1
- package/dist/worker-entry.cjs +1 -5
- package/dist/worker-entry.cjs.map +1 -1
- package/package.json +7 -7
- package/schema/bitmark.schema.json +496 -139
- package/wasm/bitmark_wasm.d.ts +47 -20
- package/wasm/bitmark_wasm.js +262 -96
- package/wasm/bitmark_wasm_bg.wasm +0 -0
- package/wasm/bitmark_wasm_bg.wasm.d.ts +4 -2
- package/wasm/package.json +1 -1
- package/wasm-bitmark-json/bitmark_json_wasm.d.ts +26 -11
- package/wasm-bitmark-json/bitmark_json_wasm.js +195 -65
- package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
- package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +2 -1
- package/wasm-bitmark-json/package.json +1 -1
- package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +47 -20
- package/wasm-browser-full/bitmark_browser_full_wasm.js +262 -96
- package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
- package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm.d.ts +4 -2
- package/wasm-browser-full/package.json +1 -1
|
@@ -3,14 +3,16 @@
|
|
|
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 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
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 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;
|
|
9
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 info_text_supported: () => number;
|
|
10
12
|
export const is_bitmark: (a: number, b: number) => number;
|
|
11
|
-
export const lex: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
12
13
|
export const prettify: (a: number, b: number, c: number, d: number) => void;
|
|
13
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;
|
|
14
16
|
export const split_bits: (a: number, b: number, c: number) => void;
|
|
15
17
|
export const split_json_bits: (a: number, b: number, c: number) => void;
|
|
16
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;
|
package/wasm/package.json
CHANGED
|
@@ -40,13 +40,13 @@ export function info(info_type: string, format: string, bit: string, pretty: boo
|
|
|
40
40
|
*
|
|
41
41
|
* `data` is the file's own text. Semantics are REPLACE: a second call
|
|
42
42
|
* supersedes the first entirely, and the built-in table (where the variant
|
|
43
|
-
* bakes one) stays underneath.
|
|
44
|
-
*
|
|
43
|
+
* bakes one) stays underneath. Throws on bad data — like every other
|
|
44
|
+
* fallible export (PLAN-192 D1).
|
|
45
45
|
*
|
|
46
46
|
* Available in EVERY variant, including those that bake nothing: that is
|
|
47
47
|
* exactly where a consumer must supply the file themselves.
|
|
48
48
|
*/
|
|
49
|
-
export function register(data_type: string, data: string):
|
|
49
|
+
export function register(data_type: string, data: string): void;
|
|
50
50
|
/**
|
|
51
51
|
* Apply a patch (a JSON array of patch entries) to every bit and re-emit.
|
|
52
52
|
*
|
|
@@ -54,20 +54,35 @@ export function register(data_type: string, data: string): string;
|
|
|
54
54
|
* `output_format_sel`: `"bitmark"` | `"json"` (default json).
|
|
55
55
|
* `patch_json`: the patch entry array (empty string = no patches, i.e. a
|
|
56
56
|
* canonicalizing pass). Parallelism is a JS-side concern (web workers); this
|
|
57
|
-
* runs sequentially. Returns the document text/JSON
|
|
57
|
+
* runs sequentially. Returns the document text/JSON; throws on failure.
|
|
58
58
|
*/
|
|
59
59
|
export function transform(input: string, input_format_sel: string, output_format_sel: string, mode: string, patch_json: string, pretty: boolean, indent: number, spaces_around_values: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* Resolve a patch document against `input` (bitmark or JSON) into the
|
|
62
|
+
* ordered output items, so a JS per-bit planner (hooks, worker pool) can
|
|
63
|
+
* reorder, drop and insert jobs from the one Rust implementation
|
|
64
|
+
* (PLAN-179). Returns a JSON array of
|
|
65
|
+
* `{ "source": <original index> | null, "bit": <inner bit> | null,
|
|
66
|
+
* "patch": [ … ] }`; throws on failure.
|
|
67
|
+
*/
|
|
68
|
+
export function resolve_patch_document(input: string, patch_json: string): string;
|
|
60
69
|
/**
|
|
61
70
|
* Convert between bitmark and JSON with explicit input/output formats + mode.
|
|
62
71
|
*
|
|
63
|
-
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"
|
|
64
|
-
* `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"
|
|
72
|
+
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | a mapping id.
|
|
73
|
+
* `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"` |
|
|
74
|
+
* `"text"` | `"lex"` (the token stream as JSON, bitmark input only) | a
|
|
75
|
+
* mapping id.
|
|
65
76
|
* `mode`: `"optimized"` (default) | `"full"`.
|
|
66
77
|
* `mapping_report`: replace the output with a human-readable report of the
|
|
67
78
|
* input→output mappings, including inputs that are NOT mapped (PLAN-147).
|
|
68
|
-
*
|
|
79
|
+
* `position_encoding`: `"utf-16"` (default) | `"utf-8"` and `tokens_layout`:
|
|
80
|
+
* `"lsp"` (default) | `"absolute"` — the `semantic-tokens` output's two
|
|
81
|
+
* options (PLAN-193); `""` means the default, and every other output
|
|
82
|
+
* format ignores them.
|
|
83
|
+
* Returns the converted text/JSON; throws on failure.
|
|
69
84
|
*/
|
|
70
|
-
export function convert(input: string, input_format_sel: string, output_format_sel: string, mode: string, pretty: boolean, indent: number, spaces_around_values: number, include_unknown_properties: boolean, mapping_report: boolean): string;
|
|
85
|
+
export function convert(input: string, input_format_sel: string, output_format_sel: string, mode: string, pretty: boolean, indent: number, spaces_around_values: number, include_unknown_properties: boolean, mapping_report: boolean, position_encoding: string, tokens_layout: string): string;
|
|
71
86
|
/**
|
|
72
87
|
* Re-emit input in its own format in canonical form at `mode`.
|
|
73
88
|
*
|
|
@@ -77,7 +92,7 @@ export function convert(input: string, input_format_sel: string, output_format_s
|
|
|
77
92
|
export function canonicalize(input: string, input_format_sel: string, mode: string, pretty: boolean, indent: number, spaces_around_values: number): string;
|
|
78
93
|
/**
|
|
79
94
|
* Count the bits in `input` (auto-detecting bitmark vs JSON).
|
|
80
|
-
* Returns the count as a decimal string
|
|
95
|
+
* Returns the count as a decimal string; throws on failure.
|
|
81
96
|
*/
|
|
82
97
|
export function count_bits(input: string): string;
|
|
83
98
|
/**
|
|
@@ -96,7 +111,7 @@ export function is_bitmark(input: string): boolean;
|
|
|
96
111
|
* Split a JSON document (a top-level array of bit envelopes) into its per-bit
|
|
97
112
|
* envelope objects, returned as a JSON array string. Lets a JS caller iterate
|
|
98
113
|
* JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
|
|
99
|
-
*
|
|
114
|
+
* Throws if the input is not a JSON array of bits.
|
|
100
115
|
*/
|
|
101
116
|
export function split_json_bits(input: string): string;
|
|
102
117
|
/**
|
|
@@ -112,6 +127,6 @@ export function prettify(json: string, indent: number): string;
|
|
|
112
127
|
* `format`: a bitmark text format (`"bitmark++"`, `"bitmark+"`) parses
|
|
113
128
|
* inline marks; anything else is treated as plain text (textToAst only).
|
|
114
129
|
* `location`: `"body"` (default) or `"tag"`.
|
|
115
|
-
* Returns the converted fragment
|
|
130
|
+
* Returns the converted fragment; throws on failure.
|
|
116
131
|
*/
|
|
117
132
|
export function convert_text(input: string, direction: string, format: string, location: string): string;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
let imports = {};
|
|
3
|
+
imports['__wbindgen_placeholder__'] = module.exports;
|
|
3
4
|
let wasm;
|
|
4
|
-
const {
|
|
5
|
+
const { TextDecoder, TextEncoder } = require(`util`);
|
|
5
6
|
|
|
6
|
-
let
|
|
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.
|
|
215
|
-
*
|
|
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
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
|
|
@@ -248,7 +273,7 @@ module.exports.register = function(data_type, data) {
|
|
|
248
273
|
* `output_format_sel`: `"bitmark"` | `"json"` (default json).
|
|
249
274
|
* `patch_json`: the patch entry array (empty string = no patches, i.e. a
|
|
250
275
|
* canonicalizing pass). Parallelism is a JS-side concern (web workers); this
|
|
251
|
-
* runs sequentially. Returns the document text/JSON
|
|
276
|
+
* runs sequentially. Returns the document text/JSON; throws on failure.
|
|
252
277
|
* @param {string} input
|
|
253
278
|
* @param {string} input_format_sel
|
|
254
279
|
* @param {string} output_format_sel
|
|
@@ -260,8 +285,8 @@ module.exports.register = function(data_type, data) {
|
|
|
260
285
|
* @returns {string}
|
|
261
286
|
*/
|
|
262
287
|
module.exports.transform = function(input, input_format_sel, output_format_sel, mode, patch_json, pretty, indent, spaces_around_values) {
|
|
263
|
-
let
|
|
264
|
-
let
|
|
288
|
+
let deferred7_0;
|
|
289
|
+
let deferred7_1;
|
|
265
290
|
try {
|
|
266
291
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
267
292
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -277,24 +302,78 @@ module.exports.transform = function(input, input_format_sel, output_format_sel,
|
|
|
277
302
|
wasm.transform(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, pretty, indent, spaces_around_values);
|
|
278
303
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
279
304
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
305
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
306
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
307
|
+
var ptr6 = r0;
|
|
308
|
+
var len6 = r1;
|
|
309
|
+
if (r3) {
|
|
310
|
+
ptr6 = 0; len6 = 0;
|
|
311
|
+
throw takeObject(r2);
|
|
312
|
+
}
|
|
313
|
+
deferred7_0 = ptr6;
|
|
314
|
+
deferred7_1 = len6;
|
|
315
|
+
return getStringFromWasm0(ptr6, len6);
|
|
283
316
|
} finally {
|
|
284
317
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
285
|
-
wasm.__wbindgen_export_2(
|
|
318
|
+
wasm.__wbindgen_export_2(deferred7_0, deferred7_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": [ … ] }`; throws on failure.
|
|
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 deferred4_0;
|
|
335
|
+
let deferred4_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
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
346
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
347
|
+
var ptr3 = r0;
|
|
348
|
+
var len3 = r1;
|
|
349
|
+
if (r3) {
|
|
350
|
+
ptr3 = 0; len3 = 0;
|
|
351
|
+
throw takeObject(r2);
|
|
352
|
+
}
|
|
353
|
+
deferred4_0 = ptr3;
|
|
354
|
+
deferred4_1 = len3;
|
|
355
|
+
return getStringFromWasm0(ptr3, len3);
|
|
356
|
+
} finally {
|
|
357
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
358
|
+
wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);
|
|
286
359
|
}
|
|
287
360
|
};
|
|
288
361
|
|
|
289
362
|
/**
|
|
290
363
|
* Convert between bitmark and JSON with explicit input/output formats + mode.
|
|
291
364
|
*
|
|
292
|
-
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"
|
|
293
|
-
* `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"
|
|
365
|
+
* `input_format`: `"auto"` (default) | `"bitmark"` | `"json"` | a mapping id.
|
|
366
|
+
* `output_format`: `"auto"` (opposite of input) | `"bitmark"` | `"json"` |
|
|
367
|
+
* `"text"` | `"lex"` (the token stream as JSON, bitmark input only) | a
|
|
368
|
+
* mapping id.
|
|
294
369
|
* `mode`: `"optimized"` (default) | `"full"`.
|
|
295
370
|
* `mapping_report`: replace the output with a human-readable report of the
|
|
296
371
|
* input→output mappings, including inputs that are NOT mapped (PLAN-147).
|
|
297
|
-
*
|
|
372
|
+
* `position_encoding`: `"utf-16"` (default) | `"utf-8"` and `tokens_layout`:
|
|
373
|
+
* `"lsp"` (default) | `"absolute"` — the `semantic-tokens` output's two
|
|
374
|
+
* options (PLAN-193); `""` means the default, and every other output
|
|
375
|
+
* format ignores them.
|
|
376
|
+
* Returns the converted text/JSON; throws on failure.
|
|
298
377
|
* @param {string} input
|
|
299
378
|
* @param {string} input_format_sel
|
|
300
379
|
* @param {string} output_format_sel
|
|
@@ -304,11 +383,13 @@ module.exports.transform = function(input, input_format_sel, output_format_sel,
|
|
|
304
383
|
* @param {number} spaces_around_values
|
|
305
384
|
* @param {boolean} include_unknown_properties
|
|
306
385
|
* @param {boolean} mapping_report
|
|
386
|
+
* @param {string} position_encoding
|
|
387
|
+
* @param {string} tokens_layout
|
|
307
388
|
* @returns {string}
|
|
308
389
|
*/
|
|
309
|
-
module.exports.convert = function(input, input_format_sel, output_format_sel, mode, pretty, indent, spaces_around_values, include_unknown_properties, mapping_report) {
|
|
310
|
-
let
|
|
311
|
-
let
|
|
390
|
+
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) {
|
|
391
|
+
let deferred8_0;
|
|
392
|
+
let deferred8_1;
|
|
312
393
|
try {
|
|
313
394
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
314
395
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -319,15 +400,27 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
|
|
|
319
400
|
const len2 = WASM_VECTOR_LEN;
|
|
320
401
|
const ptr3 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
321
402
|
const len3 = WASM_VECTOR_LEN;
|
|
322
|
-
|
|
403
|
+
const ptr4 = passStringToWasm0(position_encoding, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
404
|
+
const len4 = WASM_VECTOR_LEN;
|
|
405
|
+
const ptr5 = passStringToWasm0(tokens_layout, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
406
|
+
const len5 = WASM_VECTOR_LEN;
|
|
407
|
+
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);
|
|
323
408
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
324
409
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
410
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
411
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
412
|
+
var ptr7 = r0;
|
|
413
|
+
var len7 = r1;
|
|
414
|
+
if (r3) {
|
|
415
|
+
ptr7 = 0; len7 = 0;
|
|
416
|
+
throw takeObject(r2);
|
|
417
|
+
}
|
|
418
|
+
deferred8_0 = ptr7;
|
|
419
|
+
deferred8_1 = len7;
|
|
420
|
+
return getStringFromWasm0(ptr7, len7);
|
|
328
421
|
} finally {
|
|
329
422
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
330
|
-
wasm.__wbindgen_export_2(
|
|
423
|
+
wasm.__wbindgen_export_2(deferred8_0, deferred8_1, 1);
|
|
331
424
|
}
|
|
332
425
|
};
|
|
333
426
|
|
|
@@ -345,8 +438,8 @@ module.exports.convert = function(input, input_format_sel, output_format_sel, mo
|
|
|
345
438
|
* @returns {string}
|
|
346
439
|
*/
|
|
347
440
|
module.exports.canonicalize = function(input, input_format_sel, mode, pretty, indent, spaces_around_values) {
|
|
348
|
-
let
|
|
349
|
-
let
|
|
441
|
+
let deferred5_0;
|
|
442
|
+
let deferred5_1;
|
|
350
443
|
try {
|
|
351
444
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
352
445
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -358,24 +451,32 @@ module.exports.canonicalize = function(input, input_format_sel, mode, pretty, in
|
|
|
358
451
|
wasm.canonicalize(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent, spaces_around_values);
|
|
359
452
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
360
453
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
454
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
455
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
456
|
+
var ptr4 = r0;
|
|
457
|
+
var len4 = r1;
|
|
458
|
+
if (r3) {
|
|
459
|
+
ptr4 = 0; len4 = 0;
|
|
460
|
+
throw takeObject(r2);
|
|
461
|
+
}
|
|
462
|
+
deferred5_0 = ptr4;
|
|
463
|
+
deferred5_1 = len4;
|
|
464
|
+
return getStringFromWasm0(ptr4, len4);
|
|
364
465
|
} finally {
|
|
365
466
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
366
|
-
wasm.__wbindgen_export_2(
|
|
467
|
+
wasm.__wbindgen_export_2(deferred5_0, deferred5_1, 1);
|
|
367
468
|
}
|
|
368
469
|
};
|
|
369
470
|
|
|
370
471
|
/**
|
|
371
472
|
* Count the bits in `input` (auto-detecting bitmark vs JSON).
|
|
372
|
-
* Returns the count as a decimal string
|
|
473
|
+
* Returns the count as a decimal string; throws on failure.
|
|
373
474
|
* @param {string} input
|
|
374
475
|
* @returns {string}
|
|
375
476
|
*/
|
|
376
477
|
module.exports.count_bits = function(input) {
|
|
377
|
-
let
|
|
378
|
-
let
|
|
478
|
+
let deferred3_0;
|
|
479
|
+
let deferred3_1;
|
|
379
480
|
try {
|
|
380
481
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
381
482
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -383,12 +484,20 @@ module.exports.count_bits = function(input) {
|
|
|
383
484
|
wasm.count_bits(retptr, ptr0, len0);
|
|
384
485
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
385
486
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
487
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
488
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
489
|
+
var ptr2 = r0;
|
|
490
|
+
var len2 = r1;
|
|
491
|
+
if (r3) {
|
|
492
|
+
ptr2 = 0; len2 = 0;
|
|
493
|
+
throw takeObject(r2);
|
|
494
|
+
}
|
|
495
|
+
deferred3_0 = ptr2;
|
|
496
|
+
deferred3_1 = len2;
|
|
497
|
+
return getStringFromWasm0(ptr2, len2);
|
|
389
498
|
} finally {
|
|
390
499
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
391
|
-
wasm.__wbindgen_export_2(
|
|
500
|
+
wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
|
|
392
501
|
}
|
|
393
502
|
};
|
|
394
503
|
|
|
@@ -436,13 +545,13 @@ module.exports.is_bitmark = function(input) {
|
|
|
436
545
|
* Split a JSON document (a top-level array of bit envelopes) into its per-bit
|
|
437
546
|
* envelope objects, returned as a JSON array string. Lets a JS caller iterate
|
|
438
547
|
* JSON-input bits for per-bit hooks (the JSON counterpart of [`split_bits`]).
|
|
439
|
-
*
|
|
548
|
+
* Throws if the input is not a JSON array of bits.
|
|
440
549
|
* @param {string} input
|
|
441
550
|
* @returns {string}
|
|
442
551
|
*/
|
|
443
552
|
module.exports.split_json_bits = function(input) {
|
|
444
|
-
let
|
|
445
|
-
let
|
|
553
|
+
let deferred3_0;
|
|
554
|
+
let deferred3_1;
|
|
446
555
|
try {
|
|
447
556
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
448
557
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -450,12 +559,20 @@ module.exports.split_json_bits = function(input) {
|
|
|
450
559
|
wasm.split_json_bits(retptr, ptr0, len0);
|
|
451
560
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
452
561
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
562
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
563
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
564
|
+
var ptr2 = r0;
|
|
565
|
+
var len2 = r1;
|
|
566
|
+
if (r3) {
|
|
567
|
+
ptr2 = 0; len2 = 0;
|
|
568
|
+
throw takeObject(r2);
|
|
569
|
+
}
|
|
570
|
+
deferred3_0 = ptr2;
|
|
571
|
+
deferred3_1 = len2;
|
|
572
|
+
return getStringFromWasm0(ptr2, len2);
|
|
456
573
|
} finally {
|
|
457
574
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
458
|
-
wasm.__wbindgen_export_2(
|
|
575
|
+
wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);
|
|
459
576
|
}
|
|
460
577
|
};
|
|
461
578
|
|
|
@@ -493,7 +610,7 @@ module.exports.prettify = function(json, indent) {
|
|
|
493
610
|
* `format`: a bitmark text format (`"bitmark++"`, `"bitmark+"`) parses
|
|
494
611
|
* inline marks; anything else is treated as plain text (textToAst only).
|
|
495
612
|
* `location`: `"body"` (default) or `"tag"`.
|
|
496
|
-
* Returns the converted fragment
|
|
613
|
+
* Returns the converted fragment; throws on failure.
|
|
497
614
|
* @param {string} input
|
|
498
615
|
* @param {string} direction
|
|
499
616
|
* @param {string} format
|
|
@@ -501,8 +618,8 @@ module.exports.prettify = function(json, indent) {
|
|
|
501
618
|
* @returns {string}
|
|
502
619
|
*/
|
|
503
620
|
module.exports.convert_text = function(input, direction, format, location) {
|
|
504
|
-
let
|
|
505
|
-
let
|
|
621
|
+
let deferred6_0;
|
|
622
|
+
let deferred6_1;
|
|
506
623
|
try {
|
|
507
624
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
508
625
|
const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -516,15 +633,28 @@ module.exports.convert_text = function(input, direction, format, location) {
|
|
|
516
633
|
wasm.convert_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
517
634
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
518
635
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
636
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
637
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
638
|
+
var ptr5 = r0;
|
|
639
|
+
var len5 = r1;
|
|
640
|
+
if (r3) {
|
|
641
|
+
ptr5 = 0; len5 = 0;
|
|
642
|
+
throw takeObject(r2);
|
|
643
|
+
}
|
|
644
|
+
deferred6_0 = ptr5;
|
|
645
|
+
deferred6_1 = len5;
|
|
646
|
+
return getStringFromWasm0(ptr5, len5);
|
|
522
647
|
} finally {
|
|
523
648
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
524
|
-
wasm.__wbindgen_export_2(
|
|
649
|
+
wasm.__wbindgen_export_2(deferred6_0, deferred6_1, 1);
|
|
525
650
|
}
|
|
526
651
|
};
|
|
527
652
|
|
|
653
|
+
module.exports.__wbindgen_error_new = function(arg0, arg1) {
|
|
654
|
+
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
|
655
|
+
return addHeapObject(ret);
|
|
656
|
+
};
|
|
657
|
+
|
|
528
658
|
const path = require('path').join(__dirname, 'bitmark_json_wasm_bg.wasm');
|
|
529
659
|
const bytes = require('fs').readFileSync(path);
|
|
530
660
|
|
|
Binary file
|
|
@@ -3,13 +3,14 @@
|
|
|
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 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
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
9
|
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
10
|
export const is_bitmark: (a: number, b: number) => number;
|
|
11
11
|
export const prettify: (a: number, b: number, c: number, d: number) => void;
|
|
12
12
|
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;
|
|
13
14
|
export const split_bits: (a: number, b: number, c: number) => void;
|
|
14
15
|
export const split_json_bits: (a: number, b: number, c: number) => void;
|
|
15
16
|
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;
|