Blaver - generate massive amounts of fake data in the browser and node.js
Blaver 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. Blaver 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.
Blaver is a fork of the original Faker.js library. The original library was created by Marak Squires in 2011. Blaver aims to maintain the original library's functionality and add new features.
You can also access unofficial Faker.js documentation at https://fakerjsdocs.netlify.com/
Usage
Browser
<script src = "blaver.js" type = "text/javascript"></script>
<script>
var randomName = blaver.name.findName(); // Caitlyn Kerluke
var randomEmail = blaver.internet.email(); // Rusty@arne.info
var randomCard = blaver.helpers.createCard(); // random contact card containing many properties
</script>
Node.js
var blaver = require('blaver');
var randomName = blaver.name.findName(); // Rowan Nikolaus
var randomEmail = blaver.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = blaver.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
- bigInt
- 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
- uniqueArray
- 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
- 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
Blaver.fake()
Blaver contains a super useful generator method Blaver.fake
for combining faker API methods using a mustache string format.
Example:
console.log(blaver.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
Blaver 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
blaver.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
Blaver supports incremental loading of locales.
By default, requiring blaver
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 blaver = require('blaver/locale/de');
Setting a randomness seed
If you want consistent results, you can set your own seed:
blaver.seed(123);
var firstRandom = blaver.random.number();
// Setting the seed again resets the sequence.
blaver.seed(123);
var secondRandom = blaver.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 Blaver
Blaver 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 blaver
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
Maintainers
Kumar Priyansh
Blaver - Copyright (c) 2022 - Present
https://github.com/luciferreeves/blaver
https://npmjs.com/package/blaver
Marak Squires
faker.js - Copyright (c) 2011 - 2022
http://github.com/marak/faker.js/
faker.js was inspired by and has used data definitions from:
- https://github.com/stympy/faker/ - Copyright (c) 2007-2010 Benjamin Curtis
- http://search.cpan.org/~jasonk/Data-Faker-0.07/ - Copyright 2004-2005 by Jason Kohles