mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-01-10 06:52:49 +00:00
74 lines
1.3 KiB
Rust
74 lines
1.3 KiB
Rust
|
use wasm_bindgen::prelude::*;
|
||
|
use wasm_bindgen_test::*;
|
||
|
|
||
|
#[wasm_bindgen(module = "tests/wasm/comments.js")]
|
||
|
extern "C" {
|
||
|
fn assert_comments_exist();
|
||
|
}
|
||
|
|
||
|
/// annotated function ✔️ " \ ' {
|
||
|
#[wasm_bindgen]
|
||
|
pub fn annotated() -> String {
|
||
|
String::new()
|
||
|
}
|
||
|
|
||
|
/// annotated struct type
|
||
|
#[wasm_bindgen]
|
||
|
pub struct Annotated {
|
||
|
a: String,
|
||
|
/// annotated struct field b
|
||
|
pub b: u32,
|
||
|
/// annotated struct field c
|
||
|
#[wasm_bindgen(readonly)]
|
||
|
pub c: u32,
|
||
|
d: u32,
|
||
|
}
|
||
|
|
||
|
#[wasm_bindgen]
|
||
|
impl Annotated {
|
||
|
/// annotated struct constructor
|
||
|
#[wasm_bindgen(constructor)]
|
||
|
pub fn new() -> Self {
|
||
|
Self {
|
||
|
a: String::new(),
|
||
|
b: 0,
|
||
|
c: 0,
|
||
|
d: 0,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// annotated struct method
|
||
|
pub fn get_a(&self) -> String {
|
||
|
self.a.clone()
|
||
|
}
|
||
|
|
||
|
/// annotated struct getter
|
||
|
#[wasm_bindgen(getter)]
|
||
|
pub fn d(&self) -> u32 {
|
||
|
self.d
|
||
|
}
|
||
|
|
||
|
/// annotated struct setter
|
||
|
#[wasm_bindgen(setter)]
|
||
|
pub fn set_d(&mut self, value: u32) {
|
||
|
self.d = value
|
||
|
}
|
||
|
|
||
|
/// annotated struct static method
|
||
|
pub fn static_method() {}
|
||
|
}
|
||
|
|
||
|
/// annotated enum type
|
||
|
#[wasm_bindgen]
|
||
|
pub enum AnnotatedEnum {
|
||
|
/// annotated enum variant 1
|
||
|
Variant1,
|
||
|
/// annotated enum variant 2
|
||
|
Variant2,
|
||
|
}
|
||
|
|
||
|
#[wasm_bindgen_test]
|
||
|
fn works() {
|
||
|
assert_comments_exist();
|
||
|
}
|