MCPcopy Create free account
hub / github.com/BabylonJS/BabylonNative / napi_run_script

Function napi_run_script

Dependencies/napi/source/js_native_api_v8.cc:2929–2954  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2927}
2928
2929napi_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
2956napi_status napi_run_script(napi_env env,
2957 napi_value script,

Callers 1

EvalFunction · 0.70

Calls 7

V8LocalValueFromJsValueFunction · 0.85
CastFunction · 0.85
JsValueFromV8LocalValueFunction · 0.85
IsStringMethod · 0.80
contextMethod · 0.80
napi_set_last_errorFunction · 0.70
RunMethod · 0.45

Tested by

no test coverage detected