/haikunatorjs

Generate Heroku-like random names to use in your node applications.

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

HaikunatorJS

Build Status Latest Version JSR Version Coverage Status

Generate Heroku-like random names to use in your node applications.

Installation

npm install --save haikunator
deno add @atrox/haikunator

Usage

Haikunator is pretty simple.

import Haikunator from 'haikunator'

// Instantiate Haikunator without options
var haikunator = new Haikunator()

// Instantiate Haikunator with default options
var customHaikunator = new Haikunator({
  adjectives: ['custom', 'adjectives'],
  nouns: ['custom', 'nouns'],
  seed: 'custom-seed',

  // class defaults
  defaults: {
    tokenLength: 8,
    tokenChars: 'HAIKUNATOR',
    // ...
  },
})

// default usage
haikunator.haikunate() // => "wispy-dust-1337"

// custom length (default=4)
haikunator.haikunate({ tokenLength: 6 }) // => "patient-king-887265"

// use hex instead of numbers
haikunator.haikunate({ tokenHex: true }) // => "purple-breeze-98e1"

// use custom chars instead of numbers/hex
haikunator.haikunate({ tokenChars: 'HAIKUNATE' }) // => "summer-atom-IHEA"

// don't include a token
haikunator.haikunate({ tokenLength: 0 }) // => "cold-wildflower"

// use a different delimiter
haikunator.haikunate({ delimiter: '.' }) // => "restless.sea.7976"

// no token, space delimiter
haikunator.haikunate({ tokenLength: 0, delimiter: ' ' }) // => "delicate haze"

// no token, empty delimiter
haikunator.haikunate({ tokenLength: 0, delimiter: '' }) // => "billowingleaf"

Options

The following options are available:

import Haikunator from 'haikunator'

var haikunator = new Haikunator({
  adjectives: ['custom', 'adjectives'],
  nouns: ['custom', 'nouns'],
  seed: 'custom-seed', // Custom seed

  // Class wide defaults, can get overridden by haikunate(options)
  defaults: {
    delimiter: '-',
    tokenLength: 4,
    tokenHex: false,
    tokenChars: '0123456789',
  },
})

// Same options are also available on the haikunate method
haikunator.haikunate({
  delimiter: '-',
  tokenLength: 4,
  tokenHex: false,
  tokenChars: '0123456789',
})

If tokenHex is true, any tokens specified in tokenChars are ignored

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

Other Languages

Haikunator is also available in other languages. Check them out: