Skip to content

A JavaScript library built on top of the Faker.JS library. It generates massive amounts of fake data in the browser and node.js.

Notifications You must be signed in to change notification settings

bardonolado/bluffmaster

 
 

Repository files navigation

BluffMaster - generate massive amounts of fake data in the browser and node.js

BluffMaster is a JavaScript library built on top of the Faker.JS library. It generates massive amounts of fake data in the browser and node.js.

Fake data is useful when building and testing our application. BluffMaster can generate fake data for various areas, including address, commerce, company, date, finance, image, random, or name.

What happened to the original faker.js?

This project was originally created and hosted at https://github.com/marak/Faker.js/ - however around 4th Jan, 2022 - the author decided to delete the repository along with the code, for unknown reasons.

BluffMaster is a fork of the original Faker.js library. The original library was created by Marak Squires in 2011. BluffMaster aims to maintain the original library's functionality and add new features.

Usage

Browser

<script src = "bluffmaster.js" type = "text/javascript"></script>
<script>
  var randomName = bluffmaster.name.findName(); // Caitlyn Kerluke
  var randomEmail = bluffmaster.internet.email(); // Rusty@arne.info
  var randomCard = bluffmaster.helpers.createCard(); // random contact card containing many properties
</script>

Node.js

var bluffmaster = require('bluffmaster');

var randomName = bluffmaster.name.findName(); // Rowan Nikolaus
var randomEmail = bluffmaster.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = bluffmaster.helpers.createCard(); // random contact card containing many properties

API

JSDoc API Browser

You can browse all API methods by going to the JSDoc API Browser.

API Methods

  • address
    • zipCode
    • zipCodeByState
    • city
    • cityPrefix
    • citySuffix
    • cityName
    • streetName
    • streetAddress
    • streetSuffix
    • streetPrefix
    • secondaryAddress
    • county
    • country
    • countryCode
    • state
    • stateAbbr
    • latitude
    • longitude
    • direction
    • cardinalDirection
    • ordinalDirection
    • nearbyGPSCoordinate
    • timeZone
  • animal
    • dog
    • cat
    • snake
    • bear
    • lion
    • cetacean
    • horse
    • bird
    • cow
    • fish
    • crocodilia
    • insect
    • rabbit
    • type
  • commerce
    • color
    • department
    • productName
    • price
    • productAdjective
    • productMaterial
    • product
    • productDescription
  • company
    • suffixes
    • companyName
    • companySuffix
    • catchPhrase
    • bs
    • catchPhraseAdjective
    • catchPhraseDescriptor
    • catchPhraseNoun
    • bsAdjective
    • bsBuzz
    • bsNoun
  • database
    • column
    • type
    • collation
    • engine
  • datatype
    • number
    • float
    • datetime
    • string
    • uuid
    • boolean
    • hexaDecimal
    • json
    • array
  • date
    • past
    • future
    • between
    • betweens
    • recent
    • soon
    • month
    • weekday
  • fake
  • finance
    • account
    • accountName
    • routingNumber
    • mask
    • amount
    • transactionType
    • currencyCode
    • currencyName
    • currencySymbol
    • bitcoinAddress
    • litecoinAddress
    • creditCardNumber
    • creditCardCVV
    • ethereumAddress
    • iban
    • bic
    • transactionDescription
  • git
    • branch
    • commitEntry
    • commitMessage
    • commitSha
    • shortSha
  • hacker
    • abbreviation
    • adjective
    • noun
    • verb
    • ingverb
    • phrase
  • helpers
    • randomize
    • slugify
    • replaceSymbolWithNumber
    • replaceSymbols
    • replaceCreditCardSymbols
    • repeatString
    • regexpStyleStringParse
    • shuffle
    • mustache
    • createCard
    • contextualCard
    • userCard
    • createTransaction
  • image
    • image
    • avatar
    • imageUrl
    • abstract
    • animals
    • business
    • cats
    • city
    • food
    • nightlife
    • fashion
    • people
    • nature
    • sports
    • technics
    • transport
    • dataUri
    • lorempixel
    • unsplash
    • lorempicsum
  • internet
    • avatar
    • email
    • exampleEmail
    • userName
    • protocol
    • httpMethod
    • url
    • domainName
    • domainSuffix
    • domainWord
    • ip
    • ipv6
    • port
    • userAgent
    • color
    • mac
    • password
  • lorem
    • word
    • words
    • sentence
    • slug
    • sentences
    • paragraph
    • paragraphs
    • text
    • lines
  • mersenne
    • rand
    • seed
    • seed_array
  • music
    • genre
  • name
    • firstName
    • lastName
    • middleName
    • findName
    • jobTitle
    • gender
    • prefix
    • suffix
    • title
    • jobDescriptor
    • jobArea
    • jobType
  • phone
    • phoneNumber
    • phoneNumberFormat
    • phoneFormats
  • random
    • number
    • float
    • arrayElement
    • arrayElements
    • objectElement
    • uuid
    • boolean
    • word
    • words
    • image
    • locale
    • alpha
    • alphaNumeric
    • hexaDecimal
  • system
    • fileName
    • commonFileName
    • mimeType
    • commonFileType
    • commonFileExt
    • fileType
    • fileExt
    • directoryPath
    • filePath
    • semver
  • time
    • recent
  • unique
  • vehicle
    • vehicle
    • manufacturer
    • model
    • type
    • fuel
    • vin
    • color
    • vrm
    • bicycle
  • word
    • adjective
    • adverb
    • conjunction
    • interjection
    • noun
    • preposition
    • verb

