rust-nodejs

Embedding Node.js in Rust.

Usage

  1. Add rust-nodejs to your cargo project: toml [dependencies] nodejs = "0.1.0"
  2. let queue = nodejs::event_queue() to get the global Node.js event queue.
  3. Call queue.send to run tasks in the Node.js event queue
  4. Inside the task, use nodejs::neon for interoperability between Node.js and Rust. Neon documentation
  5. On macOS or Linux, add -Clink-args=-rdynamic to rustflags when building your Rust application.

Example

```rust use nodejs::neon::{context::Context, types::JsNumber, reflect::eval};

fn main() { let (tx, rx) = std::sync::mpsc::syncchannel::(0); let queue = nodejs::eventqueue(); queue.send(move |mut cx| { let script = cx.string("require('os').freemem()"); let freemem = eval(&mut cx, script)?; let freemem = freemem.downcastorthrow::(&mut cx)?; tx.send(freemem.value(&mut cx) as i64).unwrap(); Ok(()) }); let freemem = rx.recv().unwrap(); println!("Free system memory: {}", freemem); }

```