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.
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/
<script src="https://cdn.jsdelivr.net/npm/blaver@6.6.7/dist/blaver.min.js"></script>
npm i blaver
<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>
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
You can browse all API methods by going to the JSDoc API Browser.
- 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 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()
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
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');
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);
npm install .
make test
You can view a code coverage report generated in coverage/lcov-report/index.html.
Blaver uses gulp to automate its build process. Each build operation is a separate task which can be run independently.
npm run browser
JSDOC v3 HTML API documentation
npm run jsdoc
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
Blaver - Copyright (c) 2022 - Present
https://github.com/luciferreeves/blaver
https://npmjs.com/package/blaver
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