wtfaker
v1.0.0
Published
Generate massive amounts of fake contextual data
Downloads
3
Readme
⚡️ Try it Online
🚀 Features
- 💌 Addresses - Generate valid looking Addresses, Zip Codes, Street Names, States, and Countries!
- ⏰ Time-based Data - Past, present, future, recent, soon... whenever!
- 🌏 Localization - Set a locale to generate realistic looking Names, Addresses, and Phone Numbers.
- 💸 Finance - Create stubbed out Account Details, Transactions, and Crypto Addresses.
- 👠 Products - Generate Prices, Product Names, Adjectives, and Descriptions.
- 👾 Hacker Jargon - “Try to reboot the SQL bus, maybe it will bypass the virtual application!”
- 🧍 Names - Generate virtual humans with a complete online and offline identity.
- 🔢 Numbers - Of course, we can also generate random numbers and strings.
Note: Faker tries to generate realistic data and not obvious fake data. The generated names, addresses, emails, phone numbers, and/or other data might be coincidentally valid information. Please do not send any of your messages/calls to them from your test setup.
📦 Install
npm install --save-dev @faker-js/faker
🪄 Usage
import { faker } from '@faker-js/faker';
// import { faker } from '@faker-js/faker/locale/de';
export const USERS: User[] = [];
export function createRandomUser(): User {
return {
userId: faker.datatype.uuid(),
username: faker.internet.userName(),
email: faker.internet.email(),
avatar: faker.image.avatar(),
password: faker.internet.password(),
birthdate: faker.date.birthdate(),
registeredAt: faker.date.past(),
};
}
Array.from({ length: 10 }).forEach(() => {
USERS.push(createRandomUser());
});
💎 Modules
An in-depth overview of the API methods is available in the documentation.
The API covers the following modules:
| Module | Example | Output |
| -------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| Address | faker.address.city()
| Lake Raoulfort |
| Animal | faker.animal.cat()
| Norwegian Forest Cat |
| Color | faker.color.rgb()
| #cdfcdc |
| Commerce | faker.commerce.product()
| Polo t-shirt |
| Company | faker.company.companyName()
| Zboncak and Sons |
| Database | faker.database.engine()
| MyISAM |
| Datatype | faker.datatype.uuid()
| 7b16dd12-935e-4acc-8381-b1e457bf0176 |
| Date | faker.date.past()
| Sat Oct 20 2018 04:19:38 GMT-0700 (Pacific Daylight Time) |
| Finance | faker.finance.amount()
| ¥23400 (After setting locale) |
| Git | faker.git.commitMessage()
| feat: add products list page |
| Hacker | faker.hacker.phrase()
| Try to reboot the SQL bus, maybe it will bypass the virtual application! |
| Helpers | faker.helpers.arrayElement(['a', 'b', 'c'])
| b |
| Image | faker.image.cats()
| https://loremflickr.com/640/480/cats |
| Internet | faker.internet.domainName()
| muddy-neuropathologist.net |
| Lorem | faker.lorem.paragraph()
| Porro nulla id vero perspiciatis nulla nihil. ... |
| Music | faker.music.genre()
| R&B |
| Name | faker.name.firstName()
| Cameron |
| Phone | faker.phone.phoneNumber()
| +1 291-299-0192 |
| Random | faker.random.locale()
| fr_CA |
| Science | faker.science.unit()
| { name: 'meter', symbol: 'm' } |
| System | faker.system.directoryPath()
| /root |
| Vehicle | faker.vehicle.vehicle()
| Lamborghini Camry |
| Word | faker.word.adjective()
| adorable |
Templates
Faker contains a generator method faker.fake
for combining faker API methods using a mustache string format.
console.log(
faker.fake('Hello {{name.prefix}} {{name.lastName}}, how are you today?')
);
🌏 Localization
Faker has support for multiple locales.
The default language locale is set to English.
Setting a new locale is simple:
// sets locale to de
faker.locale = 'de';
See our documentation for a list of provided languages
Please note that not every locale provides data for every module. In out pre-made locales, we fallback to english in such a case as this is the most complete and most common used language.
⚙️ Setting a randomness seed
If you want consistent results, you can set your own seed:
faker.seed(123);
const firstRandom = faker.datatype.number();
// Setting the seed again resets the sequence.
faker.seed(123);
const secondRandom = faker.datatype.number();
console.log(firstRandom === secondRandom);
🤝 Sponsors
Faker is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers
Sponsors
Backers
✨ Contributing
Please make sure to read the Contributing Guide before making a pull request.
📘 Credits
Thanks to all the people who already contributed to Faker!
The fakerjs.dev website is kindly hosted by the Netlify Team. Also the search functionality is powered by algolia.
📝 Changelog
Detailed changes for each release are documented in the release notes.
📜 What happened to the original faker.js?
Read the team update (January 14th, 2022).