@@ -2,54 +2,53 @@ import { SwiftRuntime } from "javascript-kit-swift";
2
2
import { WASI } from "@wasmer/wasi" ;
3
3
import { WasmFs } from "@wasmer/wasmfs" ;
4
4
5
-
6
5
const swift = new SwiftRuntime ( ) ;
7
6
// Instantiate a new WASI Instance
8
7
const wasmFs = new WasmFs ( ) ;
9
8
10
9
// Output stdout and stderr to console
11
10
const originalWriteSync = wasmFs . fs . writeSync ;
12
11
wasmFs . fs . writeSync = ( fd , buffer , offset , length , position ) => {
13
- const text = new TextDecoder ( "utf-8" ) . decode ( buffer ) ;
14
-
15
- // Filter out standalone "\n" added by every `print`, `console.log`
16
- // always adds its own "\n" on top.
17
- if ( text !== "\n" ) {
18
- switch ( fd ) {
19
- case 1 :
20
- console . log ( text ) ;
21
- break ;
22
- case 2 :
23
- console . error ( text ) ;
24
- break ;
12
+ const text = new TextDecoder ( "utf-8" ) . decode ( buffer ) ;
13
+
14
+ // Filter out standalone "\n" added by every `print`, `console.log`
15
+ // always adds its own "\n" on top.
16
+ if ( text !== "\n" ) {
17
+ switch ( fd ) {
18
+ case 1 :
19
+ console . log ( text ) ;
20
+ break ;
21
+ case 2 :
22
+ console . error ( text ) ;
23
+ break ;
24
+ }
25
25
}
26
- }
27
- return originalWriteSync ( fd , buffer , offset , length , position ) ;
26
+ return originalWriteSync ( fd , buffer , offset , length , position ) ;
28
27
} ;
29
28
30
29
let wasi = new WASI ( {
31
- args : [ ] ,
32
- env : { } ,
33
- bindings : {
34
- ...WASI . defaultBindings ,
35
- fs : wasmFs . fs
36
- }
30
+ args : [ ] ,
31
+ env : { } ,
32
+ bindings : {
33
+ ...WASI . defaultBindings ,
34
+ fs : wasmFs . fs ,
35
+ } ,
37
36
} ) ;
38
37
39
38
const startWasiTask = async ( ) => {
40
- // Fetch our Wasm File
41
- const response = await fetch ( "JavaScriptKitExample.wasm" ) ;
42
- const responseArrayBuffer = await response . arrayBuffer ( ) ;
39
+ // Fetch our Wasm File
40
+ const response = await fetch ( "JavaScriptKitExample.wasm" ) ;
41
+ const responseArrayBuffer = await response . arrayBuffer ( ) ;
43
42
44
- // Instantiate the WebAssembly file
45
- const wasm_bytes = new Uint8Array ( responseArrayBuffer ) . buffer ;
46
- let { instance } = await WebAssembly . instantiate ( wasm_bytes , {
47
- wasi_snapshot_preview1 : wasi . wasiImport ,
48
- javascript_kit : swift . importObjects ( ) ,
49
- } ) ;
43
+ // Instantiate the WebAssembly file
44
+ const wasm_bytes = new Uint8Array ( responseArrayBuffer ) . buffer ;
45
+ let { instance } = await WebAssembly . instantiate ( wasm_bytes , {
46
+ wasi_snapshot_preview1 : wasi . wasiImport ,
47
+ javascript_kit : swift . importObjects ( ) ,
48
+ } ) ;
50
49
51
- swift . setInstance ( instance ) ;
52
- // Start the WebAssembly WASI instance!
53
- wasi . start ( instance ) ;
50
+ swift . setInstance ( instance ) ;
51
+ // Start the WebAssembly WASI instance!
52
+ wasi . start ( instance ) ;
54
53
} ;
55
54
startWasiTask ( ) ;
0 commit comments