#random #name #adjective #animal #human-readable

adjective_adjective_animal

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

1 unstable release

Uses old Rust 2015

0.1.0 Aug 7, 2018

#317 in Value formatting

35 downloads per month
Used in rust_bucket

MIT license

47KB
55 lines

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

Dependencies

~390KB