121 releases (68 stable)

new 3.0.0-alpha.25 Jan 12, 2025
3.0.0-alpha.22 Dec 18, 2024
3.0.0-alpha.20 Nov 30, 2024
3.0.0-alpha.7 Jul 23, 2024
0.1.0 Nov 30, 2017

#668 in Procedural macros

Download history 103163/week @ 2024-09-25 104718/week @ 2024-10-02 87086/week @ 2024-10-09 79653/week @ 2024-10-16 68612/week @ 2024-10-23 72427/week @ 2024-10-30 69502/week @ 2024-11-06 66628/week @ 2024-11-13 69676/week @ 2024-11-20 58401/week @ 2024-11-27 69273/week @ 2024-12-04 65405/week @ 2024-12-11 55190/week @ 2024-12-18 42956/week @ 2024-12-25 57714/week @ 2025-01-01 71508/week @ 2025-01-08

237,485 downloads per month
Used in 60 crates (49 directly)

MIT license

215KB
6K 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.6–1.1MB
~21K SLoC