Skip to content

Utilities

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

createFakerCore

Helper function to create a FakerCore instance.

Note

The config, randomizer and (single) locale instances can be shared between multiple cores. When shared, changing them will affect the other cores as well.

Available since v10.5.0

Parameters

NameTypeDefaultDescription
optionsFakerOptions{}

The options to create the FakerCore instance with.

options.config?FakerConfig{}

The configuration options for all methods.

options.locale?LocaleProxy | LocaleDefinition | LocaleDefinition[]{}

The locale definitions to use. If not provided, this core will not have any locale data and thus all methods that rely on locale data will throw an error when called.

options.randomizer?RandomizergenerateMersenne53Randomizer()

The randomizer used to generate random values.

options.seed?number

The 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.

Returns: FakerCore

ts
function createFakerCore(options: FakerOptions = {}): FakerCore;

Examples

ts
import { createFakerCore, en } from '@faker-js/faker';

createFakerCore() // no locale data, default randomizer and empty config
createFakerCore({ locale: en }) // custom locale data, default randomizer and empty config

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

Experimental

This method is experimental and future changes may not follow semantic versioning.

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.5.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); // Keep `past()` offset consistent for example runs
// setDefaultRefDate(fakerCore);
past(fakerCore); // Changes based on the current date/time
ts
fakerCore.randomizer.seed(1234);
setDefaultRefDate(fakerCore, new Date('2020-01-01'));
past(fakerCore); // Reproducible '2019-07-03T08:27:58.118Z'
ts
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

Experimental

This method is experimental and future changes may not follow semantic versioning.

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

Available since v10.5.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); // Keep `past()` offset consistent for example runs
// setDefaultRefDate(fakerCore);
past(fakerCore); // Changes based on the current date/time
ts
fakerCore.randomizer.seed(1234);
setDefaultRefDate(fakerCore, new Date('2020-01-01'));
past(fakerCore); // Reproducible '2019-07-03T08:27:58.118Z'
ts
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.