Skip to content

Suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat

License

Notifications You must be signed in to change notification settings

moparisthebest/adjective-adjective-animal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adjective_adjective_animal

Build Status license

Rust library to generate suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat

Usage

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;

Example: Painless defaults

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"
    
}

Example: with custom dictionaries

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());
}

Credits

  • rust's names crate, which this is forked from
  • npm's adjective-adjective-animal for lists
    • 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

About

Suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 85.4%
  • Shell 14.6%