use wasm_bindgen::prelude::wasm_bindgen;
#[wasm_bindgen]
#[derive(Clone, Copy)]
pub struct Crc32(cml_chain::byron::Crc32);
#[wasm_bindgen]
impl Crc32 {
#[inline]
pub fn new() -> Self {
Self(cml_chain::byron::Crc32::new())
}
pub fn update(&mut self, bytes: &[u8]) {
self.0.update(bytes);
}
pub fn finalize(&self) -> u32 {
self.0.finalize()
}
}
impl From<cml_chain::byron::Crc32> for Crc32 {
fn from(native: cml_chain::byron::Crc32) -> Self {
Self(native)
}
}
impl From<Crc32> for cml_chain::byron::Crc32 {
fn from(wasm: Crc32) -> Self {
wasm.0
}
}
impl AsRef<cml_chain::byron::Crc32> for Crc32 {
fn as_ref(&self) -> &cml_chain::byron::Crc32 {
&self.0
}
}