trailbase-wasm 0.5.1

WASM runtime for the TrailBase framework
Documentation
pub use crate::wit::wasi::keyvalue::store::Error;
use crate::wit::wasi::keyvalue::store::{Bucket, open as wit_open};

pub fn open() -> Result<Bucket, String> {
  return wit_open("").map_err(|err| err.to_string());
}

pub struct Store {
  bucket: Bucket,
}

impl Store {
  pub fn open() -> Result<Self, String> {
    return Ok(Self { bucket: open()? });
  }

  pub fn get(&self, key: &str) -> Result<Option<Vec<u8>>, Error> {
    return self.bucket.get(key);
  }

  pub fn set(&mut self, key: &str, value: &[u8]) -> Result<(), Error> {
    return self.bucket.set(key, value);
  }

  pub fn delete(&mut self, key: &str) -> Result<(), Error> {
    return self.bucket.delete(key);
  }

  pub fn exists(&mut self, key: &str) -> Result<bool, Error> {
    return self.bucket.exists(key);
  }
}