1 unstable release
0.1.0 | Nov 7, 2023 |
---|
#21 in #user-id
20KB
150 lines
hashmoji
hashmoji is a crate that generates deterministic unique emojis based on the hash of a value.
This is useful for generating unique emojis for a given value, such as a user ID, or a file hash, instead of looking at a random UUID.
hashmoji relies on the Hash
trait to generate a unique emoji for a given value, which many
types implement, and of course you can implement it for your own types using #[derive(Hash)]
.
Usage
let uuid = "30d8c256-0ffa-4e1b-8e1e-437bb0a0b45a";
// Generate a single emoji:
let emoji = hashmoji::one(uuid);
assert_eq!(emoji, "๐ค๏ธ");
// You can also generate a fixed length string:
let emoji = hashmoji::fixed(uuid, 10);
assert_eq!(emoji, "๐ค๏ธโ๐๐ฉโคต๏ธ๐ฝ๐ฐ๐ง๐ฆ๐๐ค ๐ฆต");
// A variable length string, depending on the hash:
let emoji = hashmoji::variable(uuid, 3..7);
assert_eq!(emoji, "๐ค๏ธโ๐๐ฉ");
License
flea_bit is licensed under either the MIT license or the Apache-2.0 license, at your discretion.
Dependencies
~160KB