@docmux/wasm 0.2.0 → 0.4.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.
@@ -26,11 +26,26 @@ export function convertBytes(input: Uint8Array, from: string, to: string): strin
26
26
  */
27
27
  export function convertBytesStandalone(input: Uint8Array, from: string, to: string): string;
28
28
 
29
+ /**
30
+ * Convert binary input to binary output (e.g. DOCX → DOCX), with additional resources.
31
+ */
32
+ export function convertBytesToBytes(input: Uint8Array, from: string, to: string, resources: Map<any, any>): Uint8Array;
33
+
29
34
  /**
30
35
  * Convert a document producing a standalone file (full HTML document, LaTeX with preamble, etc.).
31
36
  */
32
37
  export function convertStandalone(input: string, from: string, to: string): string;
33
38
 
39
+ /**
40
+ * Convert text input to binary output (e.g. markdown → DOCX), with image resources.
41
+ */
42
+ export function convertToBytes(input: string, from: string, to: string, resources: Map<any, any>): Uint8Array;
43
+
44
+ /**
45
+ * Convert text input to string output, with image resources for embedding.
46
+ */
47
+ export function convertWithResources(input: string, from: string, to: string, resources: Map<any, any>): string;
48
+
34
49
  /**
35
50
  * Return a list of supported input format names.
36
51
  */
@@ -1,9 +1,9 @@
1
1
  /* @ts-self-types="./docmux_wasm.d.ts" */
2
-
3
2
  import * as wasm from "./docmux_wasm_bg.wasm";
4
3
  import { __wbg_set_wasm } from "./docmux_wasm_bg.js";
4
+
5
5
  __wbg_set_wasm(wasm);
6
6
 
7
7
  export {
8
- convert, convertBytes, convertBytesStandalone, convertStandalone, inputFormats, markdownToHtml, outputFormats, parseBytesToJson, parseToJson
8
+ convert, convertBytes, convertBytesStandalone, convertBytesToBytes, convertStandalone, convertToBytes, convertWithResources, inputFormats, markdownToHtml, outputFormats, parseBytesToJson, parseToJson
9
9
  } from "./docmux_wasm_bg.js";
@@ -122,6 +122,37 @@ export function convertBytesStandalone(input, from, to) {
122
122
  }
123
123
  }
124
124
 
