strkey/
lib.rs

1//! Serialization of values into a human-readable encoding that preserves lexicographic sort order.
2//!
3//! The encoded format is useful for key-value stores/databases that maintains keys in sorted order.
4//!
5//! Example:
6//!
7//! ```rust
8//! # fn main() -> Result<(), strkey::Error> {
9//! let serialized = strkey::to_vec(&("account", 1234u32))?;
10//!
11//! assert_eq!(&serialized, b"account:000004d2");
12//!
13//! let deserialized = strkey::from_slice::<(&str, u32)>(&serialized)?;
14//!
15//! assert_eq!(deserialized.0, "account");
16//! assert_eq!(deserialized.1, 1234);
17//! # Ok(())
18//! # }
19//! ```
20//!
21//! For details, see the [`ser`] module.
22
23#![forbid(unsafe_code)]
24#![warn(missing_docs)]
25
26pub mod de;
27pub mod error;
28pub mod ser;
29
30pub use crate::de::{from_reader, from_slice, Deserializer};
31pub use crate::error::{Error, Result};
32pub use crate::ser::{to_vec, to_writer, Serializer};