| 2927 | } |
| 2928 | |
| 2929 | napi_status napi_run_script(napi_env env, |
| 2930 | napi_value script, |
| 2931 | napi_value* result) { |
| 2932 | NAPI_PREAMBLE(env); |
| 2933 | CHECK_ARG(env, script); |
| 2934 | CHECK_ARG(env, result); |
| 2935 | |
| 2936 | v8::Local<v8::Value> v8_script = v8impl::V8LocalValueFromJsValue(script); |
| 2937 | |
| 2938 | if (!v8_script->IsString()) { |
| 2939 | return napi_set_last_error(env, napi_string_expected); |
| 2940 | } |
| 2941 | |
| 2942 | v8::Local<v8::Context> context = env->context(); |
| 2943 | |
| 2944 | auto maybe_script = v8::Script::Compile(context, |
| 2945 | v8::Local<v8::String>::Cast(v8_script)); |
| 2946 | CHECK_MAYBE_EMPTY(env, maybe_script, napi_generic_failure); |
| 2947 | |
| 2948 | auto script_result = |
| 2949 | maybe_script.ToLocalChecked()->Run(context); |
| 2950 | CHECK_MAYBE_EMPTY(env, script_result, napi_generic_failure); |
| 2951 | |
| 2952 | *result = v8impl::JsValueFromV8LocalValue(script_result.ToLocalChecked()); |
| 2953 | return GET_RETURN_STATUS(env); |
| 2954 | } |
| 2955 | |
| 2956 | napi_status napi_run_script(napi_env env, |
| 2957 | napi_value script, |
no test coverage detected