All Projects → evanwashere → napi.zig

evanwashere / napi.zig

Licence: MIT License
tiny and fast napi bindings for zig

Programming Languages

Zig
133 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to napi.zig

lz4-napi
Fastest lz4 compression library in Node.js, powered by napi-rs and lz4-flex.
Stars: ✭ 29 (-45.28%)
Mutual labels:  bindings, napi
uplink-nodejs
NodeJS / typescript bindings for libuplink
Stars: ✭ 20 (-62.26%)
Mutual labels:  bindings
discord-game-sdk4j
Java bindings for Discord's Game SDK
Stars: ✭ 45 (-15.09%)
Mutual labels:  bindings
pmod
Native cross platform library with language projection support for native code.
Stars: ✭ 22 (-58.49%)
Mutual labels:  bindings
Xamarin.iOS.DatePickerDialog
Xamarin iOS C# port of https://github.com/squimer/DatePickerDialog-iOS-Swift
Stars: ✭ 24 (-54.72%)
Mutual labels:  bindings
directx-d
[DISCONTINUED] DirectX bindings for D
Stars: ✭ 19 (-64.15%)
Mutual labels:  bindings
react-use-redux
Alternative Redux bindings with upcoming React hooks
Stars: ✭ 31 (-41.51%)
Mutual labels:  bindings
fscalendar-ios-binding
Xamarin Binding Library - FSCalendar for iOS https://github.com/WenchaoD/FSCalendar
Stars: ✭ 12 (-77.36%)
Mutual labels:  bindings
vulkan
Vulkan bindings for Nim
Stars: ✭ 15 (-71.7%)
Mutual labels:  bindings
webview
Nim bindings for https://github.com/zserge/webview
Stars: ✭ 91 (+71.7%)
Mutual labels:  bindings
zydis-py
Zydis Python Bindings (Work In Progress)
Stars: ✭ 21 (-60.38%)
Mutual labels:  bindings
simplesquirrel
Yet another simple binding in C++11 for Squirrel scripting language
Stars: ✭ 37 (-30.19%)
Mutual labels:  bindings
vsphere-automation-sdk-rest
REST (Postman and JavaScript) samples and API reference documentation for vSphere using the VMware REST API
Stars: ✭ 194 (+266.04%)
Mutual labels:  bindings
deltachat-node
Email-based instant messaging for Node.js.
Stars: ✭ 46 (-13.21%)
Mutual labels:  bindings
rescript-material-ui
ReScript bindings for Material-UI
Stars: ✭ 222 (+318.87%)
Mutual labels:  bindings
pascal-bindings-for-c
How to use libraries created in C with Pascal
Stars: ✭ 24 (-54.72%)
Mutual labels:  bindings
webviewhs
🌐 A Haskell binding to the webview library created by Serge Zaitsev.
Stars: ✭ 109 (+105.66%)
Mutual labels:  bindings
renderdoc-rs
RenderDoc application bindings for Rust
Stars: ✭ 28 (-47.17%)
Mutual labels:  bindings
Binaryen
Binaryen for Swift
Stars: ✭ 15 (-71.7%)
Mutual labels:  bindings
rust-lang-interop
Rust language interoperability with other languages - C, C++ etc.
Stars: ✭ 53 (+0%)
Mutual labels:  bindings

napi.zig

tiny and fast node-api bindings for zig

Features

  • 🚀 async functions run in parallel
  • ⛓️ expose c and zig functions to js
  • 🔨 does not require node-gyp to build
  • [WIP] seamless serde between js and zig types
  • 🎯 compile to any architecture with zig cross-compilation

Examples

more examples in examples/ folder

const std = @import("std");
const napi = @import("./src/napi.zig");
const allocator = std.heap.c_allocator;

comptime {
  napi.register(init);
}

fn init(env: napi.env, exports: napi.object) !void {
  try exports.set(env, "add", try napi.bind.function(env, add, "add", allocator));
}

fn add(a: u32, b: u32) u32 {
  return a + b;
}

License

MIT © Evan

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].