pub enum WasmArtifactSubType {
Cjs,
Esm,
Wasm,
Web,
}
Expand description
WASM artifacts commonly produced for a published entity. The subtype should be passed as parameter of the entity-defined artifact type enumeration, like in the example:
Examples
use codec::{Decode, Encode};
use anagolay_support::{ArtifactType, WasmArtifactSubType};
#[derive(Encode, Decode, Clone, PartialEq, Eq)]
enum OperationArtifactType {
Wasm(WasmArtifactSubType), Docs, Git
}
impl ArtifactType for OperationArtifactType {}
#[derive(Encode, Decode, Clone, PartialEq, Eq)]
enum WorkflowArtifactType {
Wasm(WasmArtifactSubType), Docs, Git
}
impl ArtifactType for WorkflowArtifactType {}
let op_esm_artifact_type = OperationArtifactType::Wasm(WasmArtifactSubType::Esm);
let wf_esm_artifact_type = WorkflowArtifactType::Wasm(WasmArtifactSubType::Esm);
Variants
Cjs
CommonJS module for the direct use in the nodejs env which doesn’t have the ESM support. When Nodejs has native ESM support this should be used only for the legacy versions. Check here the Nodejs ESM status.
Esm
Native ES module, usually used with bundler software like webpack. You can use this just by including it, the wasm will be instantiated on require time. Example can be found here and official docs here. For the official NODEJS support see this doc If you want to use this with nodejs, use the bundler.
Wasm
Just a compiled WASM file without any acompanied JS or .d.ts
files. You have to do all
things manual.
Web
This is an ES module with manual instantiation of the wasm. It doesn’t include polyfills More info is on the wasm-pack doc website and wasm-bindgen
Example in Javascript
import init, { execute } from './op-file'
async function main() {
await init() //initialize wasm
const e = execute([new Uint8Array(7)], new Map())
console.log(e.decode());
}
main().catch(console.error)
Trait Implementations
sourceimpl Clone for WasmArtifactSubType
impl Clone for WasmArtifactSubType
sourcefn clone(&self) -> WasmArtifactSubType
fn clone(&self) -> WasmArtifactSubType
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for WasmArtifactSubType
impl Debug for WasmArtifactSubType
sourceimpl Decode for WasmArtifactSubType
impl Decode for WasmArtifactSubType
sourcefn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<'de> Deserialize<'de> for WasmArtifactSubType
impl<'de> Deserialize<'de> for WasmArtifactSubType
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Encode for WasmArtifactSubType
impl Encode for WasmArtifactSubType
sourcefn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
Convert self to a slice and append it to the destination.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl Serialize for WasmArtifactSubType
impl Serialize for WasmArtifactSubType
impl EncodeLike<WasmArtifactSubType> for WasmArtifactSubType
impl Eq for WasmArtifactSubType
impl StructuralEq for WasmArtifactSubType
impl StructuralPartialEq for WasmArtifactSubType
Auto Trait Implementations
impl RefUnwindSafe for WasmArtifactSubType
impl Send for WasmArtifactSubType
impl Sync for WasmArtifactSubType
impl Unpin for WasmArtifactSubType
impl UnwindSafe for WasmArtifactSubType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> Hashable for T where
T: Codec,
impl<T> Hashable for T where
T: Codec,
pub fn blake2_128(&self) -> [u8; 16]
pub fn blake2_256(&self) -> [u8; 32]
pub fn blake2_128_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn twox_128(&self) -> [u8; 16]
pub fn twox_256(&self) -> [u8; 32]
pub fn twox_64_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn identity(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.