ok status

C utilities for asserting that a Node-API call returns an "ok" status.

Usage

var headerDir = require( '@stdlib/assert/napi/status-ok' );

headerDir

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

var dir = headerDir;
// returns <string>

Examples

var headerDir = require( '@stdlib/assert/napi/status-ok' );

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

C APIs

Usage

#include "stdlib/assert/napi/status_ok.h"

STDLIB_ASSERT_NAPI_STATUS_OK_RET_VOID( env, call, message )

Macro for asserting that a Node-API API call returns an "ok" status.

#include <node_api.h>

static void foo( const napi_env env, const napi_value value, double *out ) {
    // ...

    STDLIB_ASSERT_NAPI_STATUS_OK_RET_VOID( env, napi_get_value_double( env, value, out ), "" )

    // ...

    return;
}

The macro expects the following arguments:

  • env: environment under which the function is invoked.
  • call: expression which returns a Node-API status.
  • message: error message.

If a status is not "ok", an exception is raised and void returned.

STDLIB_ASSERT_NAPI_STATUS_OK_RET_NULL( env, call, message )

Macro for asserting that a Node-API API call returns an "ok" status.

#include <node_api.h>

static napi_value foo( const napi_env env, const napi_value value, double *out ) {
    // ...

    STDLIB_ASSERT_NAPI_STATUS_OK_RET_NULL( env, napi_get_value_double( env, value, out ), "" )

    // ...

    return NULL;
}

The macro expects the following arguments:

  • env: environment under which the function is invoked.
  • call: expression which returns a Node-API status.
  • message: error message.

If a status is not "ok", an exception is raised and NULL returned.

STDLIB_ASSERT_NAPI_STATUS_OK_RET_VALUE( env, call, message, value )

Macro for asserting that a Node-API API call returns an "ok" status.

#include <node_api.h>

static double foo( const napi_env env, const napi_value value ) {
    // ...

    double *out;
    STDLIB_ASSERT_NAPI_STATUS_OK_RET_VALUE( env, napi_get_value_double( env, value, out ), "", 0.0/0.0 )

    // ...

    return out;
}

The macro expects the following arguments:

  • env: environment under which the function is invoked.
  • call: expression which returns a Node-API status.
  • message: error message.
  • value: return value.

If a status is not "ok", an exception is raised and the value specified by value returned.

Did you find this page helpful?