pub struct Capability { /* private fields */ }Implementations§
Source§impl Capability
impl Capability
pub fn insert<T: Serialize>(&self, value: T) -> Result<String>
pub fn insert_with_key<T: Serialize>(&self, key: &str, value: T) -> Result<()>
pub fn update<T: Serialize>(&self, key: &str, value: T) -> Result<()>
pub fn delete(&self, key: &str) -> Result<()>
pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>>
pub fn find<T, F>(&self, predicate: F) -> Result<Vec<T>>
Sourcepub async fn live_find<T, F>(
&self,
predicate: F,
) -> Result<LiveCapabilitySubscription<T>>
pub async fn live_find<T, F>( &self, predicate: F, ) -> Result<LiveCapabilitySubscription<T>>
Creates a live query subscription scoped to this capability.
The subscription returns initial matching results from this capability only, and streams updates whenever records within this capability matching the predicate are inserted or updated.
§Example
ⓘ
use feltdb::open;
let db = open("app.data")?;
let users = db.capability("users");
let mut subscription = users.live_find::<User, _>(|u| u.active).await?;
let initial_users = subscription.initial_results();
while let Some(users) = subscription.next().await {
println!("Active users: {:?}", users);
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
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