![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <v8-script.h>
Public Types | |
enum | Status { kUninstantiated , kInstantiating , kInstantiated , kEvaluating , kEvaluated , kErrored } |
using | ResolveModuleCallback |
using | ResolveSourceCallback |
using | SyntheticModuleEvaluationSteps |
Static Public Member Functions | |
static Local< Module > | CreateSyntheticModule (Isolate *isolate, Local< String > module_name, const MemorySpan< const Local< String > > &export_names, SyntheticModuleEvaluationSteps evaluation_steps) |
static V8_INLINE Module * | Cast (Data *data) |
Static Private Member Functions | |
static void | CheckCast (Data *obj) |
A compiled JavaScript module.
Definition at line 172 of file v8-script.h.
Definition at line 216 of file v8-script.h.
Definition at line 219 of file v8-script.h.
Definition at line 300 of file v8-script.h.
enum v8::Module::Status |
The different states a module can be in.
This corresponds to the states used in ECMAScript except that "evaluated" is split into kEvaluated and kErrored, indicating success and failure, respectively.
Enumerator | |
---|---|
kUninstantiated | |
kInstantiating | |
kInstantiated | |
kEvaluating | |
kEvaluated | |
kErrored |
Definition at line 181 of file v8-script.h.
Definition at line 943 of file v8-script.h.
|
staticprivate |
|
static |
Creates a new SyntheticModule with the specified export names, where evaluation_steps will be executed upon module evaluation. export_names must not contain duplicates. module_name is used solely for logging/debugging and doesn't affect module behavior.
Definition at line 2271 of file api.cc.
MaybeLocal< Value > v8::Module::Evaluate | ( | Local< Context > | context | ) |
Evaluates the module and its dependencies.
If status is kInstantiated, run the module's code and return a Promise object. On success, set status to kEvaluated and resolve the Promise with the completion value; on failure, set status to kErrored and reject the Promise with the error.
If IsGraphAsync() is false, the returned Promise is settled.
Definition at line 2251 of file api.cc.
int v8::Module::GetIdentityHash | ( | ) | const |
Local< FixedArray > v8::Module::GetModuleRequests | ( | ) | const |
std::pair< LocalVector< Module >, LocalVector< Message > > v8::Module::GetStalledTopLevelAwaitMessages | ( | Isolate * | isolate | ) |
Search the modules requested directly or indirectly by the module for any top-level await that has not yet resolved. If there is any, the returned pair of vectors (of equal size) contain the unresolved module and corresponding message with the pending top-level await. An embedder may call this before exiting to improve error messages.
Definition at line 2313 of file api.cc.
Module::Status v8::Module::GetStatus | ( | ) | const |
Local< UnboundModuleScript > v8::Module::GetUnboundModuleScript | ( | ) |
bool v8::Module::HasTopLevelAwait | ( | ) | const |
Returns whether this module is individually asynchronous (for example, if it's a Source Text Module Record containing a top-level await). See [[HasTLA]] in https://tc39.es/ecma262/#sec-cyclic-module-records
Definition at line 2205 of file api.cc.
Maybe< bool > v8::Module::InstantiateModule | ( | Local< Context > | context, |
ResolveModuleCallback | module_callback, | ||
ResolveSourceCallback | source_callback = nullptr ) |
bool v8::Module::IsGraphAsync | ( | ) | const |
bool v8::Module::IsSourceTextModule | ( | ) | const |
bool v8::Module::IsSyntheticModule | ( | ) | const |
int v8::Module::ScriptId | ( | ) | const |
Maybe< bool > v8::Module::SetSyntheticModuleExport | ( | Isolate * | isolate, |
Local< String > | export_name, | ||
Local< Value > | export_value ) |
Set this module's exported value for the name export_name to the specified export_value. This method must be called only on Modules created via CreateSyntheticModule. An error will be thrown if export_name is not one of the export_names that were passed in that CreateSyntheticModule call. Returns Just(true) on success, Nothing<bool>() if an error was thrown.
Definition at line 2291 of file api.cc.
Location v8::Module::SourceOffsetToLocation | ( | int | offset | ) | const |