diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/faker.ts | 18 |
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'; |
