https://github.com/terran-source/node-dummy-faker
An extension over Faker.js to create loads of fake json objects with customized properties
https://github.com/terran-source/node-dummy-faker
Last synced: 3 months ago
JSON representation
An extension over Faker.js to create loads of fake json objects with customized properties
- Host: GitHub
- URL: https://github.com/terran-source/node-dummy-faker
- Owner: Terran-Source
- License: mit
- Created: 2022-01-31T10:03:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-09T19:25:17.000Z (over 3 years ago)
- Last Synced: 2025-02-19T22:37:44.286Z (4 months ago)
- Language: TypeScript
- Size: 334 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-dummy-faker
An extension over Faker.js to create loads of fake json objects with customized properties### Usage
First add it as dependency (devDependency for testing)
```bash
$ npm i --save-dev dummy-faker
## or
$ yarn add -D dummy-faker
```
Then start creating dummies
```js
import { dummyFaker, DataType } from 'dummy-faker'; // Typescript commonjs import
// or
const { dummyFaker, DataType } = require('dummy-faker'); // Nodejs module declarationconst dummy = dummyFaker();
//* optionally set faker locale or other settings
dummy.faker.setLocale('en_IND');dummy
//* Step I: register an object property map
.register('user', {
id: DataType.int,
firstName: DataType.uuid,
lastName: DataType.string,
gender: DataType.string,
name: DataType.string,
email: DataType.string,
obj: DataType.json,
dob: DataType.date,
fixedData: DataType.string,
})
//* Step II: (optional) customize fine grained properties
.customize('user', (objFaker, customData) => {
objFaker
.ruleFor('gender', (faker) => faker.name.gender(true))
.ruleFor('firstName', (faker, u) => faker.name.firstName(u.gender))
.ruleFor('lastName', (faker, u) => faker.name.lastName(u.gender))
.ruleFor('name', (faker, u) =>
faker.name.findName(u.firstName, u.lastName, u.gender)
)
.ruleFor('email', (faker, u) =>
faker.internet.email(u.firstName, u.lastName)
)
.ruleFor('dob', (faker) => faker.date.past(50))
.ruleFor('fixedData', () => customData.fixedData);
});(async () => {
//* Step III: Generate as many as needed
const users = await dummy.generate('user', 5, { fixedData: 'Happy 🧐' });
console.info('users:', users);
})();
```
Look for mor [Examples](examples/)