Struct TsRuntimeConfig

Source
#[non_exhaustive]
pub struct TsRuntimeConfig { pub msgpack_module: String, pub generate_raw_export_wrappers: bool, pub streaming_instantiation: bool, }

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§msgpack_module: String

The module from which to import the MessagePack dependency.

By default, “@msgpack/msgpack” is used, which should work with Node.js and most NPM-based bundlers. If you use Deno, you may wish to specify “https://unpkg.com/@msgpack/msgpack/mod.ts”.

§generate_raw_export_wrappers: bool

Whether or not to generate raw export wrappers.

Raw export wrappers allow you to call fp_export! functions from the runtime while passing raw MessagePack data, which you can use in some situations to avoid (de)serialization overhead. If you don’t need these wrappers, you can omit them to optimize your bundle size.

Raw export wrappers are named similarly to the regular wrappers (which are generated in any case), but with a Raw suffix.

§streaming_instantiation: bool

Use WebAssembly.instantiateStreaming() instead of WebAssembly.instantiate() for optimizing instantiation in browser use cases. This changes the signature of the createRuntime() function to accept a Response instead of an ArrayBuffer.

See also: https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/instantiateStreaming

This setting is true by default, since MDN recommends it where possible. You may wish to opt-out if you’re using the runtime in an environment that doesn’t support streaming instantiation, such as Node.js.

Implementations§

Source§

impl TsRuntimeConfig

Source

pub fn new() -> Self

Returns a new config instance with default settings.

Source

pub fn with_msgpack_module(self, msgpack_module: &str) -> Self

Sets the msgpack_module setting.

Source

pub fn with_raw_export_wrappers(self) -> Self

Enables the generate_raw_export_wrappers setting.

Source

pub fn without_streaming_instantiation(self) -> Self

Disables the streaming_instantiation setting.

Trait Implementations§

Source§

impl Clone for TsRuntimeConfig

Source§

fn clone(&self) -> TsRuntimeConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TsRuntimeConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TsRuntimeConfig

Source§

fn default() -> Self

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.