@parsanol/wasm 0.18.8 → 0.18.10

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "Ribose Inc. <open.source@ribose.com>"
6
6
  ],
7
7
  "description": "Parsanol PEG parser — WebAssembly bindings",
8
- "version": "0.18.8",
8
+ "version": "0.18.10",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",
package/parsanol.d.ts CHANGED
@@ -25,6 +25,12 @@ export class PargArtifactJs {
25
25
  * Parse and bind in one step.
26
26
  */
27
27
  parseAndBind(entry: string, input: string): string;
28
+ /**
29
+ * Best-effort recovery (TODO.sota/1): success returns
30
+ * `{"ok": true, "shape": ...}`; failure returns
31
+ * `{"ok": false, "captures": ..., "error": ..., "consumed_upto"}`.
32
+ */
33
+ parseShapeRecovering(entry: string, input: string): string;
28
34
  /**
29
35
  * Parse an entry with the native engine; returns the parsanol-shape
30
36
  * tree as JSON text.
@@ -135,6 +141,7 @@ export interface InitOutput {
135
141
  readonly pargartifactjs_new: (a: number, b: number) => [number, number, number];
136
142
  readonly pargartifactjs_parseAndBind: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
137
143
  readonly pargartifactjs_parseShape: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
144
+ readonly pargartifactjs_parseShapeRecovering: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
138
145
  readonly pargartifactjs_runTests: (a: number) => [number, number, number];
139
146
  readonly pargartifactjs_schema: (a: number) => [number, number, number];
140
147
  readonly parsanol_c_last_error: () => number;
package/parsanol.js CHANGED
@@ -75,6 +75,25 @@ export class PargArtifactJs {
75
75
  }
76
76
  return takeFromExternrefTable0(ret[0]);
77
77
  }
78
+ /**
79
+ * Best-effort recovery (TODO.sota/1): success returns
80
+ * `{"ok": true, "shape": ...}`; failure returns
81
+ * `{"ok": false, "captures": ..., "error": ..., "consumed_upto"}`.
82
+ * @param {string} entry
83
+ * @param {string} input
84
+ * @returns {string}
85
+ */
86
+ parseShapeRecovering(entry, input) {
87
+ const ptr0 = passStringToWasm0(entry, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
88
+ const len0 = WASM_VECTOR_LEN;
89
+ const ptr1 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
90
+ const len1 = WASM_VECTOR_LEN;
91
+ const ret = wasm.pargartifactjs_parseShapeRecovering(this.__wbg_ptr, ptr0, len0, ptr1, len1);
92
+ if (ret[2]) {
93
+ throw takeFromExternrefTable0(ret[1]);
94
+ }
95
+ return takeFromExternrefTable0(ret[0]);
96
+ }
78
97
  /**
79
98
  * Parse an entry with the native engine; returns the parsanol-shape
80
99
  * tree as JSON text.
package/parsanol_bg.wasm CHANGED
Binary file
@@ -9,6 +9,7 @@ export const pargartifactjs_entryNames: (a: number) => [number, number];
9
9
  export const pargartifactjs_new: (a: number, b: number) => [number, number, number];
10
10
  export const pargartifactjs_parseAndBind: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
11
11
  export const pargartifactjs_parseShape: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
12
+ export const pargartifactjs_parseShapeRecovering: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
12
13
  export const pargartifactjs_runTests: (a: number) => [number, number, number];
13
14
  export const pargartifactjs_schema: (a: number) => [number, number, number];
14
15
  export const parsanol_c_last_error: () => number;