Struct deno_core::JsRealm

source ·
pub struct JsRealm(_);
Expand description

A representation of a JavaScript realm tied to a JsRuntime, that allows execution in the realm’s context.

A JsRealm instance is a reference to an already existing realm, which does not hold ownership of it, so instances can be created and dropped as needed. As such, calling JsRealm::new doesn’t create a new realm, and cloning a JsRealm only creates a new reference. See JsRuntime::create_realm to create new realms instead.

Despite JsRealm instances being references, multiple instances that point to the same realm won’t overlap because every operation requires passing a mutable reference to the v8::Isolate. Therefore, no operation on two JsRealm instances tied to the same isolate can be run at the same time, regardless of whether they point to the same realm.

Panics

Every method of JsRealm will panic if you call it with a reference to a v8::Isolate other than the one that corresponds to the current context.

Lifetime of the realm

As long as the corresponding isolate is alive, a JsRealm instance will keep the underlying V8 context alive even if it would have otherwise been garbage collected.

Implementations§

Executes traditional JavaScript code (traditional = not ES modules) in the realm’s context.

name can be a filepath or any other string, eg.

  • “/some/file/path.js”
  • “[native code]”

The same name value can be used for multiple executions.

Error can usually be downcast to JsError.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.