2467b7139b
* 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>
22 lines
430 B
Rust
22 lines
430 B
Rust
use napi::bindgen_prelude::*;
|
|
|
|
#[napi]
|
|
fn contains(source: String, target: String) -> bool {
|
|
source.contains(&target)
|
|
}
|
|
|
|
#[napi]
|
|
fn concat_str(mut s: String) -> String {
|
|
s.push_str(" + Rust 🦀 string!");
|
|
s
|
|
}
|
|
|
|
#[napi]
|
|
fn concat_utf16(s: Utf16String) -> Utf16String {
|
|
Utf16String::from(format!("{} + Rust 🦀 string!", s))
|
|
}
|
|
|
|
#[napi]
|
|
fn concat_latin1(s: Latin1String) -> String {
|
|
format!("{} + Rust 🦀 string!", s)
|
|
}
|