Crates.io | hashmoji |
lib.rs | hashmoji |
version | 0.1.0 |
source | src |
created_at | 2023-11-07 03:39:41.13846 |
updated_at | 2023-11-07 03:39:41.13846 |
description | Provides a hash functions that returns emojis. |
homepage | |
repository | https://github.com/gak/hashmoji |
max_upload_size | |
id | 1027561 |
size | 29,372 |
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)]
.
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, "๐ค๏ธโ๐๐ฉ");
flea_bit is licensed under either the MIT license or the Apache-2.0 license, at your discretion.