Wasm hell
This commit is contained in:
parent
5f00622ed2
commit
323afc1cbd
7 changed files with 63 additions and 5 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
/target
|
/target
|
||||||
/**/input.txt
|
/**/input.txt
|
||||||
|
wasm/pkg
|
24
Cargo.lock
generated
24
Cargo.lock
generated
|
@ -21,13 +21,13 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||||
name = "advent"
|
name = "advent"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
"num-bigint",
|
"num-bigint",
|
||||||
"num-irrational",
|
"num-irrational",
|
||||||
"num-rational",
|
"num-rational",
|
||||||
"regex",
|
"regex",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"scraper",
|
"scraper",
|
||||||
"tokio",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -39,6 +39,16 @@ dependencies = [
|
||||||
"tokio",
|
"tokio",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advent-wasm"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"advent",
|
||||||
|
"console_error_panic_hook",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"wasm-bindgen-futures",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ahash"
|
name = "ahash"
|
||||||
version = "0.8.6"
|
version = "0.8.6"
|
||||||
|
@ -227,6 +237,16 @@ version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "console_error_panic_hook"
|
||||||
|
version = "0.1.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "core-foundation"
|
name = "core-foundation"
|
||||||
version = "0.9.4"
|
version = "0.9.4"
|
||||||
|
@ -433,8 +453,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
|
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
|
"js-sys",
|
||||||
"libc",
|
"libc",
|
||||||
"wasi",
|
"wasi",
|
||||||
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
members = ["cli", "lib"]
|
members = ["cli", "lib", "wasm"]
|
||||||
resolver = "2"
|
resolver = "2"
|
|
@ -9,5 +9,8 @@ num-irrational = { version = "0.3.0", features = ["num-bigint"] }
|
||||||
num-rational = { version = "0.4.1", features = ["num-bigint"] }
|
num-rational = { version = "0.4.1", features = ["num-bigint"] }
|
||||||
regex = "1.10.2"
|
regex = "1.10.2"
|
||||||
scraper = "0.18.1"
|
scraper = "0.18.1"
|
||||||
tokio = { version = "1.34.0", features = ["macros", "rt-multi-thread"] }
|
|
||||||
reqwest = "0.11.22"
|
reqwest = "0.11.22"
|
||||||
|
|
||||||
|
[dependencies.getrandom]
|
||||||
|
version = "0.2.11"
|
||||||
|
features = ["js"]
|
14
wasm/Cargo.toml
Normal file
14
wasm/Cargo.toml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
[package]
|
||||||
|
name = "advent-wasm"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Ty"]
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
crate-type = ["cdylib", "rlib"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
wasm-bindgen = "0.2.84"
|
||||||
|
wasm-bindgen-futures = "0.4.39"
|
||||||
|
console_error_panic_hook = { version = "0.1.7", optional = true }
|
||||||
|
advent = { path = "../lib" }
|
12
wasm/index.html
Normal file
12
wasm/index.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script>
|
||||||
|
WebAssembly.instantiateStreaming(fetch("simple.wasm")).then(
|
||||||
|
(results) => {
|
||||||
|
console.log(results);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
</html>
|
6
wasm/src/lib.rs
Normal file
6
wasm/src/lib.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
use wasm_bindgen::prelude::*;
|
||||||
|
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub async fn solve(day: u8, part: u8, auth: String) -> String {
|
||||||
|
advent::get_day(day, advent::fetcher::fetch_input(auth, day).await).solve(part, false)
|
||||||
|
}
|
Loading…
Reference in a new issue