pub struct MemoryContentProvider { /* private fields */ }Expand description
In-memory ContentProvider backed by a key→bytes map.
Suited to unit tests (no tempdir setup) and to the WASM Edge
runtime where the JS host pre-loads a small set of source files
before calling render_page_isr.
§Examples
use ssg_core::{ContentProvider, MemoryContentProvider};
let mut mem = MemoryContentProvider::new();
mem.insert("a", b"1".to_vec());
assert!(mem.contains("a"));
assert_eq!(mem.fetch("a").unwrap(), b"1");Implementations§
Source§impl MemoryContentProvider
impl MemoryContentProvider
Sourcepub fn new() -> Self
pub fn new() -> Self
Constructs an empty MemoryContentProvider.
§Examples
use ssg_core::MemoryContentProvider;
let mem = MemoryContentProvider::new();
assert!(mem.is_empty());Sourcepub fn insert<K: Into<String>, V: Into<Vec<u8>>>(
&mut self,
key: K,
value: V,
) -> Option<Vec<u8>>
pub fn insert<K: Into<String>, V: Into<Vec<u8>>>( &mut self, key: K, value: V, ) -> Option<Vec<u8>>
Inserts a key/value pair, returning the previous value (if any).
§Examples
use ssg_core::MemoryContentProvider;
let mut mem = MemoryContentProvider::new();
assert!(mem.insert("k", b"v1".to_vec()).is_none());
let prev = mem.insert("k", b"v2".to_vec());
assert_eq!(prev.as_deref(), Some(&b"v1"[..]));Trait Implementations§
Source§impl Clone for MemoryContentProvider
impl Clone for MemoryContentProvider
Source§fn clone(&self) -> MemoryContentProvider
fn clone(&self) -> MemoryContentProvider
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ContentProvider for MemoryContentProvider
impl ContentProvider for MemoryContentProvider
Source§fn fetch(&self, key: &str) -> ProviderResult<Vec<u8>>
fn fetch(&self, key: &str) -> ProviderResult<Vec<u8>>
Fetches the raw bytes for
key, or returns an error. Read moreSource§fn contains(&self, key: &str) -> bool
fn contains(&self, key: &str) -> bool
Reports whether
key exists without materialising the bytes. Read moreSource§fn fetch_string(&self, key: &str) -> ProviderResult<String>
fn fetch_string(&self, key: &str) -> ProviderResult<String>
Convenience: fetches
key and decodes as UTF-8. Read moreSource§impl Debug for MemoryContentProvider
impl Debug for MemoryContentProvider
Source§impl Default for MemoryContentProvider
impl Default for MemoryContentProvider
Source§fn default() -> MemoryContentProvider
fn default() -> MemoryContentProvider
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryContentProvider
impl RefUnwindSafe for MemoryContentProvider
impl Send for MemoryContentProvider
impl Sync for MemoryContentProvider
impl Unpin for MemoryContentProvider
impl UnsafeUnpin for MemoryContentProvider
impl UnwindSafe for MemoryContentProvider
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