randopeep
Generate random names of things, based on data files
Last updated 11 years ago by konsumer .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install randopeep 
SYNC missed versions from official npm registry.

Rando Peeps Data

Greenkeeper badge

Originally I made this for generating fake NPCs for RPGs & fake accounts for things online.

Peeps

NPM Build Status Demo

What random stuff can it generate?

All parameters are optional.

n parameters is how many you would like, leave blank for 1.

People

  • randopeep.name(params, n) - a person's name, params are explained below
  • randopeep.job(n) - a job a person might do
  • randopeep.invention(n) - a seemingly awesome-sounding invention

params

A lot of different types of names can be generated. All parameters are optional, here are the defaults:

{
	'origin' : random - 'chinese', 'elven/dark', 'dwarven','elven', 'english', 'germanic','japanese','orcish','spanish','netrunner',
	'gender': random - 'male','female',
	'last': true,
	'justLast': false,
	'prefix': random - true, false,
	'returnData': false,
}
  • origin - the place/time the names come from
  • gender - male/female, if names are gendered
  • last - get a lastname?
  • justLast - get lastname only?
  • prefix - look up gendered prefix, if applicable
  • returnData - return options (as generated) with name field, good if you want random gender/origin, but want to know about it after

If you set any of them to an array, it will pick a random element.

Places

  • randopeep.address.state(n) - a US state
  • randopeep.address.state.a(n) - an abbreviated US state
  • randopeep.address.zip(n) - a zipcode
  • randopeep.address.city(n) - a pretend city
  • randopeep.address.geo(n) - a geolocation
  • randopeep.address.streetName(n) - a streetName
  • randopeep.address.streetAddress(useFullAddress, n) - a street address, set useFullAddress to get secondary address
  • randopeep.address.phone(n) - a phone number
  • randopeep.address.uk.country(n) - a country in the UK
  • randopeep.address.uk.county(n) - a county in the UK

Credit-card Numbers

  • randopeep.cc(type, charCount, n) - a credit-card, type is "visa", "mastercard", "amex", or "discover". charCount should be 13 or 16

Corporate Things

  • randopeep.corporate.name(type, n) - a corporate name, type is explained below
  • randopeep.corporate.catchPhrase(n) - n corporate catchphrases
  • randopeep.corporate.bs(n) - n lines of corporate BS

type

It can be one of these:

  • cyber - a company from the retrofuture
  • firm - a law-firm, all last names are random non-fantasy, but from the same origin
  • small - a small company
  • large - a large corp

Internet Things

  • randopeep.internet.ip(n) - an IP address
  • randopeep.internet.domain(derived, n) - a internet domainname, derived is explained, below
  • randopeep.internet.email(derived, n) - an email address, derived is explained, below
  • randopeep.internet.username(derived, n) - an internet username, derived is explained, below

derived

Will attempt to use the text that you give it as a base for generating other things. Makes more-legit looking email, if you already know the name, for example.

Random Text

  • randopeep.ipsum(n, list) - n words from ipsum list, default list is "lorem" and default count is 200

Clickbait

  • randopeep.clickbait.headline(star, n) - a clickbait headline, star is the optional name of a star for the headline to be about
  • randopeep.clickbait.star(n) - a star from a headline

Other stuff

  • randopeep.data - the raw data, keyed by list name
  • randopeep.get(list, n) - n items from list

Usage

See unit-tests in test/test.js if you need more details.

Node

Install: npm install randopeep

in your code:

const randopeep = require('randopeep')
const myFakeName = randopeep.name()

Browser

Just include randopeep.js in your thing, and use it like normal:

<script src="http://konsumer.js.org/randopeep/randopeep.js"></script>
<script>
  document.body.innerHTML = "I'm cool dude named " + randopeep.name({gender:'male'})
</script>

There is also support for AMD/require.js, just put out/randopeep.js in your application dir, and do this:

define(['randopeep'], function(randopeep){
  document.body.innerHTML = "I'm cool lady named " + randopeep.name({gender:'female'})
})

Adding your own name-libraries

You can add your own, if you install dev-tools with npm install then add whatever you want to data/ dir, and run npm run build.

Format is 1 item per line.

Using name-libraries

Let's pretend some of the built-in wordlist libraries don't have the randopeep.name() convenience function, and load the libraries, directly:

const myLeetName = randopeep.get('name/english/female/first') + ' ' + randopeep.get('name/netrunner/first')

or even use formatting to make the code a bit neater:

const myLeetName = randopeep.format('{0} {1}',
  randopeep.get('name/chinese/male/first'),
  randopeep.get('name/netrunner/first')
)

Testing

You can run my CLI tests with npm test or open test/index.html to run same tests, in-browser.

TODO

  • use the GURPS class-data
  • ipsum could be smarter with English, so it can assemble seemingly sensical text.
  • use some packetstorm wordlists to generate more stuff
  • setup JSONP/REST wordlist service, so none of this needs dictionaries to be local
  • add support for specific types of clickbait headlines, like "tech": "X has a serious flaw, that will probably crash the internet"
  • Look at chance.js for inspiration

Credits

  • see data credits for info about where a lot of this stuff came from.

Current Tags

  • 1.1.6                                ...           latest (6 years ago)

24 Versions

  • 1.1.6                                ...           6 years ago
  • 1.1.5                                ...           6 years ago
  • 1.1.4                                ...           6 years ago
  • 1.1.3                                ...           6 years ago
  • 1.1.2                                ...           6 years ago
  • 1.1.1                                ...           8 years ago
  • 1.1.0                                ...           8 years ago
  • 1.0.3                                ...           8 years ago
  • 1.0.2                                ...           8 years ago
  • 0.2.5                                ...           10 years ago
  • 0.2.4                                ...           10 years ago
  • 0.2.0                                ...           10 years ago
  • 0.1.5                                ...           11 years ago
  • 0.1.4                                ...           11 years ago
  • 0.1.3                                ...           11 years ago
  • 0.1.2                                ...           11 years ago
  • 0.1.1                                ...           11 years ago
  • 0.1.0                                ...           11 years ago
  • 0.0.5                                ...           11 years ago
  • 0.0.4                                ...           11 years ago
  • 0.0.3                                ...           11 years ago
  • 0.0.2                                ...           11 years ago
  • 0.0.1                                ...           11 years ago
  • 0.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Total 0
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (9)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE