argv_strided_int8array
Convert a Node-API value representing a strided array to a signed 8-bit integer array.
Usage
var headerDir = require( '@stdlib/napi/argv-strided-int8array' );
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-strided-int8array' );
console.log( headerDir );
// => <string>
C APIs
Usage
#include "stdlib/napi/argv_strided_int8array.h"
stdlib_napi_argv_strided_int8array( env, N, stride, value, **data, *message1, *message2, *err )
Converts a Node-API value representing a strided array to a signed 8-bit integer array.
#include "stdlib/napi/argv_strided_int8array.h"
#include <node_api.h>
#include <stdint.h>
static napi_value addon( napi_env env, napi_callback_info info ) {
    napi_value value;
    // ...
    int64_t N = 100;
    int64_t stride = 1;
    // ...
    int8_t *X;
    napi_value err;
    napi_status status = stdlib_napi_argv_strided_int8array( env, N, stride, value, &X, "Must be a typed array.", "Must have sufficient elements.", &err );
    assert( status == napi_ok );
    if ( err != NULL ) {
        assert( napi_throw( env, err ) == napi_ok );
        return NULL;
    }
    // ...
}
The function accepts the following arguments:
- env: 
[in] napi_envenvironment under which the function is invoked. - N: 
[in] int64_tnumber of indexed elements. - stride: 
[in] int64_tstride length. - value: 
[in] napi_valueNode-API value. - data: 
[out] int8_t**pointer for returning a reference to the output array. - message1: 
[in] char*error message if a value is not anInt8Array. - message2: 
[in] char*error message if a value has insufficient elements. - err: 
[out] napi_value*pointer for storing a JavaScript error. If not provided a number, the function setserrwith a JavaScript error; otherwise,erris set toNULL. 
napi_status stdlib_napi_argv_strided_int8array( const napi_env env, const int64_t N, const int64_t stride, const napi_value value, int8_t **data, const char *message1, const char *message2, napi_value *err );
The function returns a napi_status status code indicating success or failure (returns napi_ok if success).
STDLIB_NAPI_ARGV_STRIDED_INT8ARRAY( env, X, N, stride, argv, index )
Macro for converting an add-on callback argument to a strided signed 8-bit integer array.
#include "stdlib/napi/argv_strided_int8array.h"
#include "stdlib/napi_argv_int64.h"
#include "stdlib/napi/argv.h"
#include <node_api.h>
#include <stdint.h>
static void fcn( const int64_t N, const int8_t *X, const int64_t strideX, int8_t *Y, const int64_t strideY ) {
    int64_t i;
    for ( i = 0; i < N; i++ ) {
        Y[ i*strideY ] = X[ i*strideX ];
    }
}
// ...
static napi_value addon( napi_env env, napi_callback_info info ) {
    // Retrieve add-on callback arguments:
    STDLIB_NAPI_ARGV( env, info, argv, argc, 5 );
    // Convert the number of indexed elements to a C type:
    STDLIB_NAPI_ARGV_INT64( env, N, argv, 0 );
    // Convert the stride arguments to C types:
    STDLIB_NAPI_ARGV_INT64( env, strideX, argv, 2 );
    STDLIB_NAPI_ARGV_INT64( env, strideY, argv, 4 );
    // Convert the arrays a C types:
    STDLIB_NAPI_ARGV_STRIDED_INT8ARRAY( env, X, N, strideX, argv, 1 );
    STDLIB_NAPI_ARGV_STRIDED_INT8ARRAY( env, Y, N, strideY, argv, 3 );
    // ...
    fcn( N, X, strideX, Y, strideY );
}
The macro expects the following arguments:
- env: environment under which the callback is invoked.
 - X: output variable name for the array.
 - N: number of indexed elements.
 - stride: stride length.
 - argv: name of the variable containing add-on callback arguments.
 - index: argument index.