pub struct RuntimeOptions {Show 19 fields
pub module_loader: Option<Rc<dyn ModuleLoader>>,
pub extension_code_cache: Option<Rc<dyn ExtCodeCache>>,
pub extension_transpiler: Option<Rc<dyn Fn(ModuleName, ModuleCodeString) -> Result<(ModuleCodeString, Option<SourceMapData>), JsErrorBox>>>,
pub op_metrics_factory_fn: Option<OpMetricsFactoryFn>,
pub extensions: Vec<Extension>,
pub startup_snapshot: Option<&'static [u8]>,
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 validate_import_attributes_cb: Option<ValidateImportAttributesCb>,
pub wait_for_inspector_disconnect_callback: Option<Box<dyn Fn()>>,
pub custom_module_evaluation_cb: Option<Box<dyn Fn(&mut PinScope<'_, '_>, Cow<'_, str>, &FastString, ModuleSourceCode) -> Result<CustomModuleEvaluationKind, JsErrorBox>>>,
pub eval_context_code_cache_cbs: Option<(Box<dyn Fn(&Url, &String) -> Result<SourceCodeCacheInfo, JsErrorBox>>, Box<dyn Fn(Url, u64, &[u8])>)>,
pub import_assertions_support: ImportAssertionsSupport,
pub maybe_op_stack_trace_callback: Option<OpStackTraceCallback>,
}Fields§
§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.
extension_code_cache: Option<Rc<dyn ExtCodeCache>>If specified, enables V8 code cache for extension code.
extension_transpiler: Option<Rc<dyn Fn(ModuleName, ModuleCodeString) -> Result<(ModuleCodeString, Option<SourceMapData>), JsErrorBox>>>If specified, transpiles extensions before loading.
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.
startup_snapshot: Option<&'static [u8]>V8 snapshot that should be loaded on startup.
For testing, use runtime.snapshot() and then Box::leak to acquire
skip_op_registration: boolShould 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.
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: boolStart inspector instance to allow debuggers to connect.
is_main: boolDescribe if this is the main runtime instance, used by debuggers in some situation - like disconnecting when program finishes running.
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.
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 PinScope<'_, '_>, Cow<'_, str>, &FastString, ModuleSourceCode) -> Result<CustomModuleEvaluationKind, JsErrorBox>>>A callback that allows to evaluate a custom type of a module - eg. embedders might implement loading WASM or test modules.
eval_context_code_cache_cbs: Option<(Box<dyn Fn(&Url, &String) -> Result<SourceCodeCacheInfo, JsErrorBox>>, Box<dyn Fn(Url, u64, &[u8])>)>Callbacks to retrieve and store code cache for scripts evaluated through evalContext.
import_assertions_support: ImportAssertionsSupport§maybe_op_stack_trace_callback: Option<OpStackTraceCallback>A callback to specify how stack traces should be used when an op is
annotated with stack_trace attribute. Use wisely, as it’s very expensive
to collect stack traces on each op invocation.
Trait Implementations§
Source§impl Default for RuntimeOptions
impl Default for RuntimeOptions
Source§fn default() -> RuntimeOptions
fn default() -> RuntimeOptions
Auto Trait Implementations§
impl Freeze for RuntimeOptions
impl !RefUnwindSafe for RuntimeOptions
impl !Send for RuntimeOptions
impl !Sync for RuntimeOptions
impl Unpin for RuntimeOptions
impl !UnwindSafe for RuntimeOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.