Skip to content

Utilities

A list of all the utilities available in Faker.js.

generateMersenne32Randomizer

Generates a MersenneTwister19937 randomizer with 32 bits of precision. This is the default randomizer used by faker prior to v9.0.

Available since v8.2.0

Parameters

NameTypeDefaultDescription
seednumberrandomSeed()

The initial seed to use. Defaults to a random number.

Returns: Randomizer

ts
function generateMersenne32Randomizer(seed: number = randomSeed()): Randomizer;

Examples

ts
import { de, en, generateMersenne32Randomizer, Faker } from '@faker-js/faker';

const randomizer = generateMersenne32Randomizer();
randomizer.seed(42);
// Share the same randomizer between multiple instances
const customFaker1 = new Faker({ locale: de, randomizer });
const customFaker2 = new Faker({ locale: en, randomizer });

generateMersenne53Randomizer

Generates a MersenneTwister19937 randomizer with 53 bits of precision. This is the default randomizer used by faker starting with v9.0.

Available since v9.0.0

Parameters

NameTypeDefaultDescription
seednumberrandomSeed()

The initial seed to use. Defaults to a random number.

Returns: Randomizer

ts
function generateMersenne53Randomizer(seed: number = randomSeed()): Randomizer;

Examples

ts
import { de, en, generateMersenne53Randomizer, Faker } from '@faker-js/faker';

const randomizer = generateMersenne53Randomizer();
randomizer.seed(42);
// Share the same randomizer between multiple instances
const customFaker1 = new Faker({ locale: de, randomizer });
const customFaker2 = new Faker({ locale: en, randomizer });

getDefaultRefDate

Gets a new reference date used to generate relative dates.

If fakerCore.config.defaultRefDate is defined, it will be used to get the default reference date. Otherwise, the current date will be used.

Available since v10.4.0

Parameters

NameTypeDefaultDescription
fakerCoreFakerCore

The FakerCore instance to get it from.

Returns: Date

ts
function getDefaultRefDate(fakerCore: FakerCore): Date;

Examples

ts
fakerCore.randomizer.seed(1234);

// Default behavior
// setDefaultRefDate(fakerCore);
past(fakerCore); // Changes based on the current date/time

// Use a static ref date
setDefaultRefDate(fakerCore, new Date('2020-01-01'));
past(fakerCore); // 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();
setDefaultRefDate(fakerCore, () => {
  clock += 1000; // +1s
  return new Date(clock);
});

getDefaultRefDate(fakerCore) // 2020-01-01T00:00:01Z
getDefaultRefDate(fakerCore) // 2020-01-01T00:00:02Z

mergeLocales

Merges the given locales into one locale. The locales are merged in the order they are given. The first locale that provides an entry for a category will be used for that. Mutating the category entries in the returned locale will also mutate the entries in the respective source locale.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
localesLocaleDefinition[]

The locales to merge.

Returns: LocaleDefinition

ts
function mergeLocales(locales: LocaleDefinition[]): LocaleDefinition;

Examples

ts
import { de_CH, de, en, mergeLocales } from '@faker-js/faker';

const de_CH_with_fallbacks = mergeLocales([ de_CH, de, en ]);

setDefaultRefDate

Sets the refDate source to use if no refDate date is passed to the date methods.

Available since v10.4.0

Parameters

NameTypeDefaultDescription
fakerCoreFakerCore

The FakerCore instance to use.

dateOrSourcestring | number | Date | (() => Date)() => new 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.

Returns: void

ts
function setDefaultRefDate(
  fakerCore: FakerCore,
  dateOrSource: string | Date | number | (() => Date) = () => new Date()
): void;

Examples

ts
fakerCore.randomizer.seed(1234);

// Default behavior
// setDefaultRefDate(fakerCore);
past(fakerCore); // Changes based on the current date/time

// Use a static ref date
setDefaultRefDate(fakerCore, new Date('2020-01-01'));
past(fakerCore); // 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();
setDefaultRefDate(fakerCore, () => {
  clock += 1000; // +1s
  return new Date(clock);
});

getDefaultRefDate(fakerCore) // 2020-01-01T00:00:01Z
getDefaultRefDate(fakerCore) // 2020-01-01T00:00:02Z

Released under the MIT License.