pub struct RuntimeOptions {
Show 19 fields pub source_map_getter: Option<Box<dyn SourceMapGetter>>, pub get_error_class_fn: Option<GetErrorClassFn>, pub module_loader: Option<Rc<dyn ModuleLoader>>, pub op_metrics_factory_fn: Option<OpMetricsFactoryFn>, pub extensions: Vec<Extension>, pub preserve_snapshotted_modules: Option<&'static [&'static str]>, pub startup_snapshot: Option<Snapshot>, pub skip_op_registration: bool, pub create_params: Option<CreateParams>, pub v8_platform: Option<SharedRef<Platform>>, pub shared_array_buffer_store: Option<SharedArrayBufferStore>, pub compiled_wasm_module_store: Option<CompiledWasmModuleStore>, pub inspector: bool, pub is_main: bool, pub feature_checker: Option<Arc<FeatureChecker>>, pub validate_import_attributes_cb: Option<ValidateImportAttributesCb>, pub import_meta_resolve_callback: Option<Box<dyn Fn(&dyn ModuleLoader, String, String) -> Result<ModuleSpecifier, Error>>>, pub wait_for_inspector_disconnect_callback: Option<Box<dyn Fn()>>, pub custom_module_evaluation_cb: Option<Box<dyn Fn(&mut HandleScope<'_>, Cow<'_, str>, &FastString, ModuleSourceCode) -> Result<CustomModuleEvaluationKind, AnyError>>>,
}

Fields§

§source_map_getter: Option<Box<dyn SourceMapGetter>>

Source map reference for errors.

§get_error_class_fn: Option<GetErrorClassFn>

Allows to map error type to a string “class” used to represent error in JavaScript.

§module_loader: Option<Rc<dyn ModuleLoader>>

Implementation of ModuleLoader which will be called when V8 requests to load ES modules in the main realm.

If not provided runtime will error if code being executed tries to load modules.

§op_metrics_factory_fn: Option<OpMetricsFactoryFn>

Provide a function that may optionally provide a metrics collector for a given op.

§extensions: Vec<Extension>

JsRuntime extensions, not to be confused with ES modules. Only ops registered by extensions will be initialized. If you need to execute JS code from extensions, pass source files in js or esm option on ExtensionBuilder.

If you are creating a runtime from a snapshot take care not to include JavaScript sources in the extensions.

§preserve_snapshotted_modules: Option<&'static [&'static str]>

If provided, the module map will be cleared and left only with the specifiers in this list. If not provided, the module map is left intact.

§startup_snapshot: Option<Snapshot>

V8 snapshot that should be loaded on startup.

§skip_op_registration: bool

Should op registration be skipped?

§create_params: Option<CreateParams>

Isolate creation parameters.

§v8_platform: Option<SharedRef<Platform>>

V8 platform instance to use. Used when Deno initializes V8 (which it only does once), otherwise it’s silently dropped.

§shared_array_buffer_store: Option<SharedArrayBufferStore>

The store to use for transferring SharedArrayBuffers between isolates. If multiple isolates should have the possibility of sharing SharedArrayBuffers, they should use the same SharedArrayBufferStore. If no SharedArrayBufferStore is specified, SharedArrayBuffer can not be serialized.

§compiled_wasm_module_store: Option<CompiledWasmModuleStore>

The store to use for transferring WebAssembly.Module objects between isolates. If multiple isolates should have the possibility of sharing WebAssembly.Module objects, they should use the same CompiledWasmModuleStore. If no CompiledWasmModuleStore is specified, WebAssembly.Module objects cannot be serialized.

§inspector: bool

Start inspector instance to allow debuggers to connect.

§is_main: bool

Describe if this is the main runtime instance, used by debuggers in some situation - like disconnecting when program finishes running.

§feature_checker: Option<Arc<FeatureChecker>>

An optional instance of FeatureChecker. If one is not provided, the default instance will be created that has no features enabled.

§validate_import_attributes_cb: Option<ValidateImportAttributesCb>

A callback that can be used to validate import attributes received at the import site. If no callback is provided, all attributes are allowed.

Embedders might use this callback to eg. validate value of “type” attribute, not allowing other types than “JSON”.

To signal validation failure, users should throw an V8 exception inside the callback.

§import_meta_resolve_callback: Option<Box<dyn Fn(&dyn ModuleLoader, String, String) -> Result<ModuleSpecifier, Error>>>

A callback that can be used to customize behavior of import.meta.resolve() API. If no callback is provided, a default one is used. The default callback returns value of RuntimeOptions::module_loader::resolve() call.

§wait_for_inspector_disconnect_callback: Option<Box<dyn Fn()>>

A callback that is called when the event loop has no more work to do, but there are active, non-blocking inspector session (eg. Chrome DevTools inspector is connected). The embedder can use this callback to eg. print a message notifying user about program finished running. This callback can be called multiple times, eg. after the program finishes more work can be scheduled from the DevTools.

§custom_module_evaluation_cb: Option<Box<dyn Fn(&mut HandleScope<'_>, Cow<'_, str>, &FastString, ModuleSourceCode) -> Result<CustomModuleEvaluationKind, AnyError>>>

A callback that allows to evaluate a custom type of a module - eg. embedders might implement loading WASM or test modules.

Trait Implementations§

source§

impl Default for RuntimeOptions

source§

fn default() -> RuntimeOptions

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.