124 releases (68 stable)

3.0.0-alpha.28 Feb 22, 2025
3.0.0-alpha.25 Jan 12, 2025
3.0.0-alpha.22 Dec 18, 2024
3.0.0-alpha.20 Nov 30, 2024
0.1.0 Nov 30, 2017

#512 in Procedural macros

Download history 68953/week @ 2024-11-17 54304/week @ 2024-11-24 73932/week @ 2024-12-01 65869/week @ 2024-12-08 64876/week @ 2024-12-15 40741/week @ 2024-12-22 44890/week @ 2024-12-29 81903/week @ 2025-01-05 85677/week @ 2025-01-12 89610/week @ 2025-01-19 100223/week @ 2025-01-26 101192/week @ 2025-02-02 86078/week @ 2025-02-09 89248/week @ 2025-02-16 103911/week @ 2025-02-23 97981/week @ 2025-03-02

385,432 downloads per month
Used in 66 crates (50 directly)

MIT license

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