summaryrefslogtreecommitdiff
path: root/src/js_native_api_v8.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/js_native_api_v8.cc')
-rw-r--r--src/js_native_api_v8.cc42
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) {