the-key

Simple fast key management tool for key-value stores

How to use

```rust use the_key::*;

// Define key parts definekeypart!(Users, &[11, 11]); definekeypart!(Profiles, &[22, 22]); definekeypart!(Photos, &[33, 33]);

// Define keys sequences definepartsseq!(UsersProfiles, [Users, Profiles]); definepartsseq!(UsersPhotos, [Users, Photos]);

fn main() { let userid = &[81, 81]; let profiles = UsersProfiles::new(); let photos = UsersPhotos::withsuffix(user_id);

let userprofilekey = profiles.createkey(userid);

// Debug example println!("{:?}", userprofilekey); // Users[11, 11] -> Profiles[22, 22] -> Key=[81, 81]

// Pretty debug example println!("{:#?}", userprofilekey); // Users[11, 11] // └ Profiles[22, 22] // └ Key=[81, 81]

// User userprofilekey.tovec(); // [11, 11, 22, 22, 81, 81] // User's photos photos.createprefix().tovec(); // [11, 11, 33, 33, 81, 81] // User's one photo photos.createkey(&[99, 99]).to_vec(); // [11, 11, 33, 33, 81, 81, 99, 99] } ```