argv

C utilities for retrieving Node-API add-on callback arguments.

Usage

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

headerDir

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

var dir = headerDir;
// returns <string>

Examples

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

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

C APIs

Usage

#include "stdlib/napi/argv.h"

STDLIB_NAPI_ARGV( env, info, argv, argc, nargs )

Macro for retrieving add-on callback arguments.

#include <node_api.h>

// ...

static napi_value addon( napi_env env, napi_callback_info info ) {
    // Retrieve callback arguments:
    STDLIB_NAPI_ARGV( env, info, argv, argc, 6 );

    // ...
}

The macro expects the following arguments:

  • env: environment under which the callback is invoked.
  • info: callback data.
  • argv: variable name for storing argument values.
  • argc: variable name for storing the number of provided arguments.
  • nargs: expected number of arguments.

If the number of provided arguments does not equal the expected number of arguments, the macro's generated code raises an exception.

STDLIB_NAPI_ARGV_INDEX2ORDINAL( index )

Macro for converting an index to an ordinal numeral.

STDLIB_NAPI_ARGV_INDEX2ORDINAL( 2 )

The macro expects the following arguments:

  • index: argument index value.

The first few ordinal numerals are as follows:

  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 0 ): "First".
  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 1 ): "Second".
  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 2 ): "Third".
  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 3 ): "Fourth".
  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 4 ): "Fifth".
  • ...
  • STDLIB_NAPI_ARGV_INDEX2ORDINAL( 29 ): "Thirtieth".

This macro can be useful when generating error messages which state which argument is invalid (e.g., "invalid argument. First argument must be a number." ).

Did you find this page helpful?