forehalo 2467b7139b
Introduce #[napi] procedural macro to automation development boilerplate (#696)
* napi procedural macro for basic rust/JavaScript types
* introduce the `compat-mode` for `napi` and `napi-derive` crates for backward compatible
* remove #[inline] and let compiler to decide the inline behavior
* cli now can produce the `.d.ts` file for native binding
* many tests and example for the new procedural macro

Co-authored-by: LongYinan <lynweklm@gmail.com>
2021-09-23 01:29:09 +08:00

17 lines
232 B
Rust

use napi::bindgen_prelude::*;
#[napi]
fn get_words() -> Vec<&'static str> {
vec!["foo", "bar"]
}
#[napi]
fn get_nums() -> Vec<u32> {
vec![1, 1, 2, 3, 5, 8]
}
#[napi]
fn sum_nums(nums: Vec<u32>) -> u32 {
nums.iter().sum()
}