cpp-npm-package-boilerplate
v0.0.2
Published
A boilerplate for creating a C++ npm package
Downloads
5
Readme
Getting started
Installation(Example purposes)
Install with yarn or npm:
yarn
ornpm
:
# yarn
yarn add cpp-npm-package-boilerplate
# npm
npm i cpp-npm-package-boilerplate --save
Usage example
import { helloNative } from 'cpp-npm-package-boilerplate';
helloNative('World'); // Hello World
Note: This is example is a binding of the C++ function
helloNative
to the JavaScript functionhelloNative
.
C++ function
#include <napi.h>
Napi::String hello(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
Napi::String name = info[0].As<Napi::String>();
return Napi::String::New(env, "Hello " + name.Utf8Value());
}
Napi::Object Init(Napi::Env env, Napi::Object exports) {
exports.Set(Napi::String::New(env, "hello"), Napi::Function::New(env, hello));
return exports;
}
NODE_API_MODULE(hello, Init)
JavaScript function
import bindings from 'bindings';
export const helloNative = bindings('hello.node').hello;
TypeScript implementation
import bindings from 'bindings';
type THelloNative = (string: string) => string;
export const helloNative: THelloNative = bindings('hello.node').hello;
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
Or buy me a coffee 🙌🏾
📝 License
Copyright © 2022 Hebert F Barros. This project is MIT licensed.