pub struct Extension {Show 13 fields
pub name: &'static str,
pub deps: &'static [&'static str],
pub js_files: Cow<'static, [ExtensionFileSource]>,
pub esm_files: Cow<'static, [ExtensionFileSource]>,
pub esm_entry_point: Option<&'static str>,
pub ops: Cow<'static, [OpDecl]>,
pub external_references: Cow<'static, [ExternalReference<'static>]>,
pub event_loop_middleware: Option<fn(_: Rc<RefCell<OpState>>, _: &mut Context<'_>) -> bool>,
pub global_template_middleware: Option<for<'s> fn(_: &mut HandleScope<'s, ()>, _: Local<'s, ObjectTemplate>) -> Local<'s, ObjectTemplate>>,
pub global_object_middleware: Option<for<'s> fn(_: &mut HandleScope<'s>, _: Local<'s, Object>)>,
pub op_state_fn: Option<Box<dyn FnOnce(&mut OpState)>>,
pub middleware_fn: Option<Box<OpMiddlewareFn>>,
pub enabled: bool,
}
Fields§
§name: &'static str
§deps: &'static [&'static str]
§js_files: Cow<'static, [ExtensionFileSource]>
§esm_files: Cow<'static, [ExtensionFileSource]>
§esm_entry_point: Option<&'static str>
§ops: Cow<'static, [OpDecl]>
§external_references: Cow<'static, [ExternalReference<'static>]>
§event_loop_middleware: Option<fn(_: Rc<RefCell<OpState>>, _: &mut Context<'_>) -> bool>
§global_template_middleware: Option<for<'s> fn(_: &mut HandleScope<'s, ()>, _: Local<'s, ObjectTemplate>) -> Local<'s, ObjectTemplate>>
§global_object_middleware: Option<for<'s> fn(_: &mut HandleScope<'s>, _: Local<'s, Object>)>
§op_state_fn: Option<Box<dyn FnOnce(&mut OpState)>>
§middleware_fn: Option<Box<OpMiddlewareFn>>
§enabled: bool
Implementations§
source§impl Extension
impl Extension
pub fn builder(name: &'static str) -> ExtensionBuilder
👎Deprecated: Use Extension { …, ..Default::default() }
pub fn builder_with_deps( name: &'static str, deps: &'static [&'static str] ) -> ExtensionBuilder
👎Deprecated: Use Extension { …, ..Default::default() }
sourcepub fn check_dependencies(&self, previous_exts: &[Extension])
pub fn check_dependencies(&self, previous_exts: &[Extension])
Check if dependencies have been loaded, and errors if either:
- The extension is depending on itself or an extension with the same name.
- A dependency hasn’t been loaded yet.
sourcepub fn get_js_sources(&self) -> &[ExtensionFileSource]
pub fn get_js_sources(&self) -> &[ExtensionFileSource]
returns JS source code to be loaded into the isolate (either at snapshotting, or at startup). as a vector of a tuple of the file name, and the source code.
pub fn get_esm_sources(&self) -> &[ExtensionFileSource]
pub fn get_esm_entry_point(&self) -> Option<&'static str>
sourcepub fn init_ops(&mut self) -> &[OpDecl]
pub fn init_ops(&mut self) -> &[OpDecl]
Called at JsRuntime startup to initialize ops in the isolate.
sourcepub fn take_state(&mut self, state: &mut OpState)
pub fn take_state(&mut self, state: &mut OpState)
Allows setting up the initial op-state of an isolate at startup.
sourcepub fn take_middleware(&mut self) -> Option<Box<OpMiddlewareFn>>
pub fn take_middleware(&mut self) -> Option<Box<OpMiddlewareFn>>
Middleware should be called before init_ops
pub fn get_event_loop_middleware( &mut self ) -> Option<fn(_: Rc<RefCell<OpState>>, _: &mut Context<'_>) -> bool>
pub fn get_global_template_middleware( &mut self ) -> Option<for<'s> fn(_: &mut HandleScope<'s, ()>, _: Local<'s, ObjectTemplate>) -> Local<'s, ObjectTemplate>>
pub fn get_global_object_middleware( &mut self ) -> Option<for<'s> fn(_: &mut HandleScope<'s>, _: Local<'s, Object>)>
pub fn get_external_references(&mut self) -> &[ExternalReference<'static>]
pub fn enabled(self, enabled: bool) -> Self
pub fn disable(self) -> Self
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Extension
impl !Send for Extension
impl !Sync for Extension
impl Unpin for Extension
impl !UnwindSafe for Extension
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
Mutably borrows from an owned value. Read more