BluffMaster.fake()

BluffMaster contains a super useful generator method BluffMaster.fake for combining faker API methods using a mustache string format.

Example:

console.log(bluffmaster.fake("{{name.lastName}}, {{name.firstName}} {{name.suffix}}"));
// outputs: "Marks, Dean Sr."

This will interpolate the format string with the value of methods name.lastName(), name.firstName(), and name.suffix()

Localization

BluffMaster has support for multiple localities – ported directly from the orginal faker.js library (version v2.0.0).

The default language locale is set to English.

Setting a new locale is simple:

// sets locale to de
bluffmaster.locale = "de";
  • az
  • ar
  • cz
  • de
  • de_AT
  • de_CH
  • en
  • en_AU
  • en_AU_ocker
  • en_BORK
  • en_CA
  • en_GB
  • en_IE
  • en_IND
  • en_US
  • en_ZA
  • es
  • es_MX
  • he
  • fa
  • fi
  • fr
  • fr_CA
  • fr_CH
  • ge
  • hy
  • hr
  • id_ID
  • it
  • ja
  • ko
  • mk
  • nb_NO
  • ne
  • nl
  • nl_BE
  • pl
  • pt_BR
  • pt_PT
  • ro
  • ru
  • sk
  • sv
  • tr
  • uk
  • vi
  • zh_CN
  • zh_TW

Individual Localization Packages

BluffMaster supports incremental loading of locales.

By default, requiring bluffmaster will include all locale data.

In a production environment, you may only want to include the locale data for a specific set of locales.

// loads only de locale
var bluffmaster = require('bluffmaster/locale/de');

Setting a randomness seed

If you want consistent results, you can set your own seed:

bluffmaster.seed(123);

var firstRandom = bluffmaster.random.number();

// Setting the seed again resets the sequence.
bluffmaster.seed(123);

var secondRandom = bluffmaster.random.number();

console.log(firstRandom === secondRandom);

Tests

npm install .
make test

You can view a code coverage report generated in coverage/lcov-report/index.html.

Building BluffMaster

BluffMaster uses gulp to automate its build process. Each build operation is a separate task which can be run independently.

Browser Bundle

npm run browser

Building JSDocs

JSDOC v3 HTML API documentation

npm run jsdoc

Building Readme

The Readme.md file for bluffmaster is automatically generated and should not be modified directly. All updates to Readme.md should be performed in ./build/src/docs.md and then the build script should be run.

npm run readme

About

A JavaScript library built on top of the Faker.JS library. It generates massive amounts of fake data in the browser and node.js.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%