[][src]Struct deno_core::EsIsolate

pub struct EsIsolate {
    pub modules: Modules,
    // some fields omitted
}

More specialized version of Isolate that provides loading and execution of ES Modules.

Creating EsIsolate requires to pass loader argument that implements ModuleLoader trait - that way actual resolution and loading of modules can be customized by the implementor.

Fields

modules: Modules

Methods

impl EsIsolate[src]

pub fn new(
    loader: Rc<dyn ModuleLoader>,
    startup_data: StartupData,
    will_snapshot: bool
) -> Box<Self>
[src]

pub fn mod_evaluate(&mut self, id: ModuleId) -> Result<(), ErrBox>[src]

Evaluates an already instantiated ES module.

ErrBox can be downcast to a type that exposes additional information about the V8 exception. By default this type is JSError, however it may be a different type if Isolate::set_js_error_create_fn() has been used.

pub fn module_resolve_cb(
    &mut self,
    specifier: &str,
    referrer_id: ModuleId
) -> ModuleId
[src]

pub fn dyn_import_cb(
    &mut self,
    specifier: &str,
    referrer: &str,
    id: DynImportId
)
[src]

pub async fn load_module<'_, '_>(
    &'_ mut self,
    specifier: &'_ ModuleSpecifier,
    code: Option<String>
) -> Result<ModuleId, ErrBox>
[src]

Asynchronously load specified module and all of it's dependencies

User must call Isolate::mod_evaluate with returned ModuleId manually after load is finished.

Methods from Deref<Target = Isolate>

pub fn register_op<F>(&self, name: &str, op: F) -> OpId where
    F: Fn(&[u8], Option<ZeroCopyBuf>) -> CoreOp + 'static, 
[src]

Defines the how Deno.core.dispatch() acts. Called whenever Deno.core.dispatch() is called in JavaScript. zero_copy_buf corresponds to the second argument of Deno.core.dispatch().

Requires runtime to explicitly ask for op ids before using any of the ops.

pub fn set_js_error_create_fn(
    &mut self,
    f: impl Fn(JSError) -> ErrBox + 'static
)
[src]

Allows a callback to be set whenever a V8 exception is made. This allows the caller to wrap the JSError into an error. By default this callback is set to JSError::create.

pub fn dispatch_op<'s>(
    &mut self,
    scope: &mut impl ToLocal<'s>,
    op_id: OpId,
    control_buf: &[u8],
    zero_copy_buf: Option<ZeroCopyBuf>
) -> Option<(OpId, Box<[u8]>)>
[src]

pub fn execute(
    &mut self,
    js_filename: &str,
    js_source: &str
) -> Result<(), ErrBox>
[src]

Executes traditional JavaScript code (traditional = not ES modules)

ErrBox can be downcast to a type that exposes additional information about the V8 exception. By default this type is JSError, however it may be a different type if Isolate::set_js_error_create_fn() has been used.

pub fn snapshot(&mut self) -> OwnedStartupData[src]

Takes a snapshot. The isolate should have been created with will_snapshot set to true.

ErrBox can be downcast to a type that exposes additional information about the V8 exception. By default this type is JSError, however it may be a different type if Isolate::set_js_error_create_fn() has been used.

Trait Implementations

impl Deref for EsIsolate[src]

type Target = Isolate

The resulting type after dereferencing.

impl DerefMut for EsIsolate[src]

impl Future for EsIsolate[src]

type Output = Result<(), ErrBox>

The type of value produced on completion.

Auto Trait Implementations

impl !RefUnwindSafe for EsIsolate

impl !Send for EsIsolate

impl !Sync for EsIsolate

impl Unpin for EsIsolate

impl !UnwindSafe for EsIsolate

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T> FutureExt for T where
    T: Future + ?Sized
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<F, T, E> TryFuture for F where
    F: Future<Output = Result<T, E>> + ?Sized
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future

impl<Fut> TryFutureExt for Fut where
    Fut: TryFuture + ?Sized
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.