rspack_core 0.102.0-beta.0

rspack core
Documentation
#[cfg(target_family = "wasm")]
mod memory;
#[cfg(not(target_family = "wasm"))]
mod turbo;

#[cfg(target_family = "wasm")]
pub use memory::{Database, DatabaseValue};
#[cfg(not(target_family = "wasm"))]
pub use turbo::{Database, DatabaseValue};

#[derive(Debug, Clone, Copy)]
pub enum DatabaseFamily {
  Cache,
  Snapshot,
}

impl DatabaseFamily {
  pub const COUNT: usize = 2;

  pub const fn index(self) -> usize {
    match self {
      Self::Cache => 0,
      Self::Snapshot => 1,
    }
  }
}

#[derive(Debug)]
pub struct DatabaseWrite<'a> {
  pub family: DatabaseFamily,
  pub key: &'a [u8],
  pub value: &'a [u8],
}

impl<'a> DatabaseWrite<'a> {
  pub fn new(family: DatabaseFamily, key: &'a [u8], value: &'a [u8]) -> Self {
    Self { family, key, value }
  }
}