diff options
Diffstat (limited to 'src/js_native_api_v8.cc')
-rw-r--r-- | src/js_native_api_v8.cc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index fd3ed2af6a..022ce104eb 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -2887,6 +2887,48 @@ napi_status napi_is_promise(napi_env env, return napi_clear_last_error(env); } +napi_status napi_create_date(napi_env env, + double time, + napi_value* result) { + NAPI_PREAMBLE(env); + CHECK_ARG(env, result); + + v8::MaybeLocal<v8::Value> maybe_date = v8::Date::New(env->context(), time); + CHECK_MAYBE_EMPTY(env, maybe_date, napi_generic_failure); + + *result = v8impl::JsValueFromV8LocalValue(maybe_date.ToLocalChecked()); + + return GET_RETURN_STATUS(env); +} + +napi_status napi_is_date(napi_env env, + napi_value value, + bool* is_date) { + CHECK_ENV(env); + CHECK_ARG(env, value); + CHECK_ARG(env, is_date); + + *is_date = v8impl::V8LocalValueFromJsValue(value)->IsDate(); + + return napi_clear_last_error(env); +} + +napi_status napi_get_date_value(napi_env env, + napi_value value, + double* result) { + NAPI_PREAMBLE(env); + CHECK_ARG(env, value); + CHECK_ARG(env, result); + + v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value); + RETURN_STATUS_IF_FALSE(env, val->IsDate(), napi_date_expected); + + v8::Local<v8::Date> date = val.As<v8::Date>(); + *result = date->ValueOf(); + + return GET_RETURN_STATUS(env); +} + napi_status napi_run_script(napi_env env, napi_value script, napi_value* result) { |