Node-API Exports

C utilities for registering Node-API modules.

Usage

var headerDir = require( '@stdlib/napi/export' );

headerDir

Absolute file path for the directory containing header files for C APIs.

var dir = headerDir;
// returns <string>

Examples

var headerDir = require( '@stdlib/napi/export' );

console.log( headerDir );
// => <string>

C APIs

Usage

#include "stdlib/napi/export.h"

STDLIB_NAPI_MODULE_EXPORT_FCN( name )

Macro for registering a Node-API module which exports a function.

#include <node_api.h>

// ...

static napi_value addon( napi_env env, napi_callback_info info ) {
    // ...
}

// ...

// Register a Node-API module:
STDLIB_NAPI_MODULE_EXPORT_FCN( addon )

The macro expects the following arguments:

  • name: name of the C function to export.

When used, this macro should be used instead of NAPI_MODULE. The macro includes NAPI_MODULE, thus ensuring Node-API module registration.

STDLIB_NAPI_MODULE_EXPORT_FCN_WITH_METHOD( fcn_name, prop_name, fcn_method_name )

Macro for registering a Node-API module which exports a function having a method.

#include <node_api.h>

// ...

static napi_value addon( napi_env env, napi_callback_info info ) {
    // ...
}

static napi_value addon_method( napi_env env, napi_callback_info info ) {
    // ...
}

// ...

// Register a Node-API module:
STDLIB_NAPI_MODULE_EXPORT_FCN_WITH_METHOD( addon, "foo", addon_method )

The macro expects the following arguments:

  • fcn_name: name of the C function to export.
  • prop_name: property name.
  • fcn_method_name: name of the C function to export as a method.

When used, this macro should be used instead of NAPI_MODULE. The macro includes NAPI_MODULE, thus ensuring Node-API module registration.

Did you find this page helpful?