diff options
author | Matt Strapp <matt@mattstrapp.net> | 2024-04-05 16:40:12 -0500 |
---|---|---|
committer | Matt Strapp <matt@mattstrapp.net> | 2024-04-05 16:40:12 -0500 |
commit | 925180e2dcb2b95cb2777a75e1491499c0d69936 (patch) | |
tree | c01a7936f87dc3ce82ce8734ee9c2381f2aa8029 /libs | |
parent | Bump typescript from 5.4.3 to 5.4.4 (diff) | |
download | zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar.gz zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar.bz2 zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar.lz zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar.xz zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.tar.zst zorascript-925180e2dcb2b95cb2777a75e1491499c0d69936.zip |
Add rust
Signed-off-by: Matt Strapp <matt@mattstrapp.net>
Diffstat (limited to 'libs')
-rw-r--r-- | libs/zora-rs/.gitignore | 6 | ||||
-rw-r--r-- | libs/zora-rs/Cargo.toml | 26 | ||||
-rw-r--r-- | libs/zora-rs/README.md | 0 | ||||
-rw-r--r-- | libs/zora-rs/src/lib.rs | 13 | ||||
-rw-r--r-- | libs/zora-rs/src/utils.rs | 10 | ||||
-rw-r--r-- | libs/zora-rs/tests/web.rs | 13 |
6 files changed, 68 insertions, 0 deletions
diff --git a/libs/zora-rs/.gitignore b/libs/zora-rs/.gitignore new file mode 100644 index 0000000..4e30131 --- /dev/null +++ b/libs/zora-rs/.gitignore @@ -0,0 +1,6 @@ +/target +**/*.rs.bk +Cargo.lock +bin/ +pkg/ +wasm-pack.log diff --git a/libs/zora-rs/Cargo.toml b/libs/zora-rs/Cargo.toml new file mode 100644 index 0000000..bb5172f --- /dev/null +++ b/libs/zora-rs/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "zora-rs" +description = "A Rust implementation of the GBC Zelda Password Generator" +repository = "https://github.com/RosstheRoss/zorascript" +license = "MIT" +version = "0.1.0" +authors = ["Matt Strapp <matt@mattstrapp.net>"] +edition = "2018" + +[lib] +crate-type = ["cdylib", "rlib"] + +[features] +default = ["console_error_panic_hook"] + +[dependencies] +wasm-bindgen = "0.2.84" + +# The `console_error_panic_hook` crate provides better debugging of panics by +# logging them with `console.error`. This is great for development, but requires +# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for +# code size when deploying. +console_error_panic_hook = { version = "0.1.7", optional = true } + +[dev-dependencies] +wasm-bindgen-test = "0.3.34" diff --git a/libs/zora-rs/README.md b/libs/zora-rs/README.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libs/zora-rs/README.md diff --git a/libs/zora-rs/src/lib.rs b/libs/zora-rs/src/lib.rs new file mode 100644 index 0000000..239f3af --- /dev/null +++ b/libs/zora-rs/src/lib.rs @@ -0,0 +1,13 @@ +mod utils; + +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +extern "C" { + fn alert(s: &str); +} + +#[wasm_bindgen] +pub fn greet() { + alert("Hello, zora-rs!"); +} diff --git a/libs/zora-rs/src/utils.rs b/libs/zora-rs/src/utils.rs new file mode 100644 index 0000000..b1d7929 --- /dev/null +++ b/libs/zora-rs/src/utils.rs @@ -0,0 +1,10 @@ +pub fn set_panic_hook() { + // When the `console_error_panic_hook` feature is enabled, we can call the + // `set_panic_hook` function at least once during initialization, and then + // we will get better error messages if our code ever panics. + // + // For more details see + // https://github.com/rustwasm/console_error_panic_hook#readme + #[cfg(feature = "console_error_panic_hook")] + console_error_panic_hook::set_once(); +} diff --git a/libs/zora-rs/tests/web.rs b/libs/zora-rs/tests/web.rs new file mode 100644 index 0000000..de5c1da --- /dev/null +++ b/libs/zora-rs/tests/web.rs @@ -0,0 +1,13 @@ +//! Test suite for the Web and headless browsers. + +#![cfg(target_arch = "wasm32")] + +extern crate wasm_bindgen_test; +use wasm_bindgen_test::*; + +wasm_bindgen_test_configure!(run_in_browser); + +#[wasm_bindgen_test] +fn pass() { + assert_eq!(1 + 1, 2); +} |