From b1c52e69e0a01358ee7a741100b6da22c87bd1b2 Mon Sep 17 00:00:00 2001 From: Michael-F-Bryan Date: Wed, 30 Nov 2022 01:35:33 +0800 Subject: [PATCH] Fixed some clippy lints --- Cargo.lock | 316 +++++++++++++++++++++++++------------ pkg/wasmer_wasi_js.d.ts | 13 +- pkg/wasmer_wasi_js.js | 158 ++++++++++--------- pkg/wasmer_wasi_js_bg.wasm | Bin 325924 -> 326173 bytes src/fs.rs | 14 +- src/wasi.rs | 66 +++++--- 6 files changed, 361 insertions(+), 206 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e3596972..a18e08ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,6 +28,15 @@ dependencies = [ "version_check", ] +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anyhow" version = "1.0.66" @@ -36,9 +45,9 @@ checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -53,9 +62,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.63" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" +checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", @@ -80,9 +89,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.8.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "bytecheck" @@ -113,15 +122,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.72" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" [[package]] name = "cfg-if" @@ -137,10 +146,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.20" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6127248204b9aba09a362f6c930ef6a78f2c1b2215f8a7b398c06e1083f17af0" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ + "iana-time-zone", "js-sys", "num-integer", "num-traits", @@ -148,12 +158,28 @@ dependencies = [ "winapi", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "const_fn" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + [[package]] name = "corosensei" version = "0.1.3" @@ -167,11 +193,55 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "cxx" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "darling" -version = "0.13.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "757c0ded2af11d8e739c4daea1ac623dd1624b06c844cf3f5a39f1bdbd99bb12" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ "darling_core", "darling_macro", @@ -179,23 +249,22 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.13.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c34d8efb62d0c2d7f60ece80f75e5c63c1588ba68032740494b0b9a996466e3" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", "syn", ] [[package]] name = "darling_macro" -version = "0.13.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade7bff147130fe5e6d39f089c6bd49ec0250f35d70b2eebf72afdfc919f15cc" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ "darling_core", "quote", @@ -241,18 +310,18 @@ dependencies = [ [[package]] name = "enumset" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6216d2c19a6fb5f29d1ada1dc7bc4367a8cbf0fa4af5cf12e07b5bbdde6b5b2c" +checksum = "19be8061a06ab6f3a6cf21106c873578bf01bd42ad15e0311a9c76161cb1c753" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6451128aa6655d880755345d085494cf7561a6bee7c8dc821e5d77e6d267ecd4" +checksum = "03e7b551eba279bf0fa88b83a46330168c1560a52a94f5126f892f0b364ab3e0" dependencies = [ "darling", "proc-macro2", @@ -277,9 +346,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -290,15 +359,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] name = "hashbrown" @@ -318,6 +381,30 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "iana-time-zone" +version = "0.1.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "id-arena" version = "2.2.1" @@ -332,25 +419,25 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "1.7.0" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown 0.11.2", + "hashbrown", ] [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "js-sys" -version = "0.3.55" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -369,15 +456,24 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" + +[[package]] +name = "link-cplusplus" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] [[package]] name = "log" -version = "0.4.14" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", ] @@ -393,43 +489,42 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memmap2" -version = "0.5.0" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4647a11b578fead29cdbb34d4adef8dd3dc35b876c9c6d5240d83f205abfe96e" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg", ] [[package]] name = "miniz_oxide" -version = "0.4.4" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", - "autocfg", ] [[package]] name = "more-asserts" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" [[package]] name = "num-integer" @@ -452,9 +547,9 @@ dependencies = [ [[package]] name = "object" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "memchr", ] @@ -467,9 +562,9 @@ checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "pin-project-lite" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "proc-macro-error" @@ -543,9 +638,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.10" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ "proc-macro2", ] @@ -578,7 +673,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cec2b3485b07d96ddfd3134767b8a447b45ea4eb91448d0a35180ec0ffd5ed15" dependencies = [ "bytecheck", - "hashbrown 0.12.3", + "hashbrown", "indexmap", "ptr_meta", "rend", @@ -624,6 +719,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "seahash" version = "4.1.0" @@ -647,9 +748,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.144" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] @@ -667,9 +768,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.144" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -678,9 +779,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -704,15 +805,18 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "slab" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] [[package]] name = "smallvec" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "standback" @@ -772,17 +876,11 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -791,24 +889,33 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.2" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bffcddbc2458fa3e6058414599e3c838a022abae82e5c67b4f7f80298d5bff" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ "proc-macro2", "quote", @@ -870,9 +977,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tracing" -version = "0.1.29" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -882,9 +989,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.18" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -893,11 +1000,11 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.21" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] @@ -930,6 +1037,12 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + [[package]] name = "unicode-xid" version = "0.2.4" @@ -938,15 +1051,15 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" @@ -1273,6 +1386,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/pkg/wasmer_wasi_js.d.ts b/pkg/wasmer_wasi_js.d.ts index 596224c0..80da68f6 100644 --- a/pkg/wasmer_wasi_js.d.ts +++ b/pkg/wasmer_wasi_js.d.ts @@ -1,5 +1,14 @@ /* tslint:disable */ /* eslint-disable */ + +interface WasiConfig { + readonly args?: string[], + readonly env?: Record, + readonly preopens?: Record, + readonly fs?: any, +} + + /** */ export class JSVirtualFile { @@ -102,9 +111,9 @@ export class MemFS { export class WASI { free(): void; /** -* @param {any} config +* @param {WasiConfig} config */ - constructor(config: any); + constructor(config: WasiConfig); /** * @param {WebAssembly.Module} module * @returns {object} diff --git a/pkg/wasmer_wasi_js.js b/pkg/wasmer_wasi_js.js index 0a95cd9c..6bd253df 100644 --- a/pkg/wasmer_wasi_js.js +++ b/pkg/wasmer_wasi_js.js @@ -18,6 +18,23 @@ function addHeapObject(obj) { return idx; } +const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + +cachedTextDecoder.decode(); + +let cachedUint8Memory0 = new Uint8Array(); + +function getUint8Memory0() { + if (cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + function dropObject(idx) { if (idx < 36) return; heap[idx] = heap_next; @@ -32,15 +49,6 @@ function takeObject(idx) { let WASM_VECTOR_LEN = 0; -let cachedUint8Memory0 = new Uint8Array(); - -function getUint8Memory0() { - if (cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - const cachedTextEncoder = new TextEncoder('utf-8'); const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' @@ -172,14 +180,6 @@ function debugString(val) { return className; } -const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - let cachedFloat64Memory0 = new Float64Array(); function getFloat64Memory0() { @@ -617,7 +617,7 @@ export class WASI { wasm.__wbg_wasi_free(ptr); } /** - * @param {any} config + * @param {WasiConfig} config */ constructor(config) { try { @@ -911,15 +911,19 @@ function getImports() { const ret = getObject(arg0); return addHeapObject(ret); }; - imports.wbg.__wbg_process_8b43dabeb90bfc71 = function(arg0) { + imports.wbg.__wbg_crypto_e1d53a1d73fb10b8 = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_process_038c26bf42b093f8 = function(arg0) { const ret = getObject(arg0).process; return addHeapObject(ret); }; - imports.wbg.__wbg_versions_1a19949b2d6cda48 = function(arg0) { + imports.wbg.__wbg_versions_ab37218d2f0b24a8 = function(arg0) { const ret = getObject(arg0).versions; return addHeapObject(ret); }; - imports.wbg.__wbg_node_f0b47c5c972bf347 = function(arg0) { + imports.wbg.__wbg_node_080f4b19d15bc1fe = function(arg0) { const ret = getObject(arg0).node; return addHeapObject(ret); }; @@ -927,19 +931,27 @@ function getImports() { const ret = typeof(getObject(arg0)) === 'string'; return ret; }; - imports.wbg.__wbg_modulerequire_7f44ca52d65c8fc0 = function() { return handleError(function (arg0, arg1) { - const ret = module.require(getStringFromWasm0(arg0, arg1)); + imports.wbg.__wbg_require_78a3dcfbdba9cbce = function() { return handleError(function () { + const ret = module.require; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_crypto_f92d087c37fffbbf = function(arg0) { - const ret = getObject(arg0).crypto; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); }; - imports.wbg.__wbg_msCrypto_74b0ea9c42a7c831 = function(arg0) { + imports.wbg.__wbg_call_168da88779e35f61 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_msCrypto_6e7d3e1f92610cbb = function(arg0) { const ret = getObject(arg0).msCrypto; return addHeapObject(ret); }; - imports.wbg.__wbg_newwithlength_4928c68e52c56b6d = function(arg0) { + imports.wbg.__wbg_newwithlength_f5933855e4f48a19 = function(arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }; @@ -948,23 +960,23 @@ function getImports() { const ret = typeof(val) === 'object' && val !== null; return ret; }; - imports.wbg.__wbg_get_1d33f276d45710a4 = function(arg0, arg1) { + imports.wbg.__wbg_get_57245cc7d7c7619d = function(arg0, arg1) { const ret = getObject(arg0)[arg1 >>> 0]; return addHeapObject(ret); }; - imports.wbg.__wbg_self_cc4cded4a07ffe11 = function() { return handleError(function () { + imports.wbg.__wbg_self_6d479506f72c6a71 = function() { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_window_f8bf2008679bec7e = function() { return handleError(function () { + imports.wbg.__wbg_window_f2557cc78490aceb = function() { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_globalThis_f1bf7c3c3068b5c3 = function() { return handleError(function () { + imports.wbg.__wbg_globalThis_7f206bda628d5286 = function() { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_global_2b562fbb2af1aec3 = function() { return handleError(function () { + imports.wbg.__wbg_global_ba75c50d1cf384f4 = function() { return handleError(function () { const ret = global.global; return addHeapObject(ret); }, arguments) }; @@ -972,15 +984,15 @@ function getImports() { const ret = getObject(arg0) === undefined; return ret; }; - imports.wbg.__wbg_newnoargs_111ac35ca85f61f5 = function(arg0, arg1) { + imports.wbg.__wbg_newnoargs_b5b063fc6c2f0376 = function(arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - imports.wbg.__wbg_call_2dad239b57d80b42 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_call_97ae9d8645dc388b = function() { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_instanceof_Function_07f0fd0979b11789 = function(arg0) { + imports.wbg.__wbg_instanceof_Function_056d5b3aef8aaa85 = function(arg0) { let result; try { result = getObject(arg0) instanceof Function; @@ -994,22 +1006,22 @@ function getImports() { const ret = wasm.memory; return addHeapObject(ret); }; - imports.wbg.__wbg_buffer_d81727464c886f26 = function(arg0) { + imports.wbg.__wbg_buffer_3f3d764d4747d564 = function(arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }; - imports.wbg.__wbg_new_a3125f766f3a92ac = function(arg0) { + imports.wbg.__wbg_new_8c3f0052272a457a = function(arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_set_51d981ee0f618b95 = function(arg0, arg1, arg2) { + imports.wbg.__wbg_set_83db9690f9353e79 = function(arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }; - imports.wbg.__wbg_length_43d4584cbc8565d1 = function(arg0) { + imports.wbg.__wbg_length_9e1ae1900cb0fbd5 = function(arg0) { const ret = getObject(arg0).length; return ret; }; - imports.wbg.__wbg_subarray_2f6b60a6e0c8bb7b = function(arg0, arg1, arg2) { + imports.wbg.__wbg_subarray_58ad4efbb5bcb886 = function(arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; @@ -1024,7 +1036,7 @@ function getImports() { getInt32Memory0()[arg0 / 4 + 1] = len0; getInt32Memory0()[arg0 / 4 + 0] = ptr0; }; - imports.wbg.__wbg_instanceof_Module_095eaf41a48764bc = function(arg0) { + imports.wbg.__wbg_instanceof_Module_09da91721979648d = function(arg0) { let result; try { result = getObject(arg0) instanceof WebAssembly.Module; @@ -1034,7 +1046,7 @@ function getImports() { const ret = result; return ret; }; - imports.wbg.__wbg_instanceof_Table_7aa3c4bf4a3e48a4 = function(arg0) { + imports.wbg.__wbg_instanceof_Table_aab62205c7444b79 = function(arg0) { let result; try { result = getObject(arg0) instanceof WebAssembly.Table; @@ -1044,11 +1056,11 @@ function getImports() { const ret = result; return ret; }; - imports.wbg.__wbg_get_fbd1d9263b918411 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_get_19328b9e516e0330 = function() { return handleError(function (arg0, arg1) { const ret = getObject(arg0).get(arg1 >>> 0); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_instanceof_Memory_625744f21df3a5ec = function(arg0) { + imports.wbg.__wbg_instanceof_Memory_f1dc0d9a83a9c8ea = function(arg0) { let result; try { result = getObject(arg0) instanceof WebAssembly.Memory; @@ -1058,11 +1070,11 @@ function getImports() { const ret = result; return ret; }; - imports.wbg.__wbg_get_5a78b7783b0bd799 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_get_765201544a2b6869 = function() { return handleError(function (arg0, arg1) { const ret = Reflect.get(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_set_ea8cd341c2a6f8d7 = function() { return handleError(function (arg0, arg1, arg2) { + imports.wbg.__wbg_set_bf3f89b92d5a34bf = function() { return handleError(function (arg0, arg1, arg2) { const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); return ret; }, arguments) }; @@ -1079,19 +1091,15 @@ function getImports() { imports.wbg.__wbindgen_rethrow = function(arg0) { throw takeObject(arg0); }; - imports.wbg.__wbg_newwithbyteoffsetandlength_3aba6c798270ebca = function(arg0, arg1, arg2) { + imports.wbg.__wbg_newwithbyteoffsetandlength_d9aa266703cb98be = function(arg0, arg1, arg2) { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; - imports.wbg.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); - }; - imports.wbg.__wbg_imports_a0b4581dab9c2cb4 = function(arg0) { + imports.wbg.__wbg_imports_5d97b92618ae2b69 = function(arg0) { const ret = WebAssembly.Module.imports(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_length_f41326e394b4fe13 = function(arg0) { + imports.wbg.__wbg_length_6e3bbe7c8bd4dbd8 = function(arg0) { const ret = getObject(arg0).length; return ret; }; @@ -1109,15 +1117,15 @@ function getImports() { const ret = WasmerRuntimeError.__wrap(arg0); return addHeapObject(ret); }; - imports.wbg.__wbg_getPrototypeOf_b62dafee4d50c09e = function(arg0) { + imports.wbg.__wbg_getPrototypeOf_ca7be35aca69033c = function(arg0) { const ret = Object.getPrototypeOf(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_constructor_c3d1d684a586dd5f = function(arg0) { + imports.wbg.__wbg_constructor_20fd216941fe9866 = function(arg0) { const ret = getObject(arg0).constructor; return addHeapObject(ret); }; - imports.wbg.__wbg_name_5436b04184f1adc4 = function(arg0) { + imports.wbg.__wbg_name_da379f055623f0d3 = function(arg0) { const ret = getObject(arg0).name; return addHeapObject(ret); }; @@ -1127,19 +1135,19 @@ function getImports() { getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); }; - imports.wbg.__wbg_new0_172803edd242036c = function() { + imports.wbg.__wbg_new0_a57059d72c5b7aee = function() { const ret = new Date(); return addHeapObject(ret); }; - imports.wbg.__wbg_getTime_8e53aaca359697ac = function(arg0) { + imports.wbg.__wbg_getTime_cb82adb2556ed13e = function(arg0) { const ret = getObject(arg0).getTime(); return ret; }; - imports.wbg.__wbg_getTimezoneOffset_7234c87e6e74aa7d = function(arg0) { + imports.wbg.__wbg_getTimezoneOffset_89bd4275e1ca8341 = function(arg0) { const ret = getObject(arg0).getTimezoneOffset(); return ret; }; - imports.wbg.__wbg_new_08af39e773e3ddfb = function() { + imports.wbg.__wbg_new_0b9bfdd97583284e = function() { const ret = new Object(); return addHeapObject(ret); }; @@ -1147,15 +1155,15 @@ function getImports() { const ret = BigInt.asUintN(64, arg0); return addHeapObject(ret); }; - imports.wbg.__wbg_new_be673b64c5e1d103 = function(arg0, arg1) { + imports.wbg.__wbg_new_8d2af00bc1e329ee = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - imports.wbg.__wbg_new_53ee626301534885 = function() { + imports.wbg.__wbg_new_1d9a920c6bfc44a8 = function() { const ret = new Array(); return addHeapObject(ret); }; - imports.wbg.__wbg_push_83f99a9bcae512c6 = function(arg0, arg1) { + imports.wbg.__wbg_push_740e4b286702d964 = function(arg0, arg1) { const ret = getObject(arg0).push(getObject(arg1)); return ret; }; @@ -1164,15 +1172,15 @@ function getImports() { const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; return ret; }; - imports.wbg.__wbg_isArray_d6e9c8ad3e915729 = function(arg0) { + imports.wbg.__wbg_isArray_27c46c67f498e15d = function(arg0) { const ret = Array.isArray(getObject(arg0)); return ret; }; - imports.wbg.__wbg_entries_f97ecc5d8af908a6 = function(arg0) { + imports.wbg.__wbg_entries_65a76a413fc91037 = function(arg0) { const ret = Object.entries(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_instanceof_Instance_38f5bc5383db505e = function(arg0) { + imports.wbg.__wbg_instanceof_Instance_b0fc12339921a27e = function(arg0) { let result; try { result = getObject(arg0) instanceof WebAssembly.Instance; @@ -1186,19 +1194,19 @@ function getImports() { const ret = typeof getObject(arg0); return addHeapObject(ret); }; - imports.wbg.__wbg_new_5a8bb4022c570979 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_new_1c5d2ff1edfe6d73 = function() { return handleError(function (arg0, arg1) { const ret = new WebAssembly.Instance(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_newwithlength_11d3ceadb55d1000 = function(arg0) { + imports.wbg.__wbg_newwithlength_7c42f7e738a9d5d3 = function(arg0) { const ret = new Array(arg0 >>> 0); return addHeapObject(ret); }; - imports.wbg.__wbg_apply_f03a73e552b34c08 = function() { return handleError(function (arg0, arg1, arg2) { + imports.wbg.__wbg_apply_75f7334893eef4ad = function() { return handleError(function (arg0, arg1, arg2) { const ret = Reflect.apply(getObject(arg0), getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_instanceof_Object_66786225e0dbc8ba = function(arg0) { + imports.wbg.__wbg_instanceof_Object_595a1007518cbea3 = function(arg0) { let result; try { result = getObject(arg0) instanceof Object; @@ -1216,21 +1224,21 @@ function getImports() { const ret = arg0; return addHeapObject(ret); }; - imports.wbg.__wbg_bind_ae625939b6259e2a = function(arg0, arg1, arg2, arg3) { + imports.wbg.__wbg_bind_10dfe70e95d2a480 = function(arg0, arg1, arg2, arg3) { const ret = getObject(arg0).bind(getObject(arg1), getObject(arg2), getObject(arg3)); return addHeapObject(ret); }; - imports.wbg.__wbg_randomFillSync_a1a617f7e299dda2 = function() { return handleError(function (arg0, arg1, arg2) { + imports.wbg.__wbg_randomFillSync_6894564c2c334c42 = function() { return handleError(function (arg0, arg1, arg2) { getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2)); }, arguments) }; - imports.wbg.__wbg_getRandomValues_b90a7d4919317798 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_getRandomValues_805f1c3d65988a5a = function() { return handleError(function (arg0, arg1) { getObject(arg0).getRandomValues(getObject(arg1)); }, arguments) }; - imports.wbg.__wbg_exports_d440a9b749caa3e0 = function(arg0) { + imports.wbg.__wbg_exports_1f32da4bc6734cea = function(arg0) { const ret = getObject(arg0).exports; return addHeapObject(ret); }; - imports.wbg.__wbg_exports_fbf94aab875c89db = function(arg0) { + imports.wbg.__wbg_exports_4db28c393be16bc5 = function(arg0) { const ret = WebAssembly.Module.exports(getObject(arg0)); return addHeapObject(ret); }; diff --git a/pkg/wasmer_wasi_js_bg.wasm b/pkg/wasmer_wasi_js_bg.wasm index 1439c39e340de447fb25bfdf260d20f3c5ce4884..64c8023284bf38181aa2edb2f681a5747b225618 100644 GIT binary patch delta 123816 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 OW@bRgLAHJBMgL!pIJQ0j delta 123201 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 diff --git a/src/fs.rs b/src/fs.rs index afcc55a5..4451ef88 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -1,13 +1,13 @@ +use crate::wasi::generic_of_jsval; use js_sys::Reflect; use std::path::{Path, PathBuf}; use std::sync::Arc; use wasm_bindgen::prelude::*; -use wasm_bindgen::JsCast; + use wasmer_vfs::mem_fs::FileSystem as MemoryFilesystem; use wasmer_vfs::{ DirEntry, FileSystem, FileType, FsError, Metadata, OpenOptions, ReadDir, VirtualFile, }; -use crate::wasi::generic_of_jsval; #[wasm_bindgen] #[derive(Debug, Clone)] @@ -51,7 +51,7 @@ fn direntry_to_object(direntry: &DirEntry) -> Result { Reflect::set( &direntry_obj, &"metadata".into(), - &metadata_to_object(&direntry.metadata.as_ref().unwrap())?.into(), + &metadata_to_object(direntry.metadata.as_ref().unwrap())?.into(), )?; Ok(direntry_obj) } @@ -76,13 +76,13 @@ impl MemFS { .inner .read_dir(&PathBuf::from(path)) .map_err(|e| js_sys::Error::new(&format!("Error when reading the dir: {}`", e)))?; - Ok(dir_entries + dir_entries .map(|entry| { let entry = entry .map_err(|e| js_sys::Error::new(&format!("Failed to get entry: {}`", e)))?; direntry_to_object(&entry) }) - .collect::>()?) + .collect::>() } #[wasm_bindgen(js_name = createDir)] @@ -241,9 +241,9 @@ impl JSVirtualFile { } // Write APIs - pub fn write(&mut self, mut buf: &mut [u8]) -> Result { + pub fn write(&mut self, buf: &mut [u8]) -> Result { self.handle - .write(&mut buf) + .write(buf) .map_err(|e| js_sys::Error::new(&format!("Error when writing: {}`", e)).into()) } diff --git a/src/wasi.rs b/src/wasi.rs index 17c18b0a..be0d68a5 100644 --- a/src/wasi.rs +++ b/src/wasi.rs @@ -1,14 +1,30 @@ use crate::fs::MemFS; -use std::io::{Read, Write}; use js_sys::{Object, Reflect}; +use std::io::{Read, Write}; use wasm_bindgen::prelude::*; use wasm_bindgen::JsCast; use wasmer::{Imports, Instance, Module, Store}; use wasmer_wasi::Pipe; -use wasmer_wasi::{Stderr, Stdin, Stdout, WasiError, WasiFunctionEnv, WasiState}; +use wasmer_wasi::{WasiError, WasiFunctionEnv, WasiState}; use wasm_bindgen::convert::RefFromWasmAbi; +#[wasm_bindgen(typescript_custom_section)] +const _: &str = r#" +interface WasiConfig { + readonly args?: string[], + readonly env?: Record, + readonly preopens?: Record, + readonly fs?: any, +} +"#; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen(typescript_type = "WasiConfig")] + pub type Config; +} + #[wasm_bindgen] pub struct WASI { store: Store, @@ -23,7 +39,7 @@ pub struct WASI { #[wasm_bindgen] impl WASI { #[wasm_bindgen(constructor)] - pub fn new(config: JsValue) -> Result { + pub fn new(config: Config) -> Result { let args: Vec = { let args = js_sys::Reflect::get(&config, &"args".into())?; if args.is_undefined() { @@ -96,8 +112,8 @@ impl WASI { let stdout = Pipe::default(); let stdin = Pipe::default(); let stderr = Pipe::default(); - let wasi_env = WasiState::new(&args.get(0).unwrap_or(&"".to_string())) - .args(if args.len() > 0 { &args[1..] } else { &[] }) + let wasi_env = WasiState::new(args.get(0).unwrap_or(&"".to_string())) + .args(if !args.is_empty() { &args[1..] } else { &[] }) .envs(env) .set_fs(Box::new(fs)) .stdout(Box::new(stdout.clone())) @@ -123,12 +139,12 @@ impl WASI { #[wasm_bindgen(getter)] pub fn fs(&mut self) -> Result { - let mut state = self.wasi_env.data_mut(&mut self.store).state(); + let state = self.wasi_env.data_mut(&mut self.store).state(); let mem_fs = state .fs .fs_backing .downcast_ref::() - .ok_or_else(|| js_sys::Error::new(&format!("Failed to downcast to MemFS")))?; + .ok_or_else(|| js_sys::Error::new("Failed to downcast to MemFS"))?; Ok(mem_fs.clone()) } @@ -147,7 +163,7 @@ impl WASI { self.module = Some(module); - Ok(import_object.as_jsobject(&self.store).into()) + Ok(import_object.as_jsobject(&self.store)) } fn get_wasi_imports(&mut self, module: &Module) -> Result { @@ -187,15 +203,14 @@ impl WASI { } else if module_or_instance.has_type::() { if let Some(instance) = &self.instance { // We completely skip the set instance step - return Ok(instance.raw(&mut self.store).clone()); + return Ok(instance.raw(&self.store).clone()); } let module = self.module.as_ref().ok_or(js_sys::Error::new("When providing an instance, the `wasi.getImports` must be called with the module first"))?; let js_instance: js_sys::WebAssembly::Instance = module_or_instance.unchecked_into(); - let instance = Instance::from_module_and_instance(&mut self.store, module, js_instance) - .map_err(|e| { - js_sys::Error::new(&format!("Can't get the Wasmer Instance: {:?}", e)) - })?; - instance + + Instance::from_module_and_instance(&mut self.store, module, js_instance).map_err( + |e| js_sys::Error::new(&format!("Can't get the Wasmer Instance: {:?}", e)), + )? } else { return Err( js_sys::Error::new("You need to provide a `WebAssembly.Module` or `WebAssembly.Instance` as first argument to `wasi.instantiate`").into(), @@ -206,7 +221,7 @@ impl WASI { .data_mut(&mut self.store) .set_memory(instance.exports.get_memory("memory").unwrap().clone()); - let raw_instance = instance.raw(&mut self.store).clone(); + let raw_instance = instance.raw(&self.store).clone(); self.instance = Some(instance); Ok(raw_instance) } @@ -239,7 +254,7 @@ impl WASI { match err.downcast::() { Ok(WasiError::Exit(exit_code)) => { // We should exit with the provided exit code - return Ok(exit_code); + Ok(exit_code) } Ok(err) => { return Err(js_sys::Error::new(&format!( @@ -330,22 +345,23 @@ impl WASI { // helper function for passing Rust objects through JS // https://github.com/rustwasm/wasm-bindgen/issues/2231#issuecomment-1147260391 -pub fn generic_of_jsval>(js: JsValue, classname: &str) -> Result { +pub fn generic_of_jsval>( + js: JsValue, + classname: &str, +) -> Result { if !js.is_object() { - return Err(js_sys::Error::new( - &format!("expected object, got {:?}", js).as_str(), - ).into()); + return Err(js_sys::Error::new(format!("expected object, got {:?}", js).as_str()).into()); } let ctor_name = Object::get_prototype_of(&js).constructor().name(); if ctor_name == classname { let ptr = Reflect::get(&js, &JsValue::from_str("ptr"))?; let ptr_u32: u32 = ptr.as_f64().ok_or(JsValue::NULL)? as u32; - let foo = unsafe { T::ref_from_abi(ptr_u32) }; - Ok(foo) + Ok(unsafe { T::ref_from_abi(ptr_u32) }) } else { - Err(js_sys::Error::new( - &format!("expected '{}', got '{}'", classname, ctor_name).as_str() - ).into()) + Err( + js_sys::Error::new(format!("expected '{}', got '{}'", classname, ctor_name).as_str()) + .into(), + ) } }