aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/faker.ts18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/faker.ts b/src/faker.ts
index d7ba3f80..142009e1 100644
--- a/src/faker.ts
+++ b/src/faker.ts
@@ -36,7 +36,7 @@ export type UsableLocale = LiteralUnion<KnownLocale>;
export type UsedLocales = Partial<Record<UsableLocale, LocaleDefinition>>;
export interface FakerOptions {
- locales?: UsedLocales;
+ locales: UsedLocales;
locale?: UsableLocale;
localeFallback?: UsableLocale;
}
@@ -81,8 +81,20 @@ export class Faker {
readonly vehicle: Vehicle = new Vehicle(this);
readonly word: Word = new Word(this);
- constructor(opts: FakerOptions = {}) {
- this.locales = this.locales || opts.locales || {};
+ constructor(opts: FakerOptions) {
+ if (!opts) {
+ throw new Error(
+ 'Options with at least one entry in locales must be provided'
+ );
+ }
+
+ if (Object.keys(opts.locales ?? {}).length === 0) {
+ throw new Error(
+ 'At least one entry in locales must be provided in the locales parameter'
+ );
+ }
+
+ this.locales = opts.locales;
this.locale = this.locale || opts.locale || 'en';
this.localeFallback = this.localeFallback || opts.localeFallback || 'en';