5376c2a4ba
* WASM Client: simplify sending of custom messages by always setting headers and a mime-type for the content * Use rollup to bundle the web worker script to support more downstream bundlers The WASM bundle is embedded as a base64 encoded resource and loaded synchronously, because this is the only mechanism widely supported to load WASM inside a web worker currently. Hopefully in the future this can be changed to pure modules. * Suppress errors in build script * Add Parcel 2.0 example * WASM client: fix tests * Update SDK docs and images * wasm-client: add method to validate a recipient's address * Revert "Removing unused prestart" This reverts commitcbeac10383. * Revert "Removing pointless dependency build command from TypeScript SDK example" This reverts commit0e0a62938d. * Add typing for React 18 * Improve README files Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
36 lines
1.3 KiB
Rust
36 lines
1.3 KiB
Rust
use nymsphinx::addressing::clients::Recipient;
|
|
use wasm_bindgen::prelude::*;
|
|
|
|
#[wasm_bindgen]
|
|
pub fn validate_recipient(recipient: String) -> Result<(), JsError> {
|
|
match Recipient::try_from_base58_string(recipient) {
|
|
Ok(_) => Ok(()),
|
|
Err(e) => Err(JsError::new(format!("{}", e).as_str())),
|
|
}
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::validate_recipient;
|
|
use wasm_bindgen_test::*;
|
|
|
|
#[wasm_bindgen_test]
|
|
fn test_recipient_validation_ok() {
|
|
let res = validate_recipient("DyQmXnst5NGGjzUZxRC5Bjs5bd7CBF3xMpsSmbRiizr2.GH6YTBP2NXU3AVqd8WjiTMVyeMjunXMEsp7gVCMEJqpD@336yuXAeGEgedRfqTJZsG2YV7P13QH1bHv1SjCZYarc9".to_string());
|
|
assert!(res.is_ok())
|
|
}
|
|
|
|
#[wasm_bindgen_test]
|
|
fn test_recipient_validation_fails() {
|
|
assert!(validate_recipient(" DyQmXnst5NGGjzUZxRC5Bjs5bd7CBF3xMpsSmbRiizr2.GH6YTBP2NXU3AVqd8WjiTMVyeMjunXMEsp7gVCMEJqpD@336yuXAeGEgedRfqTJZsG2YV7P13QH1bHv1SjCZYarc9".to_string()).is_err());
|
|
assert!(validate_recipient(
|
|
"DyQmXnst5NGGjzUZxRC5BjbRiizr2.GH6YTBP2NXU3AVqd8WD@336yuXAeGEgedRfqTJZQH1bHv1SjCZYarc9"
|
|
.to_string()
|
|
)
|
|
.is_err());
|
|
assert!(validate_recipient("🙀🙀🙀🙀".to_string()).is_err());
|
|
assert!(validate_recipient("".to_string()).is_err());
|
|
assert!(validate_recipient(" ".to_string()).is_err());
|
|
}
|
|
}
|