pub struct WasmHashContext { /* private fields */ }Expand description
WASM-compatible Hash context wrapper
This wrapper provides JavaScript-compatible bindings for hash operations:
- Integrates with the new modular architecture
- Includes security validation
- Provides consistent error handling
- Supports all hash algorithms
Implementations§
Source§impl WasmHashContext
impl WasmHashContext
Sourcepub fn new() -> WasmHashContext
pub fn new() -> WasmHashContext
Create a new WASM Hash context with default provider
Sourcepub fn from_hash_context(inner: HashContext) -> WasmHashContext
pub fn from_hash_context(inner: HashContext) -> WasmHashContext
Wrap a Rust HashContext that already has a hash-capable provider (for example from
lib-q-hash::LibQHashProvider in the umbrella crate).
Source§impl WasmHashContext
impl WasmHashContext
Sourcepub fn with_provider(provider: &WasmCryptoProvider) -> WasmHashContext
pub fn with_provider(provider: &WasmCryptoProvider) -> WasmHashContext
Create a new WASM Hash context with custom provider
Sourcepub fn hash(
&mut self,
algorithm: &str,
data: &Uint8Array,
) -> Result<JsValue, JsValue>
pub fn hash( &mut self, algorithm: &str, data: &Uint8Array, ) -> Result<JsValue, JsValue>
Hash data using the specified algorithm
Sourcepub fn security_level(&self) -> u32
pub fn security_level(&self) -> u32
Get the security level of the context
Sourcepub fn is_algorithm_supported(&self, algorithm: &str) -> bool
pub fn is_algorithm_supported(&self, algorithm: &str) -> bool
Check if an algorithm is supported
Sourcepub fn supported_algorithms(&self) -> String
pub fn supported_algorithms(&self) -> String
Get supported algorithms
Trait Implementations§
Source§impl Default for WasmHashContext
impl Default for WasmHashContext
Source§impl From<WasmHashContext> for JsValue
impl From<WasmHashContext> for JsValue
Source§fn from(value: WasmHashContext) -> Self
fn from(value: WasmHashContext) -> Self
Converts to this type from the input type.
Source§impl FromWasmAbi for WasmHashContext
impl FromWasmAbi for WasmHashContext
Source§impl IntoWasmAbi for WasmHashContext
impl IntoWasmAbi for WasmHashContext
Source§impl LongRefFromWasmAbi for WasmHashContext
impl LongRefFromWasmAbi for WasmHashContext
Source§type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
Same as
RefFromWasmAbi::AbiSource§type Anchor = RcRef<WasmHashContext>
type Anchor = RcRef<WasmHashContext>
Same as
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
Same as
RefFromWasmAbi::ref_from_abiSource§impl OptionFromWasmAbi for WasmHashContext
impl OptionFromWasmAbi for WasmHashContext
Source§impl OptionIntoWasmAbi for WasmHashContext
impl OptionIntoWasmAbi for WasmHashContext
Source§impl RefFromWasmAbi for WasmHashContext
impl RefFromWasmAbi for WasmHashContext
Source§type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
The Wasm ABI type references to
Self are recovered from.Source§type Anchor = RcRef<WasmHashContext>
type Anchor = RcRef<WasmHashContext>
The type that holds the reference to
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl RefMutFromWasmAbi for WasmHashContext
impl RefMutFromWasmAbi for WasmHashContext
Source§type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
type Abi = WasmPtr<WasmRefCell<WasmHashContext>>
Same as
RefFromWasmAbi::AbiSource§type Anchor = RcRefMut<WasmHashContext>
type Anchor = RcRefMut<WasmHashContext>
Same as
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
Same as
RefFromWasmAbi::ref_from_abiSource§impl TryFromJsValue for WasmHashContext
impl TryFromJsValue for WasmHashContext
Source§impl VectorFromWasmAbi for WasmHashContext
impl VectorFromWasmAbi for WasmHashContext
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[WasmHashContext]>
Source§impl VectorIntoWasmAbi for WasmHashContext
impl VectorIntoWasmAbi for WasmHashContext
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[WasmHashContext]>) -> Self::Abi
Source§impl WasmDescribeVector for WasmHashContext
impl WasmDescribeVector for WasmHashContext
impl SupportsConstructor for WasmHashContext
impl SupportsInstanceProperty for WasmHashContext
impl SupportsStaticProperty for WasmHashContext
Auto Trait Implementations§
impl Freeze for WasmHashContext
impl !RefUnwindSafe for WasmHashContext
impl Send for WasmHashContext
impl Sync for WasmHashContext
impl Unpin for WasmHashContext
impl UnsafeUnpin for WasmHashContext
impl !UnwindSafe for WasmHashContext
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> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.