100 releases (65 stable)

new 3.0.0-alpha.7 Jul 23, 2024
3.0.0-alpha.2 Jun 27, 2024
3.0.0-alpha.0 Mar 20, 2024
2.16.10 Jul 23, 2024
0.1.0 Nov 30, 2017

#398 in Procedural macros

Download history 123058/week @ 2024-04-02 124668/week @ 2024-04-09 113113/week @ 2024-04-16 96979/week @ 2024-04-23 72540/week @ 2024-04-30 75860/week @ 2024-05-07 67896/week @ 2024-05-14 64502/week @ 2024-05-21 85171/week @ 2024-05-28 132571/week @ 2024-06-04 135874/week @ 2024-06-11 138233/week @ 2024-06-18 171227/week @ 2024-06-25 146899/week @ 2024-07-02 153202/week @ 2024-07-09 122504/week @ 2024-07-16

617,643 downloads per month
Used in 47 crates (36 directly)

MIT license

180KB
5K SLoC

napi-derive

chat

Checkout more examples in examples folder

#[macro_use]
extern crate napi_derive;
use napi::bindgen_prelude::*;

#[napi]
fn fibonacci(n: u32) -> u32 {
  match n {
    1 | 2 => 1,
    _ => fibonacci_native(n - 1) + fibonacci_native(n - 2),
  }
}

#[napi]
fn get_cwd<T: Fn(String) -> Result<()>>(callback: T) {
  callback(env::current_dir().unwrap().to_string_lossy().to_string()).unwrap();
}

Dependencies

~0.9–2MB
~35K SLoC