Crates.io | adjective_adjective_animal |
lib.rs | adjective_adjective_animal |
version | 0.1.0 |
source | src |
created_at | 2018-08-07 04:16:11.157001 |
updated_at | 2018-08-07 04:16:11.157001 |
description | A library to generate suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat |
homepage | https://github.com/moparisthebest/adjective-adjective-animal |
repository | https://github.com/moparisthebest/adjective-adjective-animal.git |
max_upload_size | |
id | 77966 |
size | 123,465 |
Rust library to generate suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat
This crate is on crates.io and can be
used by adding adjective_adjective_animal
to your dependencies in your project's Cargo.toml
file:
[dependencies]
adjective_adjective_animal = "0.1.0"
and this to your crate root:
extern crate adjective_adjective_animal;
The easiest way to get started is to use the default Generator
to return
a name:
use adjective_adjective_animal::Generator;
fn main() {
let mut generator = Generator::default();
println!("Your project is: {}", generator.next().unwrap());
// #=> "Your project is: IndustrialSecretiveSwan"
}
If you would rather supply your own custom adjective and animal word lists, you can provide your own by supplying 2 string slices. For example, this returns only one result:
use adjective_adjective_animal::Generator;
fn main() {
let adjectives = &["Imaginary"];
let animals = &["Bear"];
let mut generator = Generator::new(adjectives, animals);
assert_eq!("ImaginaryImaginaryBear", generator.next().unwrap());
}
curl 'https://raw.githubusercontent.com/a-type/adjective-adjective-animal/master/lib/lists/animals.js' | grep -Eo '"[^"]+"' | tr -d '"' | tr '[:upper:]' '[:lower:]' | sed 's/.*/\u&/' | sort | uniq > animals.txt
curl 'https://raw.githubusercontent.com/a-type/adjective-adjective-animal/master/lib/lists/adjectives.js' | grep -Eo '"[^"]+"' | tr -d '"' | tr '[:upper:]' '[:lower:]' | sed 's/.*/\u&/' | sort | uniq > adjectives.txt