wasmer-napi 0.702.0-alpha.3

NAPI library for Wasmer WebAssembly runtime
#include "internal/napi_callback_info.h"

napi_callback_info__::napi_callback_info__(napi_env env,
                                           JSValueConst this_val,
                                           JSValue new_target,
                                           int argc,
                                           JSValueConst *argv,
                                           void *data)
    : env_{env},
      this_val_{this_val},
      new_target_{new_target},
      argc_{argc},
      argv_{argv},
      data_{data}
{
}

napi_callback_info__::~napi_callback_info__()
{
}

napi_env napi_callback_info__::env() const
{
  return env_;
}

JSValueConst napi_callback_info__::this_value() const
{
  return this_val_;
}

JSValue napi_callback_info__::new_target() const
{
  return new_target_;
}

size_t napi_callback_info__::argc() const
{
  return argc_ < 0 ? 0 : static_cast<size_t>(argc_);
}

JSValueConst napi_callback_info__::arg(size_t index) const
{
  return index < argc() ? argv_[index] : JS_UNDEFINED;
}

void *napi_callback_info__::data() const
{
  return data_;
}