@diaryx/wasm 0.11.1-dev.193efc4 → 0.13.0-dev.c0e2eed

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 CHANGED
@@ -27,6 +27,25 @@ To build the WebAssembly module:
27
27
  wasm-pack build --target web --out-dir ../../apps/web/src/lib/wasm
28
28
  ```
29
29
 
30
+ ## Testing
31
+
32
+ Run browser filesystem integration tests (wasm + browser):
33
+
34
+ ```bash
35
+ nix develop -c wasm-pack test --headless --chrome crates/diaryx_wasm
36
+ ```
37
+
38
+ Current filesystem test suites live in:
39
+
40
+ - `crates/diaryx_wasm/tests/opfs_fs.rs`
41
+ - `crates/diaryx_wasm/tests/fs_trait_parity.rs`
42
+
43
+ `fs_trait_parity.rs` runs the same contract checks across:
44
+
45
+ - `OpfsFileSystem`
46
+ - `IndexedDbFileSystem`
47
+ - `FsaFileSystem`
48
+
30
49
  ## Architecture
31
50
 
32
51
  The crate provides typed class-based APIs that wrap `diaryx_core` functionality:
package/diaryx_wasm.d.ts CHANGED
@@ -550,7 +550,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
550
550
  export interface InitOutput {
551
551
  readonly memory: WebAssembly.Memory;
552
552
  readonly __wbg_diaryxbackend_free: (a: number, b: number) => void;
553
- readonly __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
554
553
  readonly diaryxbackend_create: (a: number, b: number) => any;
555
554
  readonly diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
556
555
  readonly diaryxbackend_createInMemory: () => [number, number, number];
@@ -568,18 +567,10 @@ export interface InitOutput {
568
567
  readonly diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
569
568
  readonly diaryxbackend_saveConfig: (a: number, b: any) => any;
570
569
  readonly diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
570
+ readonly __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
571
+ readonly __wbg_wasmsyncclient_free: (a: number, b: number) => void;
571
572
  readonly jsasyncfilesystem_has_callback: (a: number, b: number, c: number) => number;
572
573
  readonly jsasyncfilesystem_new: (a: any) => number;
573
- readonly init: () => void;
574
- readonly __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
575
- readonly __wbg_opfsfilesystem_free: (a: number, b: number) => void;
576
- readonly indexeddbfilesystem_create: () => any;
577
- readonly opfsfilesystem_create: () => any;
578
- readonly opfsfilesystem_createWithName: (a: number, b: number) => any;
579
- readonly now_timestamp: () => [number, number];
580
- readonly today_formatted: (a: number, b: number) => [number, number];
581
- readonly __wbg_fsafilesystem_free: (a: number, b: number) => void;
582
- readonly __wbg_wasmsyncclient_free: (a: number, b: number) => void;
583
574
  readonly wasmsyncclient_focusFiles: (a: number, b: number, c: number) => void;
584
575
  readonly wasmsyncclient_getServerUrl: (a: number) => [number, number];
585
576
  readonly wasmsyncclient_getWorkspaceId: (a: number) => [number, number];
@@ -597,13 +588,22 @@ export interface InitOutput {
597
588
  readonly wasmsyncclient_queueLocalUpdate: (a: number, b: number, c: number, d: number, e: number) => any;
598
589
  readonly wasmsyncclient_setSessionCode: (a: number, b: number, c: number) => void;
599
590
  readonly wasmsyncclient_unfocusFiles: (a: number, b: number, c: number) => void;
591
+ readonly __wbg_fsafilesystem_free: (a: number, b: number) => void;
592
+ readonly __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
600
593
  readonly fsafilesystem_fromHandle: (a: any) => number;
601
- readonly wasm_bindgen__closure__destroy__h07a67dc9810a4be6: (a: number, b: number) => void;
594
+ readonly indexeddbfilesystem_create: () => any;
595
+ readonly now_timestamp: () => [number, number];
596
+ readonly today_formatted: (a: number, b: number) => [number, number];
597
+ readonly __wbg_opfsfilesystem_free: (a: number, b: number) => void;
598
+ readonly opfsfilesystem_create: () => any;
599
+ readonly opfsfilesystem_createWithName: (a: number, b: number) => any;
600
+ readonly init: () => void;
601
+ readonly wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d: (a: number, b: number) => void;
602
602
  readonly wasm_bindgen__closure__destroy__h54a6b627d1123dca: (a: number, b: number) => void;
603
603
  readonly wasm_bindgen__closure__destroy__h440f08373ff30a05: (a: number, b: number) => void;
604
- readonly wasm_bindgen__convert__closures_____invoke__h599d65e67049bef4: (a: number, b: number, c: any) => [number, number];
604
+ readonly wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87: (a: number, b: number, c: any) => [number, number];
605
605
  readonly wasm_bindgen__convert__closures_____invoke__h4e796b59e8c15a06: (a: number, b: number, c: any, d: any) => void;
606
- readonly wasm_bindgen__convert__closures_____invoke__h41872df2b19d108c: (a: number, b: number, c: any) => void;
606
+ readonly wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824: (a: number, b: number, c: any) => void;
607
607
  readonly wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3: (a: number, b: number, c: any) => void;
608
608
  readonly wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746: (a: number, b: number, c: any) => void;
609
609
  readonly __wbindgen_malloc: (a: number, b: number) => number;
package/diaryx_wasm.js CHANGED
@@ -1495,22 +1495,22 @@ function __wbg_get_imports() {
1495
1495
  return ret;
1496
1496
  }, arguments); },
1497
1497
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1498
- // Cast intrinsic for `Closure(Closure { dtor_idx: 649, function: Function { arguments: [NamedExternref("Event")], shim_idx: 652, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1499
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h07a67dc9810a4be6, wasm_bindgen__convert__closures_____invoke__h599d65e67049bef4);
1498
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 653, function: Function { arguments: [NamedExternref("Event")], shim_idx: 747, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1499
+ const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d, wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87);
1500
1500
  return ret;
1501
1501
  },
1502
1502
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
1503
- // Cast intrinsic for `Closure(Closure { dtor_idx: 649, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 650, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1504
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h07a67dc9810a4be6, wasm_bindgen__convert__closures_____invoke__h41872df2b19d108c);
1503
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 653, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 748, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1504
+ const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d, wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824);
1505
1505
  return ret;
