feat: Refactor kvstore and vault to use features and logging
- Remove hardcoded dependencies in kvstore Cargo.toml; use features instead. This allows for more flexible compilation for different targets (native vs. WASM). - Improve logging in vault crate using the `log` crate. This makes debugging easier and provides more informative output during execution. Native tests use `env_logger`, WASM tests use `console_log`. - Update README to reflect new logging best practices. - Add cfg attributes to native and wasm modules to improve clarity. - Update traits.rs to specify Send + Sync behavior expectations.
This commit is contained in:
@@ -16,6 +16,11 @@ use crate::error::Result;
|
||||
/// - contains_key (was exists)
|
||||
/// - keys
|
||||
/// - clear
|
||||
/// Async key-value store interface for both native and WASM backends.
|
||||
///
|
||||
/// For native (non-wasm32) backends, implementers should be `Send + Sync` to support async usage.
|
||||
/// For WASM (wasm32) backends, `Send + Sync` is not required.
|
||||
#[async_trait::async_trait]
|
||||
pub trait KVStore {
|
||||
async fn get(&self, key: &str) -> Result<Option<Vec<u8>>>;
|
||||
async fn set(&self, key: &str, value: &[u8]) -> Result<()>;
|
||||
|
Reference in New Issue
Block a user