125
+ /**
126
+ * Convert binary input to binary output (e.g. DOCX → DOCX), with additional resources.
127
+ * @param {Uint8Array} input
128
+ * @param {string} from
129
+ * @param {string} to
130
+ * @param {Map<any, any>} resources
131
+ * @returns {Uint8Array}
132
+ */
133
+ export function convertBytesToBytes(input, from, to, resources) {
134
+ try {
135
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
136
+ const ptr0 = passArray8ToWasm0(input, wasm.__wbindgen_export);
137
+ const len0 = WASM_VECTOR_LEN;
138
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
139
+ const len1 = WASM_VECTOR_LEN;
140
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
141
+ const len2 = WASM_VECTOR_LEN;
142
+ wasm.convertBytesToBytes(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
143
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
144
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
145
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
146
+ if (r2) {
147
+ throw takeObject(r1);
148
+ }
149
+ return takeObject(r0);
150
+ } finally {
151
+ wasm.__wbindgen_add_to_stack_pointer(16);
152
+ heap[stack_pointer++] = undefined;
153
+ }
154
+ }
155
+
125
156
  /**
126
157
  * Convert a document producing a standalone file (full HTML document, LaTeX with preamble, etc.).
127
158
  * @param {string} input
@@ -160,6 +191,77 @@ export function convertStandalone(input, from, to) {
160
191
  }
161
192
  }
162
193
 
194
+ /**
195
+ * Convert text input to binary output (e.g. markdown → DOCX), with image resources.
196
+ * @param {string} input
197
+ * @param {string} from
198
+ * @param {string} to
199
+ * @param {Map<any, any>} resources
200
+ * @returns {Uint8Array}
201
+ */
202
+ export function convertToBytes(input, from, to, resources) {
203
+ try {
204
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
205
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export, wasm.__wbindgen_export2);
206
+ const len0 = WASM_VECTOR_LEN;
207
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
208
+ const len1 = WASM_VECTOR_LEN;
209
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
210
+ const len2 = WASM_VECTOR_LEN;
211
+ wasm.convertToBytes(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
212
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
213
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
214
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
215
+ if (r2) {
216
+ throw takeObject(r1);
217
+ }
218
+ return takeObject(r0);
219
+ } finally {
220
+ wasm.__wbindgen_add_to_stack_pointer(16);
221
+ heap[stack_pointer++] = undefined;
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Convert text input to string output, with image resources for embedding.
227
+ * @param {string} input
228
+ * @param {string} from
229
+ * @param {string} to
230
+ * @param {Map<any, any>} resources
231
+ * @returns {string}
232
+ */
233
+ export function convertWithResources(input, from, to, resources) {
234
+ let deferred5_0;
235
+ let deferred5_1;
236
+ try {
237
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
238
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export, wasm.__wbindgen_export2);
239
+ const len0 = WASM_VECTOR_LEN;
240
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
241
+ const len1 = WASM_VECTOR_LEN;
242
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
243
+ const len2 = WASM_VECTOR_LEN;
244
+ wasm.convertWithResources(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
245
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
246
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
247
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
248
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
249
+ var ptr4 = r0;
250
+ var len4 = r1;
251
+ if (r3) {
252
+ ptr4 = 0; len4 = 0;
253
+ throw takeObject(r2);
254
+ }
255
+ deferred5_0 = ptr4;
256
+ deferred5_1 = len4;
257
+ return getStringFromWasm0(ptr4, len4);
258
+ } finally {
259
+ wasm.__wbindgen_add_to_stack_pointer(16);
260
+ heap[stack_pointer++] = undefined;
261
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
262
+ }
263
+ }
264
+
163
265
  /**
164
266
  * Return a list of supported input format names.
165
267
  * @returns {string[]}
@@ -297,15 +399,61 @@ export function parseToJson(input, from) {
297
399
  wasm.__wbindgen_export3(deferred4_0, deferred4_1, 1);
298
400
  }
299
401
  }
300
- export function __wbg_Error_2e59b1b37a9a34c3(arg0, arg1) {
402
+ export function __wbg_Error_960c155d3d49e4c2(arg0, arg1) {
301
403
  const ret = Error(getStringFromWasm0(arg0, arg1));
302
404
  return addHeapObject(ret);
303
405
  }
406
+ export function __wbg___wbindgen_string_get_7ed5322991caaec5(arg0, arg1) {
407
+ const obj = getObject(arg1);
408
+ const ret = typeof(obj) === 'string' ? obj : undefined;
409
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
410
+ var len1 = WASM_VECTOR_LEN;
411
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
412
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
413
+ }
414
+ export function __wbg___wbindgen_throw_6b64449b9b9ed33c(arg0, arg1) {
415
+ throw new Error(getStringFromWasm0(arg0, arg1));
416
+ }
417
+ export function __wbg_forEach_5bdeef2ab2f0b065(arg0, arg1, arg2) {
418
+ try {
419
+ var state0 = {a: arg1, b: arg2};
420
+ var cb0 = (arg0, arg1) => {
421
+ const a = state0.a;
422
+ state0.a = 0;
423
+ try {
424
+ return __wasm_bindgen_func_elem_332(a, state0.b, arg0, arg1);
425
+ } finally {
426
+ state0.a = a;
427
+ }
428
+ };
429
+ getObject(arg0).forEach(cb0);
430
+ } finally {
431
+ state0.a = 0;
432
+ }
433
+ }
434
+ export function __wbg_length_9f1775224cf1d815(arg0) {
435
+ const ret = getObject(arg0).length;
436
+ return ret;
437
+ }
438
+ export function __wbg_new_from_slice_b5ea43e23f6008c0(arg0, arg1) {
439
+ const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
440
+ return addHeapObject(ret);
441
+ }
442
+ export function __wbg_prototypesetcall_a6b02eb00b0f4ce2(arg0, arg1, arg2) {
443
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
444
+ }
304
445
  export function __wbindgen_cast_0000000000000001(arg0, arg1) {
305
446
  // Cast intrinsic for `Ref(String) -> Externref`.
306
447
  const ret = getStringFromWasm0(arg0, arg1);
307
448
  return addHeapObject(ret);
308
449
  }
450
+ export function __wbindgen_object_drop_ref(arg0) {
451
+ takeObject(arg0);
452
+ }
453
+ function __wasm_bindgen_func_elem_332(arg0, arg1, arg2, arg3) {
454
+ wasm.__wasm_bindgen_func_elem_332(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
455
+ }
456
+
309
457
  function addHeapObject(obj) {
310
458
  if (heap_next === heap.length) heap.push(heap.length + 1);
311
459
  const idx = heap_next;
@@ -315,6 +463,12 @@ function addHeapObject(obj) {
315
463
  return idx;
316
464
  }
317
465
 
466
+ function addBorrowedObject(obj) {
467
+ if (stack_pointer == 1) throw new Error('out of js stack');
468
+ heap[--stack_pointer] = obj;
469
+ return stack_pointer;
470
+ }
471
+
318
472
  function dropObject(idx) {
319
473
  if (idx < 1028) return;
320
474
  heap[idx] = heap_next;
@@ -331,6 +485,11 @@ function getArrayJsValueFromWasm0(ptr, len) {
331
485
  return result;
332
486
  }
333
487
 
488
+ function getArrayU8FromWasm0(ptr, len) {
489
+ ptr = ptr >>> 0;
490
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
491
+ }
492
+
334
493
  let cachedDataViewMemory0 = null;
335
494
  function getDataViewMemory0() {
336
495
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -359,6 +518,10 @@ heap.push(undefined, null, true, false);
359
518
 
360
519
  let heap_next = heap.length;
361
520
 
521
+ function isLikeNone(x) {
522
+ return x === undefined || x === null;
523
+ }
524
+
362
525
  function passArray8ToWasm0(arg, malloc) {
363
526
  const ptr = malloc(arg.length * 1, 1) >>> 0;
364
527
  getUint8ArrayMemory0().set(arg, ptr / 1);
@@ -403,6 +566,8 @@ function passStringToWasm0(arg, malloc, realloc) {
403
566
  return ptr;
404
567
  }
405
568
 
569
+ let stack_pointer = 1024;
570
+
406
571
  function takeObject(idx) {
407
572
  const ret = getObject(idx);
408
573
  dropObject(idx);
Binary file
@@ -4,13 +4,17 @@ export const memory: WebAssembly.Memory;
4
4
  export const convert: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
5
5
  export const convertBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
6
6
  export const convertBytesStandalone: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
+ export const convertBytesToBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
7
8
  export const convertStandalone: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
9
+ export const convertToBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
10
+ export const convertWithResources: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
8
11
  export const inputFormats: (a: number) => void;
9
12
  export const markdownToHtml: (a: number, b: number, c: number) => void;
10
13
  export const outputFormats: (a: number) => void;
11
14
  export const parseBytesToJson: (a: number, b: number, c: number, d: number, e: number) => void;
12
15
  export const parseToJson: (a: number, b: number, c: number, d: number, e: number) => void;
13
- export const __wbindgen_add_to_stack_pointer: (a: number) => number;
16
+ export const __wasm_bindgen_func_elem_332: (a: number, b: number, c: number, d: number) => void;
14
17
  export const __wbindgen_export: (a: number, b: number) => number;
15
18
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
19
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
16
20
  export const __wbindgen_export3: (a: number, b: number, c: number) => void;
package/dist/index.d.ts CHANGED
@@ -14,6 +14,9 @@ export declare function convertBytes(input: Uint8Array, from: string, to: string
14
14
  export declare function convertBytesStandalone(input: Uint8Array, from: string, to: string): Promise<ConvertOutcome>;
15
15
  export declare function parseBytesToJson(input: Uint8Array, from: string): Promise<ConvertOutcome>;
16
16
  export declare function markdownToHtml(input: string): Promise<ConvertOutcome>;
17
+ export declare function convertWithResources(input: string, from: string, to: string, resources: Map<string, Uint8Array>): Promise<ConvertOutcome>;
18
+ export declare function convertToBytes(input: string, from: string, to: string, resources: Map<string, Uint8Array>): Promise<Uint8Array>;
19
+ export declare function convertBytesToBytes(input: Uint8Array, from: string, to: string, resources: Map<string, Uint8Array>): Promise<Uint8Array>;
17
20
  export declare function getInputFormats(): Promise<string[]>;
18
21
  export declare function getOutputFormats(): Promise<string[]>;
19
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAiBhE,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAErE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAiBhE,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAErE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACjC,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1D"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { convert as wasmConvert, convertStandalone as wasmConvertStandalone, convertBytes as wasmConvertBytes, convertBytesStandalone as wasmConvertBytesStandalone, parseToJson as wasmParseToJson, parseBytesToJson as wasmParseBytesToJson, markdownToHtml as wasmMarkdownToHtml, inputFormats as wasmInputFormats, outputFormats as wasmOutputFormats, } from "../bundler/docmux_wasm.js";
1
+ import { convert as wasmConvert, convertStandalone as wasmConvertStandalone, convertBytes as wasmConvertBytes, convertBytesStandalone as wasmConvertBytesStandalone, convertWithResources as wasmConvertWithResources, convertToBytes as wasmConvertToBytes, convertBytesToBytes as wasmConvertBytesToBytes, parseToJson as wasmParseToJson, parseBytesToJson as wasmParseBytesToJson, markdownToHtml as wasmMarkdownToHtml, inputFormats as wasmInputFormats, outputFormats as wasmOutputFormats, } from "../bundler/docmux_wasm.js";
2
2
  // ── Internal helper ────────────────────────────────────────────────────
3
3
  async function callWasm(fn, ...args) {
4
4
  try {
@@ -30,6 +30,15 @@ export function parseBytesToJson(input, from) {
30
30
  export function markdownToHtml(input) {
31
31
  return callWasm(wasmMarkdownToHtml, input);
32
32
  }
33
+ export function convertWithResources(input, from, to, resources) {
34
+ return callWasm(wasmConvertWithResources, input, from, to, resources);
35
+ }
36
+ export async function convertToBytes(input, from, to, resources) {
37
+ return wasmConvertToBytes(input, from, to, resources);
38
+ }
39
+ export async function convertBytesToBytes(input, from, to, resources) {
40
+ return wasmConvertBytesToBytes(input, from, to, resources);
41
+ }
33
42
  export async function getInputFormats() {
34
43
  return wasmInputFormats();
35
44
  }
@@ -26,11 +26,26 @@ export function convertBytes(input: Uint8Array, from: string, to: string): strin
26
26
  */
27
27
  export function convertBytesStandalone(input: Uint8Array, from: string, to: string): string;
28
28
 
29
+ /**
30
+ * Convert binary input to binary output (e.g. DOCX → DOCX), with additional resources.
31
+ */
32
+ export function convertBytesToBytes(input: Uint8Array, from: string, to: string, resources: Map<any, any>): Uint8Array;
33
+
29
34
  /**
30
35
  * Convert a document producing a standalone file (full HTML document, LaTeX with preamble, etc.).
31
36
  */
32
37
  export function convertStandalone(input: string, from: string, to: string): string;
33
38
 
39
+ /**
40
+ * Convert text input to binary output (e.g. markdown → DOCX), with image resources.
41
+ */
42
+ export function convertToBytes(input: string, from: string, to: string, resources: Map<any, any>): Uint8Array;
43
+
44
+ /**
45
+ * Convert text input to string output, with image resources for embedding.
46
+ */
47
+ export function convertWithResources(input: string, from: string, to: string, resources: Map<any, any>): string;
48
+
34
49
  /**
35
50
  * Return a list of supported input format names.
36
51
  */
@@ -129,6 +129,38 @@ function convertBytesStandalone(input, from, to) {
129
129
  }
130
130
 
131
131
 
132
+ /**
133
+ * Convert binary input to binary output (e.g. DOCX → DOCX), with additional resources.
134
+ * @param {Uint8Array} input
135
+ * @param {string} from
136
+ * @param {string} to
137
+ * @param {Map<any, any>} resources
138
+ * @returns {Uint8Array}
139
+ */
140
+ function convertBytesToBytes(input, from, to, resources) {
141
+ try {
142
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
143
+ const ptr0 = passArray8ToWasm0(input, wasm.__wbindgen_export);
144
+ const len0 = WASM_VECTOR_LEN;
145
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
146
+ const len1 = WASM_VECTOR_LEN;
147
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
148
+ const len2 = WASM_VECTOR_LEN;
149
+ wasm.convertBytesToBytes(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
150
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
151
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
152
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
153
+ if (r2) {
154
+ throw takeObject(r1);
155
+ }
156
+ return takeObject(r0);
157
+ } finally {
158
+ wasm.__wbindgen_add_to_stack_pointer(16);
159
+ heap[stack_pointer++] = undefined;
160
+ }
161
+ }
162
+
163
+
132
164
  /**
133
165
  * Convert a document producing a standalone file (full HTML document, LaTeX with preamble, etc.).
134
166
  * @param {string} input
@@ -168,6 +200,79 @@ function convertStandalone(input, from, to) {
168
200
  }
169
201
 
170
202
 
203
+ /**
204
+ * Convert text input to binary output (e.g. markdown → DOCX), with image resources.
205
+ * @param {string} input
206
+ * @param {string} from
207
+ * @param {string} to
208
+ * @param {Map<any, any>} resources
209
+ * @returns {Uint8Array}
210
+ */
211
+ function convertToBytes(input, from, to, resources) {
212
+ try {
213
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
214
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export, wasm.__wbindgen_export2);
215
+ const len0 = WASM_VECTOR_LEN;
216
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
217
+ const len1 = WASM_VECTOR_LEN;
218
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
219
+ const len2 = WASM_VECTOR_LEN;
220
+ wasm.convertToBytes(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
221
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
222
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
223
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
224
+ if (r2) {
225
+ throw takeObject(r1);
226
+ }
227
+ return takeObject(r0);
228
+ } finally {
229
+ wasm.__wbindgen_add_to_stack_pointer(16);
230
+ heap[stack_pointer++] = undefined;
231
+ }
232
+ }
233
+
234
+
235
+ /**
236
+ * Convert text input to string output, with image resources for embedding.
237
+ * @param {string} input
238
+ * @param {string} from
239
+ * @param {string} to
240
+ * @param {Map<any, any>} resources
241
+ * @returns {string}
242
+ */
243
+ function convertWithResources(input, from, to, resources) {
244
+ let deferred5_0;
245
+ let deferred5_1;
246
+ try {
247
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
248
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export, wasm.__wbindgen_export2);
249
+ const len0 = WASM_VECTOR_LEN;
250
+ const ptr1 = passStringToWasm0(from, wasm.__wbindgen_export, wasm.__wbindgen_export2);
251
+ const len1 = WASM_VECTOR_LEN;
252
+ const ptr2 = passStringToWasm0(to, wasm.__wbindgen_export, wasm.__wbindgen_export2);
253
+ const len2 = WASM_VECTOR_LEN;
254
+ wasm.convertWithResources(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(resources));
255
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
256
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
257
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
258
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
259
+ var ptr4 = r0;
260
+ var len4 = r1;
261
+ if (r3) {
262
+ ptr4 = 0; len4 = 0;
263
+ throw takeObject(r2);
264
+ }
265
+ deferred5_0 = ptr4;
266
+ deferred5_1 = len4;
267
+ return getStringFromWasm0(ptr4, len4);
268
+ } finally {
269
+ wasm.__wbindgen_add_to_stack_pointer(16);
270
+ heap[stack_pointer++] = undefined;
271
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
272
+ }
273
+ }
274
+
275
+
171
276
  /**
172
277
  * Return a list of supported input format names.
173
278
  * @returns {string[]}
@@ -310,19 +415,60 @@ function parseToJson(input, from) {
310
415
  }
311
416
  }
312
417
 
313
-
314
418
  function __wbg_get_imports() {
315
419
  const import0 = {
316
420
  __proto__: null,
317
- __wbg_Error_2e59b1b37a9a34c3: function(arg0, arg1) {
421
+ __wbg_Error_960c155d3d49e4c2: function(arg0, arg1) {
318
422
  const ret = Error(getStringFromWasm0(arg0, arg1));
319
423
  return addHeapObject(ret);
320
424
  },
425
+ __wbg___wbindgen_string_get_7ed5322991caaec5: function(arg0, arg1) {
426
+ const obj = getObject(arg1);
427
+ const ret = typeof(obj) === 'string' ? obj : undefined;
428
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
429
+ var len1 = WASM_VECTOR_LEN;
430
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
431
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
432
+ },
433
+ __wbg___wbindgen_throw_6b64449b9b9ed33c: function(arg0, arg1) {
434
+ throw new Error(getStringFromWasm0(arg0, arg1));
435
+ },
436
+ __wbg_forEach_5bdeef2ab2f0b065: function(arg0, arg1, arg2) {
437
+ try {
438
+ var state0 = {a: arg1, b: arg2};
439
+ var cb0 = (arg0, arg1) => {
440
+ const a = state0.a;
441
+ state0.a = 0;
442
+ try {
443
+ return __wasm_bindgen_func_elem_332(a, state0.b, arg0, arg1);
444
+ } finally {
445
+ state0.a = a;
446
+ }
447
+ };
448
+ getObject(arg0).forEach(cb0);
449
+ } finally {
450
+ state0.a = 0;
451
+ }
452
+ },
453
+ __wbg_length_9f1775224cf1d815: function(arg0) {
454
+ const ret = getObject(arg0).length;
455
+ return ret;
456
+ },
457
+ __wbg_new_from_slice_b5ea43e23f6008c0: function(arg0, arg1) {
458
+ const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
459
+ return addHeapObject(ret);
460
+ },
461
+ __wbg_prototypesetcall_a6b02eb00b0f4ce2: function(arg0, arg1, arg2) {
462
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
463
+ },
321
464
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
322
465
  // Cast intrinsic for `Ref(String) -> Externref`.
323
466
  const ret = getStringFromWasm0(arg0, arg1);
324
467
  return addHeapObject(ret);
325
468
  },
469
+ __wbindgen_object_drop_ref: function(arg0) {
470
+ takeObject(arg0);
471
+ },
326
472
  };
327
473
  return {
328
474
  __proto__: null,
@@ -330,6 +476,10 @@ function __wbg_get_imports() {
330
476
  };
331
477
  }
332
478
 
479
+ function __wasm_bindgen_func_elem_332(arg0, arg1, arg2, arg3) {
480
+ wasm.__wasm_bindgen_func_elem_332(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
481
+ }
482
+
333
483
  function addHeapObject(obj) {
334
484
  if (heap_next === heap.length) heap.push(heap.length + 1);
335
485
  const idx = heap_next;
@@ -339,6 +489,12 @@ function addHeapObject(obj) {
339
489
  return idx;
340
490
  }
341
491
 
492
+ function addBorrowedObject(obj) {
493
+ if (stack_pointer == 1) throw new Error('out of js stack');
494
+ heap[--stack_pointer] = obj;
495
+ return stack_pointer;
496
+ }
497
+
342
498
  function dropObject(idx) {
343
499
  if (idx < 1028) return;
344
500
  heap[idx] = heap_next;
@@ -355,6 +511,11 @@ function getArrayJsValueFromWasm0(ptr, len) {
355
511
  return result;
356
512
  }
357
513
 
514
+ function getArrayU8FromWasm0(ptr, len) {
515
+ ptr = ptr >>> 0;
516
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
517
+ }
518
+
358
519
  let cachedDataViewMemory0 = null;
359
520
  function getDataViewMemory0() {
360
521
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -383,6 +544,10 @@ heap.push(undefined, null, true, false);
383
544
 
384
545
  let heap_next = heap.length;
385
546
 
547
+ function isLikeNone(x) {
548
+ return x === undefined || x === null;
549
+ }
550
+
386
551
  function passArray8ToWasm0(arg, malloc) {
387
552
  const ptr = malloc(arg.length * 1, 1) >>> 0;
388
553
  getUint8ArrayMemory0().set(arg, ptr / 1);
@@ -427,6 +592,8 @@ function passStringToWasm0(arg, malloc, realloc) {
427
592
  return ptr;
428
593
  }
429
594
 
595
+ let stack_pointer = 1024;
596
+
430
597
  function takeObject(idx) {
431
598
  const ret = getObject(idx);
432
599
  dropObject(idx);
@@ -460,4 +627,4 @@ const wasmBytes = readFileSync(wasmPath);
460
627
  const wasmModule = new WebAssembly.Module(wasmBytes);
461
628
  let wasm = new WebAssembly.Instance(wasmModule, __wbg_get_imports()).exports;
462
629
 
463
- export { convert, convertBytes, convertBytesStandalone, convertStandalone, inputFormats, markdownToHtml, outputFormats, parseBytesToJson, parseToJson };
630
+ export { convert, convertBytes, convertBytesStandalone, convertBytesToBytes, convertStandalone, convertToBytes, convertWithResources, inputFormats, markdownToHtml, outputFormats, parseBytesToJson, parseToJson };
Binary file
@@ -4,13 +4,17 @@ export const memory: WebAssembly.Memory;
4
4
  export const convert: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
5
5
  export const convertBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
6
6
  export const convertBytesStandalone: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
+ export const convertBytesToBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
7
8
  export const convertStandalone: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
9
+ export const convertToBytes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
10
+ export const convertWithResources: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
8
11
  export const inputFormats: (a: number) => void;
9
12
  export const markdownToHtml: (a: number, b: number, c: number) => void;
10
13
  export const outputFormats: (a: number) => void;
11
14
  export const parseBytesToJson: (a: number, b: number, c: number, d: number, e: number) => void;
12
15
  export const parseToJson: (a: number, b: number, c: number, d: number, e: number) => void;
13
- export const __wbindgen_add_to_stack_pointer: (a: number) => number;
16
+ export const __wasm_bindgen_func_elem_332: (a: number, b: number, c: number, d: number) => void;
14
17
  export const __wbindgen_export: (a: number, b: number) => number;
15
18
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
19
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
16
20
  export const __wbindgen_export3: (a: number, b: number, c: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docmux/wasm",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Universal document converter — WASM bindings for docmux",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,11 +29,16 @@
29
29
  "import": "./bundler/docmux_wasm.js",
30
30
  "types": "./bundler/docmux_wasm.d.ts"
31
31
  }
32
+ },
33
+ "./web": {
34
+ "import": "./web/docmux_wasm.js",
35
+ "types": "./web/docmux_wasm.d.ts"
32
36
  }
33
37
  },
34
38
  "files": [
35
39
  "dist/",
36
40
  "bundler/",
41
+ "web/",
37
42
  "node/",
38
43
  "README.md",
39
44
  "LICENSE"