1506
1506
  },
1507
1507
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1508
- // Cast intrinsic for `Closure(Closure { dtor_idx: 749, function: Function { arguments: [NamedExternref("Event")], shim_idx: 750, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1508
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 777, function: Function { arguments: [NamedExternref("Event")], shim_idx: 778, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1509
1509
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h54a6b627d1123dca, wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3);
1510
1510
  return ret;
1511
1511
  },
1512
1512
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
1513
- // Cast intrinsic for `Closure(Closure { dtor_idx: 775, function: Function { arguments: [Externref], shim_idx: 776, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1513
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 803, function: Function { arguments: [Externref], shim_idx: 804, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1514
1514
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h440f08373ff30a05, wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746);
1515
1515
  return ret;
1516
1516
  },
@@ -1555,8 +1555,8 @@ function __wbg_get_imports() {
1555
1555
  };
1556
1556
  }
1557
1557
 
1558
- function wasm_bindgen__convert__closures_____invoke__h41872df2b19d108c(arg0, arg1, arg2) {
1559
- wasm.wasm_bindgen__convert__closures_____invoke__h41872df2b19d108c(arg0, arg1, arg2);
1558
+ function wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824(arg0, arg1, arg2) {
1559
+ wasm.wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824(arg0, arg1, arg2);
1560
1560
  }
1561
1561
 
1562
1562
  function wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3(arg0, arg1, arg2) {
@@ -1567,8 +1567,8 @@ function wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746(arg0, arg
1567
1567
  wasm.wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746(arg0, arg1, arg2);
1568
1568
  }
1569
1569
 
1570
- function wasm_bindgen__convert__closures_____invoke__h599d65e67049bef4(arg0, arg1, arg2) {
1571
- const ret = wasm.wasm_bindgen__convert__closures_____invoke__h599d65e67049bef4(arg0, arg1, arg2);
1570
+ function wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87(arg0, arg1, arg2) {
1571
+ const ret = wasm.wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87(arg0, arg1, arg2);
1572
1572
  if (ret[1]) {
1573
1573
  throw takeFromExternrefTable0(ret[0]);
1574
1574
  }
@@ -2,7 +2,6 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const __wbg_diaryxbackend_free: (a: number, b: number) => void;
5
- export const __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
6
5
  export const diaryxbackend_create: (a: number, b: number) => any;
7
6
  export const diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
8
7
  export const diaryxbackend_createInMemory: () => [number, number, number];
@@ -20,18 +19,10 @@ export const diaryxbackend_onFileSystemEvent: (a: number, b: any) => bigint;
20
19
  export const diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
21
20
  export const diaryxbackend_saveConfig: (a: number, b: any) => any;
22
21
  export const diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
22
+ export const __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
23
+ export const __wbg_wasmsyncclient_free: (a: number, b: number) => void;
23
24
  export const jsasyncfilesystem_has_callback: (a: number, b: number, c: number) => number;
24
25
  export const jsasyncfilesystem_new: (a: any) => number;
25
- export const init: () => void;
26
- export const __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
27
- export const __wbg_opfsfilesystem_free: (a: number, b: number) => void;
28
- export const indexeddbfilesystem_create: () => any;
29
- export const opfsfilesystem_create: () => any;
30
- export const opfsfilesystem_createWithName: (a: number, b: number) => any;
31
- export const now_timestamp: () => [number, number];
32
- export const today_formatted: (a: number, b: number) => [number, number];
33
- export const __wbg_fsafilesystem_free: (a: number, b: number) => void;
34
- export const __wbg_wasmsyncclient_free: (a: number, b: number) => void;
35
26
  export const wasmsyncclient_focusFiles: (a: number, b: number, c: number) => void;
36
27
  export const wasmsyncclient_getServerUrl: (a: number) => [number, number];
37
28
  export const wasmsyncclient_getWorkspaceId: (a: number) => [number, number];
@@ -49,13 +40,22 @@ export const wasmsyncclient_pollOutgoingText: (a: number) => [number, number];
49
40
  export const wasmsyncclient_queueLocalUpdate: (a: number, b: number, c: number, d: number, e: number) => any;
50
41
  export const wasmsyncclient_setSessionCode: (a: number, b: number, c: number) => void;
51
42
  export const wasmsyncclient_unfocusFiles: (a: number, b: number, c: number) => void;
43
+ export const __wbg_fsafilesystem_free: (a: number, b: number) => void;
44
+ export const __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
52
45
  export const fsafilesystem_fromHandle: (a: any) => number;
53
- export const wasm_bindgen__closure__destroy__h07a67dc9810a4be6: (a: number, b: number) => void;
46
+ export const indexeddbfilesystem_create: () => any;
47
+ export const now_timestamp: () => [number, number];
48
+ export const today_formatted: (a: number, b: number) => [number, number];
49
+ export const __wbg_opfsfilesystem_free: (a: number, b: number) => void;
50
+ export const opfsfilesystem_create: () => any;
51
+ export const opfsfilesystem_createWithName: (a: number, b: number) => any;
52
+ export const init: () => void;
53
+ export const wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d: (a: number, b: number) => void;
54
54
  export const wasm_bindgen__closure__destroy__h54a6b627d1123dca: (a: number, b: number) => void;
55
55
  export const wasm_bindgen__closure__destroy__h440f08373ff30a05: (a: number, b: number) => void;
56
- export const wasm_bindgen__convert__closures_____invoke__h599d65e67049bef4: (a: number, b: number, c: any) => [number, number];
56
+ export const wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87: (a: number, b: number, c: any) => [number, number];
57
57
  export const wasm_bindgen__convert__closures_____invoke__h4e796b59e8c15a06: (a: number, b: number, c: any, d: any) => void;
58
- export const wasm_bindgen__convert__closures_____invoke__h41872df2b19d108c: (a: number, b: number, c: any) => void;
58
+ export const wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824: (a: number, b: number, c: any) => void;
59
59
  export const wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3: (a: number, b: number, c: any) => void;
60
60
  export const wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746: (a: number, b: number, c: any) => void;
61
61
  export const __wbindgen_malloc: (a: number, b: number) => number;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@diaryx/wasm",
3
3
  "type": "module",
4
4
  "description": "WebAssembly bindings for Diaryx core functionality",
5
- "version": "0.11.1-dev.193efc4",
5
+ "version": "0.13.0-dev.c0e2eed",
6
6
  "license": "SEE LICENSE IN ../../LICENSE.md",
7
7
  "repository": {
8
8
  "type": "git",