pub struct WasmEngine { /* private fields */ }Expand description
A WASM checker plugin loaded via Extism.
The plugin must export a check function that accepts a JSON string
{"text": "...", "language_id": "..."} and returns a JSON array of
diagnostics matching the ExternalDiagnostic schema.
Implementations§
Trait Implementations§
Source§impl Engine for WasmEngine
impl Engine for WasmEngine
fn name(&self) -> &'static str
fn check<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
text: &'life1 str,
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Diagnostic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn supported_languages(&self) -> Vec<&'static str>
fn supported_languages(&self) -> Vec<&'static str>
BCP-47 primary subtags this engine supports. Empty = all languages.
Source§fn check_many<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
texts: &'life1 [String],
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Vec<Result<Vec<Diagnostic>>>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn check_many<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
texts: &'life1 [String],
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Vec<Result<Vec<Diagnostic>>>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check a batch of independent texts, returning one result per input in
order. Read more
impl Send for WasmEngine
Auto Trait Implementations§
impl !RefUnwindSafe for WasmEngine
impl !UnwindSafe for WasmEngine
impl Freeze for WasmEngine
impl Sync for WasmEngine
impl Unpin for WasmEngine
impl UnsafeUnpin for WasmEngine
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more