Creates a new instance of SimpleFaker.
In nearly any case you should use the prebuilt simpleFaker
instances instead of the constructor.
Optional
options: { randomizer?: Randomizer; seed?: number }The options to use.
Optional
randomizer?: RandomizerThe Randomizer to use. Specify this only if you want to use it to achieve a specific goal, such as sharing the same random generator with other instances/tools.
Optional
seed?: numberThe initial seed to use. The seed can be used to generate reproducible values.
Refer to the seed()
method for more information.
Defaults to a random seed.
import { SimpleFaker } from '@faker-js/faker';
// const { SimpleFaker } = require('@faker-js/faker');
// create a SimpleFaker without any locale data
const customSimpleFaker = new SimpleFaker();
customSimpleFaker.helpers.arrayElement(['red', 'green', 'blue']); // 'green'
customSimpleFaker.number.int(10); // 4
Protected
_Readonly
datatypeReadonly
dateReadonly
helpersReadonly
numberReadonly
stringGets a new reference date used to generate relative dates.
Sets the seed or generates a new one.
Please note that generated values are dependent on both the seed and the number of calls that have been made since it was set.
This method is intended to allow for consistent values in tests, so you might want to use hardcoded values as the seed.
In addition to that it can be used for creating truly random tests (by passing no arguments), that still can be reproduced if needed, by logging the result and explicitly setting it if needed.
Optional
seed: numberThe seed to use. Defaults to a random number.
The seed that was set.
// Consistent values for tests:
faker.seed(42)
faker.number.int(10); // 4
faker.number.int(10); // 10
faker.seed(42)
faker.number.int(10); // 4
faker.number.int(10); // 10
// Random but reproducible tests:
// Simply log the seed, and if you need to reproduce it, insert the seed here
console.log('Running test with seed:', faker.seed());
Sets the seed array.
Please note that generated values are dependent on both the seed and the number of calls that have been made since it was set.
This method is intended to allow for consistent values in a tests, so you might want to use hardcoded values as the seed.
In addition to that it can be used for creating truly random tests (by passing no arguments), that still can be reproduced if needed, by logging the result and explicitly setting it if needed.
The seed array to use.
The seed array that was set.
// Consistent values for tests:
faker.seed([42, 13, 17])
faker.number.int(10); // 3
faker.number.int(10); // 10
faker.seed([42, 13, 17])
faker.number.int(10); // 3
faker.number.int(10); // 10
// Random but reproducible tests:
// Simply log the seed, and if you need to reproduce it, insert the seed here
console.log('Running test with seed:', faker.seed());
Sets the seed or generates a new one.
Please note that generated values are dependent on both the seed and the number of calls that have been made since it was set.
This method is intended to allow for consistent values in a tests, so you might want to use hardcoded values as the seed.
In addition to that it can be used for creating truly random tests (by passing no arguments), that still can be reproduced if needed, by logging the result and explicitly setting it if needed.
Optional
seed: number | number[]The seed or seed array to use.
The seed that was set.
// Consistent values for tests (using a number):
faker.seed(42)
faker.number.int(10); // 4
faker.number.int(10); // 10
faker.seed(42)
faker.number.int(10); // 4
faker.number.int(10); // 10
// Consistent values for tests (using an array):
faker.seed([42, 13, 17])
faker.number.int(10); // 3
faker.number.int(10); // 10
faker.seed([42, 13, 17])
faker.number.int(10); // 3
faker.number.int(10); // 10
// Random but reproducible tests:
// Simply log the seed, and if you need to reproduce it, insert the seed here
console.log('Running test with seed:', faker.seed());
Sets the refDate
source to use if no refDate
date is passed to the date methods.
Optional
dateOrSource: string | number | Date | (() => Date)The function or the static value used to generate the refDate
date instance.
The function must return a new valid Date
instance for every call.
Defaults to () => new Date()
.
faker.seed(1234);
// Default behavior
// faker.setDefaultRefDate();
faker.date.past(); // Changes based on the current date/time
// Use a static ref date
faker.setDefaultRefDate(new Date('2020-01-01'));
faker.date.past(); // Reproducible '2019-07-03T08:27:58.118Z'
// Use a ref date that changes every time it is used
let clock = new Date("2020-01-01").getTime();
faker.setDefaultRefDate(() => {
clock += 1000; // +1s
return new Date(clock);
});
faker.defaultRefDate() // 2020-01-01T00:00:01Z
faker.defaultRefDate() // 2020-01-01T00:00:02Z
This is a simplified Faker class that doesn't need any localized data to generate its output.
It only includes methods from:
datatype
date
(withoutmonth
andweekday
)helpers
(withoutfake
)number
string
Example