randopeep

1.1.6 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i randopeep

Weekly Downloads

6

Version

1.1.6

License

MIT

Unpacked Size

214 kB

Total Files

3

Last publish

Collaborators

  • konsumer