Skip to content

Commit d45bb0d

Browse files
committed
doc: Guard
1 parent ebc661f commit d45bb0d

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

src/guard.rs

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,27 @@ impl Guard {
1515
/// The predicate receives the key - if returning `false`, the value
1616
/// may not be loaded if the tree is key-value separated.
1717
///
18+
/// # Examples
19+
///
20+
/// ```
21+
/// # use fjall::{Database, KeyspaceCreateOptions};
22+
/// #
23+
/// # let folder = tempfile::tempdir()?;
24+
/// # let db = Database::builder(folder).open()?;
25+
/// # let tree = db.keyspace("default", KeyspaceCreateOptions::default)?;
26+
/// tree.insert("abc", "my_value")?;
27+
///
28+
/// let (k,v) = tree.prefix("a")
29+
/// .next()
30+
/// .unwrap()
31+
/// .into_inner_if(|key| key.starts_with(b"a"))?;
32+
///
33+
/// assert_eq!(b"abc", &*k);
34+
/// assert_eq!(Some(b"my_value".as_slice()), v.as_deref());
35+
/// #
36+
/// # Ok::<(), fjall::Error>(())
37+
/// ```
38+
///
1839
/// # Errors
1940
///
2041
/// Will return `Err` if an IO error occurs.
@@ -27,6 +48,27 @@ impl Guard {
2748

2849
/// Returns the key-value tuple.
2950
///
51+
/// # Examples
52+
///
53+
/// ```
54+
/// # use fjall::{Database, KeyspaceCreateOptions};
55+
/// #
56+
/// # let folder = tempfile::tempdir()?;
57+
/// # let db = Database::builder(folder).open()?;
58+
/// # let tree = db.keyspace("default", KeyspaceCreateOptions::default)?;
59+
/// tree.insert("a", "my_value")?;
60+
///
61+
/// let (k,v) = tree.prefix("a")
62+
/// .next()
63+
/// .unwrap()
64+
/// .into_inner()?;
65+
///
66+
/// assert_eq!(b"a", &*k);
67+
/// assert_eq!(b"my_value", &*v);
68+
/// #
69+
/// # Ok::<(), fjall::Error>(())
70+
/// ```
71+
///
3072
/// # Errors
3173
///
3274
/// Will return `Err` if an IO error occurs.
@@ -36,6 +78,22 @@ impl Guard {
3678

3779
/// Returns the key.
3880
///
81+
/// # Examples
82+
///
83+
/// ```
84+
/// # use fjall::{Database, KeyspaceCreateOptions};
85+
/// #
86+
/// # let folder = tempfile::tempdir()?;
87+
/// # let db = Database::builder(folder).open()?;
88+
/// # let tree = db.keyspace("default", KeyspaceCreateOptions::default)?;
89+
/// tree.insert("a", "my_value")?;
90+
///
91+
/// let item = tree.prefix("a").next().unwrap().key()?;
92+
/// assert_eq!(b"a", &*item);
93+
/// #
94+
/// # Ok::<(), fjall::Error>(())
95+
/// ```
96+
///
3997
/// # Errors
4098
///
4199
/// Will return `Err` if an IO error occurs.
@@ -45,6 +103,22 @@ impl Guard {
45103

46104
/// Returns the value size.
47105
///
106+
/// # Examples
107+
///
108+
/// ```
109+
/// # use fjall::{Database, KeyspaceCreateOptions};
110+
/// #
111+
/// # let folder = tempfile::tempdir()?;
112+
/// # let db = Database::builder(folder).open()?;
113+
/// # let tree = db.keyspace("default", KeyspaceCreateOptions::default)?;
114+
/// tree.insert("a", "my_value")?;
115+
///
116+
/// let item = tree.prefix("a").next().unwrap().size()?;
117+
/// assert_eq!(8, item);
118+
/// #
119+
/// # Ok::<(), fjall::Error>(())
120+
/// ```
121+
///
48122
/// # Errors
49123
///
50124
/// Will return `Err` if an IO error occurs.
@@ -54,6 +128,22 @@ impl Guard {
54128

55129
/// Returns the value.
56130
///
131+
/// # Examples
132+
///
133+
/// ```
134+
/// # use fjall::{Database, KeyspaceCreateOptions};
135+
/// #
136+
/// # let folder = tempfile::tempdir()?;
137+
/// # let db = Database::builder(folder).open()?;
138+
/// # let tree = db.keyspace("default", KeyspaceCreateOptions::default)?;
139+
/// tree.insert("a", "my_value")?;
140+
///
141+
/// let item = tree.prefix("a").next().unwrap().value()?;
142+
/// assert_eq!(b"my_value", &*item);
143+
/// #
144+
/// # Ok::<(), fjall::Error>(())
145+
/// ```
146+
///
57147
/// # Errors
58148
///
59149
/// Will return `Err` if an IO error occurs.

0 commit comments

Comments
 (0)