diff options
| author | ST-DDT <[email protected]> | 2023-03-07 10:09:29 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-07 09:09:29 +0000 |
| commit | 9a35dc92260585683132172f10bcdec701ed661a (patch) | |
| tree | 35a5711ba5a5fbc18a8f62515d1ae8b25af77023 /src | |
| parent | a4d5203511e6ea7e26bc8c75baf91ee44387cac0 (diff) | |
| download | faker-9a35dc92260585683132172f10bcdec701ed661a.tar.xz faker-9a35dc92260585683132172f10bcdec701ed661a.zip | |
refactor!: remove dynamic locale switching support (#1735)
Diffstat (limited to 'src')
65 files changed, 488 insertions, 686 deletions
diff --git a/src/faker.ts b/src/faker.ts index a6072895..6a23cffd 100644 --- a/src/faker.ts +++ b/src/faker.ts @@ -3,7 +3,6 @@ import { FakerError } from './errors/faker-error'; import { deprecated } from './internal/deprecated'; import type { Mersenne } from './internal/mersenne/mersenne'; import mersenne from './internal/mersenne/mersenne'; -import type { KnownLocale } from './locales'; import { AirlineModule } from './modules/airline'; import { AnimalModule } from './modules/animal'; import { ColorModule } from './modules/color'; @@ -32,53 +31,12 @@ import { StringModule } from './modules/string'; import { SystemModule } from './modules/system'; import { VehicleModule } from './modules/vehicle'; import { WordModule } from './modules/word'; -import type { LiteralUnion } from './utils/types'; - -export type UsableLocale = LiteralUnion<KnownLocale>; -export type UsedLocales = Partial<Record<UsableLocale, LocaleDefinition>>; - -export interface FakerOptions { - locales: UsedLocales; - locale?: UsableLocale; - localeFallback?: UsableLocale; -} - -const metadataKeys: ReadonlyArray<keyof LocaleDefinition> = ['title']; +import { mergeLocales } from './utils/merge-locales'; export class Faker { - locales: UsedLocales; - private _locale: UsableLocale; - private _localeFallback: UsableLocale; + readonly definitions: LocaleDefinition; private _defaultRefDate: () => Date = () => new Date(); - get locale(): UsableLocale { - return this._locale; - } - - set locale(locale: UsableLocale) { - if (!this.locales[locale]) { - throw new FakerError( - `Locale ${locale} is not supported. You might want to add the requested locale first to \`faker.locales\`.` - ); - } - - this._locale = locale; - } - - get localeFallback(): UsableLocale { - return this._localeFallback; - } - - set localeFallback(localeFallback: UsableLocale) { - if (!this.locales[localeFallback]) { - throw new FakerError( - `Locale ${localeFallback} is not supported. You might want to add the requested locale first to \`faker.locales\`.` - ); - } - - this._localeFallback = localeFallback; - } - /** * Gets a new reference date used to generate relative dates. */ @@ -103,8 +61,6 @@ export class Faker { } } - readonly definitions: LocaleDefinition = this.initDefinitions(); - /** @internal */ private readonly _mersenne: Mersenne = mersenne(); @@ -161,91 +117,88 @@ export class Faker { return this.person; } - constructor(opts: FakerOptions) { - if (!opts) { - throw new FakerError( - 'Options with at least one entry in locales must be provided' - ); - } - - if (Object.keys(opts.locales ?? {}).length === 0) { - throw new FakerError( - 'At least one entry in locales must be provided in the locales parameter' - ); - } - - this.locales = opts.locales; - this.locale = opts.locale || 'en'; - this.localeFallback = opts.localeFallback || 'en'; - } - /** - * Creates a Proxy based LocaleDefinition that virtually merges the locales. + * Creates a new instance of Faker. + * + * @param options The options to use. + * @param options.locale The locale data to use. */ - private initDefinitions(): LocaleDefinition { - // Returns the first LocaleDefinition[key] in any locale - const resolveBaseData = (key: keyof LocaleDefinition): unknown => - this.locales[this.locale][key] ?? this.locales[this.localeFallback][key]; + constructor(options: { + /** + * The locale data to use for this instance. + * If an array is provided, the first locale that has a definition for a given property will be used. + * + * @see mergeLocales + */ + locale: LocaleDefinition | LocaleDefinition[]; + }); + /** + * Creates a new instance of Faker. + * + * @param options The options to use. + * @param options.locales The locale data to use. + * @param options.locale The locale data to use. + * + * @deprecated Use `new Faker({ locale: [locale, localeFallback] })` instead. + */ + constructor(options: { + locales: Record<string, LocaleDefinition>; + locale?: string; + localeFallback?: string; + }); + // This is somehow required for `ConstructorParameters<typeof Faker>[0]` to work + constructor( + options: + | { locale: LocaleDefinition | LocaleDefinition[] } + | { + locales: Record<string, LocaleDefinition>; + locale?: string; + localeFallback?: string; + } + ); + constructor( + options: + | { locale: LocaleDefinition | LocaleDefinition[] } + | { + locales: Record<string, LocaleDefinition>; + locale?: string; + localeFallback?: string; + } + ) { + const { locales } = options as { + locales: Record<string, LocaleDefinition>; + }; + if (locales != null) { + deprecated({ + deprecated: + "new Faker({ locales: {a, b}, locale: 'a', localeFallback: 'b' })", + proposed: + 'new Faker({ locale: [a, b, ...] }) or new Faker({ locale: a })', + since: '8.0', + until: '9.0', + }); + const { locale = 'en', localeFallback = 'en' } = options as { + locale: string; + localeFallback: string; + }; + options = { + locale: [locales[locale], locales[localeFallback]], + }; + } - // Returns the first LocaleDefinition[module][entry] in any locale - const resolveModuleData = ( - module: keyof LocaleDefinition, - entry: string - ): unknown => - this.locales[this.locale][module]?.[entry] ?? - this.locales[this.localeFallback][module]?.[entry]; + let { locale } = options; - // Returns a proxy that can return the entries for a module (if it exists) - const moduleLoader = ( - module: keyof LocaleDefinition - ): Record<string, unknown> | undefined => { - if (resolveBaseData(module)) { - return new Proxy( - {}, - { - get(target, entry: string): unknown { - return resolveModuleData(module, entry); - }, - } + if (Array.isArray(locale)) { + if (locale.length === 0) { + throw new FakerError( + 'The locale option must contain at least one locale definition.' ); - } else { - return undefined; } - }; - return new Proxy({} as LocaleDefinition, { - get(target: LocaleDefinition, module: string): unknown { - // Support aliases - if (module === 'address') { - module = 'location'; - deprecated({ - deprecated: `faker.helpers.fake('{{address.*}}') or faker.definitions.address`, - proposed: `faker.helpers.fake('{{location.*}}') or faker.definitions.location`, - since: '8.0', - until: '10.0', - }); - } else if (module === 'name') { - module = 'person'; - deprecated({ - deprecated: `faker.helpers.fake('{{name.*}}') or faker.definitions.name`, - proposed: `faker.helpers.fake('{{person.*}}') or faker.definitions.person`, - since: '8.0', - until: '10.0', - }); - } + locale = mergeLocales(locale); + } - let result = target[module]; - if (result) { - return result; - } else if (metadataKeys.includes(module)) { - return resolveBaseData(module); - } else { - result = moduleLoader(module); - target[module] = result; - return result; - } - }, - }); + this.definitions = locale as LocaleDefinition; } /** @@ -320,12 +273,84 @@ export class Faker { return seed; } + // Pure JS backwards compatibility + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private get locales(): never { + throw new FakerError( + 'The locales property has been removed. Please use the constructor instead.' + ); + } + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private set locales(value: never) { + throw new FakerError( + 'The locales property has been removed. Please use the constructor instead.' + ); + } + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private get locale(): never { + throw new FakerError( + 'The locale property has been removed. Please use the constructor instead.' + ); + } + /** - * Set Faker's locale + * Do NOT use. This property has been removed. * - * @param locale The locale to set (e.g. `en` or `en_AU`, `en_AU_ocker`). + * @deprecated Use the constructor instead. */ - setLocale(locale: UsableLocale): void { - this.locale = locale; + private set locale(value: never) { + throw new FakerError( + 'The locale property has been removed. Please use the constructor instead.' + ); + } + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private get localeFallback(): never { + throw new FakerError( + 'The localeFallback property has been removed. Please use the constructor instead.' + ); + } + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private set localeFallback(value: never) { + throw new FakerError( + 'The localeFallback property has been removed. Please use the constructor instead.' + ); + } + + /** + * Do NOT use. This property has been removed. + * + * @deprecated Use the constructor instead. + */ + private setLocale(): never { + throw new FakerError( + 'This method has been removed. Please use the constructor instead.' + ); } } + +export type FakerOptions = ConstructorParameters<typeof Faker>[0]; diff --git a/src/index.ts b/src/index.ts index 2007df1e..27923560 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,3 @@ -import { Faker } from './faker'; -import allLocales from './locales'; - export type { AirlineDefinitions, AnimalDefinitions, @@ -34,7 +31,12 @@ export type { WordDefinitions, } from './definitions'; export { FakerError } from './errors/faker-error'; -export type { FakerOptions, UsableLocale, UsedLocales } from './faker'; +export { Faker } from './faker'; +export type { FakerOptions } from './faker'; +export * from './locale'; +export { fakerEN as faker } from './locale'; +export * from './locales'; +export * as allLocales from './locales'; export { Aircraft, AircraftType } from './modules/airline'; export type { AirlineModule } from './modules/airline'; export type { AnimalModule } from './modules/animal'; @@ -81,9 +83,3 @@ export type { SystemModule } from './modules/system'; export type { VehicleModule } from './modules/vehicle'; export type { WordModule } from './modules/word'; export { mergeLocales } from './utils/merge-locales'; -export { Faker }; - -// since we are requiring the top level of faker, load all locales by default -export const faker: Faker = new Faker({ - locales: allLocales, -}); diff --git a/src/locale/af_ZA.ts b/src/locale/af_ZA.ts index 93ac1bcf..17e0a692 100644 --- a/src/locale/af_ZA.ts +++ b/src/locale/af_ZA.ts @@ -8,10 +8,5 @@ import af_ZA from '../locales/af_ZA'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'af_ZA', - localeFallback: 'en', - locales: { - af_ZA, - en, - }, + locale: [af_ZA, en], }); diff --git a/src/locale/ar.ts b/src/locale/ar.ts index 83eb4168..2874a6fb 100644 --- a/src/locale/ar.ts +++ b/src/locale/ar.ts @@ -8,10 +8,5 @@ import ar from '../locales/ar'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'ar', - localeFallback: 'en', - locales: { - ar, - en, - }, + locale: [ar, en], }); diff --git a/src/locale/az.ts b/src/locale/az.ts index b7b1fd6f..7b11a6a9 100644 --- a/src/locale/az.ts +++ b/src/locale/az.ts @@ -8,10 +8,5 @@ import az from '../locales/az'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'az', - localeFallback: 'en', - locales: { - az, - en, - }, + locale: [az, en], }); diff --git a/src/locale/cz.ts b/src/locale/cz.ts index f6932b0b..c2f85800 100644 --- a/src/locale/cz.ts +++ b/src/locale/cz.ts @@ -8,10 +8,5 @@ import cz from '../locales/cz'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'cz', - localeFallback: 'en', - locales: { - cz, - en, - }, + locale: [cz, en], }); diff --git a/src/locale/de.ts b/src/locale/de.ts index 47bd5794..09ff3bfa 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -8,10 +8,5 @@ import de from '../locales/de'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'de', - localeFallback: 'en', - locales: { - de, - en, - }, + locale: [de, en], }); diff --git a/src/locale/de_AT.ts b/src/locale/de_AT.ts index 1060b041..b02b50cb 100644 --- a/src/locale/de_AT.ts +++ b/src/locale/de_AT.ts @@ -4,14 +4,10 @@ */ import { Faker } from '../faker'; +import de from '../locales/de'; import de_AT from '../locales/de_AT'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'de_AT', - localeFallback: 'en', - locales: { - de_AT, - en, - }, + locale: [de_AT, de, en], }); diff --git a/src/locale/de_CH.ts b/src/locale/de_CH.ts index 2e6b8480..5b866437 100644 --- a/src/locale/de_CH.ts +++ b/src/locale/de_CH.ts @@ -4,14 +4,10 @@ */ import { Faker } from '../faker'; +import de from '../locales/de'; import de_CH from '../locales/de_CH'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'de_CH', - localeFallback: 'en', - locales: { - de_CH, - en, - }, + locale: [de_CH, de, en], }); diff --git a/src/locale/dv.ts b/src/locale/dv.ts index 620cb2b9..3d996cc1 100644 --- a/src/locale/dv.ts +++ b/src/locale/dv.ts @@ -8,10 +8,5 @@ import dv from '../locales/dv'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'dv', - localeFallback: 'en', - locales: { - dv, - en, - }, + locale: [dv, en], }); diff --git a/src/locale/el.ts b/src/locale/el.ts index 0292c601..119403b6 100644 --- a/src/locale/el.ts +++ b/src/locale/el.ts @@ -8,10 +8,5 @@ import el from '../locales/el'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'el', - localeFallback: 'en', - locales: { - el, - en, - }, + locale: [el, en], }); diff --git a/src/locale/en.ts b/src/locale/en.ts index b857f0ae..1d7db9f5 100644 --- a/src/locale/en.ts +++ b/src/locale/en.ts @@ -7,9 +7,5 @@ import { Faker } from '../faker'; import en from '../locales/en'; export const faker = new Faker({ - locale: 'en', - localeFallback: 'en', - locales: { - en, - }, + locale: en, }); diff --git a/src/locale/en_AU.ts b/src/locale/en_AU.ts index 33d41c4c..01ad19ad 100644 --- a/src/locale/en_AU.ts +++ b/src/locale/en_AU.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_AU from '../locales/en_AU'; export const faker = new Faker({ - locale: 'en_AU', - localeFallback: 'en', - locales: { - en_AU, - en, - }, + locale: [en_AU, en], }); diff --git a/src/locale/en_AU_ocker.ts b/src/locale/en_AU_ocker.ts index 735c3e2c..22c9ae32 100644 --- a/src/locale/en_AU_ocker.ts +++ b/src/locale/en_AU_ocker.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import en_AU from '../locales/en_AU'; import en_AU_ocker from '../locales/en_AU_ocker'; export const faker = new Faker({ - locale: 'en_AU_ocker', - localeFallback: 'en', - locales: { - en_AU_ocker, - en, - }, + locale: [en_AU_ocker, en_AU, en], }); diff --git a/src/locale/en_BORK.ts b/src/locale/en_BORK.ts index 962f2619..d8776851 100644 --- a/src/locale/en_BORK.ts +++ b/src/locale/en_BORK.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_BORK from '../locales/en_BORK'; export const faker = new Faker({ - locale: 'en_BORK', - localeFallback: 'en', - locales: { - en_BORK, - en, - }, + locale: [en_BORK, en], }); diff --git a/src/locale/en_CA.ts b/src/locale/en_CA.ts index 5b64a4ee..a1c2d158 100644 --- a/src/locale/en_CA.ts +++ b/src/locale/en_CA.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_CA from '../locales/en_CA'; export const faker = new Faker({ - locale: 'en_CA', - localeFallback: 'en', - locales: { - en_CA, - en, - }, + locale: [en_CA, en], }); diff --git a/src/locale/en_GB.ts b/src/locale/en_GB.ts index 7cd2caba..411c0823 100644 --- a/src/locale/en_GB.ts +++ b/src/locale/en_GB.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_GB from '../locales/en_GB'; export const faker = new Faker({ - locale: 'en_GB', - localeFallback: 'en', - locales: { - en_GB, - en, - }, + locale: [en_GB, en], }); diff --git a/src/locale/en_GH.ts b/src/locale/en_GH.ts index d6effe2a..a131a786 100644 --- a/src/locale/en_GH.ts +++ b/src/locale/en_GH.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_GH from '../locales/en_GH'; export const faker = new Faker({ - locale: 'en_GH', - localeFallback: 'en', - locales: { - en_GH, - en, - }, + locale: [en_GH, en], }); diff --git a/src/locale/en_IE.ts b/src/locale/en_IE.ts index 85afdb64..b66c6a45 100644 --- a/src/locale/en_IE.ts +++ b/src/locale/en_IE.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_IE from '../locales/en_IE'; export const faker = new Faker({ - locale: 'en_IE', - localeFallback: 'en', - locales: { - en_IE, - en, - }, + locale: [en_IE, en], }); diff --git a/src/locale/en_IN.ts b/src/locale/en_IN.ts index bb7c21d7..28eb2333 100644 --- a/src/locale/en_IN.ts +++ b/src/locale/en_IN.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_IN from '../locales/en_IN'; export const faker = new Faker({ - locale: 'en_IN', - localeFallback: 'en', - locales: { - en_IN, - en, - }, + locale: [en_IN, en], }); diff --git a/src/locale/en_NG.ts b/src/locale/en_NG.ts index 32802c49..a5a9b5b1 100644 --- a/src/locale/en_NG.ts +++ b/src/locale/en_NG.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_NG from '../locales/en_NG'; export const faker = new Faker({ - locale: 'en_NG', - localeFallback: 'en', - locales: { - en_NG, - en, - }, + locale: [en_NG, en], }); diff --git a/src/locale/en_US.ts b/src/locale/en_US.ts index 558bf4a3..8077c573 100644 --- a/src/locale/en_US.ts +++ b/src/locale/en_US.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_US from '../locales/en_US'; export const faker = new Faker({ - locale: 'en_US', - localeFallback: 'en', - locales: { - en_US, - en, - }, + locale: [en_US, en], }); diff --git a/src/locale/en_ZA.ts b/src/locale/en_ZA.ts index 94f6d76e..3e5b3163 100644 --- a/src/locale/en_ZA.ts +++ b/src/locale/en_ZA.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import en_ZA from '../locales/en_ZA'; export const faker = new Faker({ - locale: 'en_ZA', - localeFallback: 'en', - locales: { - en_ZA, - en, - }, + locale: [en_ZA, en], }); diff --git a/src/locale/es.ts b/src/locale/es.ts index cf4d26c2..0f5116f2 100644 --- a/src/locale/es.ts +++ b/src/locale/es.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import es from '../locales/es'; export const faker = new Faker({ - locale: 'es', - localeFallback: 'en', - locales: { - es, - en, - }, + locale: [es, en], }); diff --git a/src/locale/es_MX.ts b/src/locale/es_MX.ts index 96492e56..5a80a0f0 100644 --- a/src/locale/es_MX.ts +++ b/src/locale/es_MX.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import es from '../locales/es'; import es_MX from '../locales/es_MX'; export const faker = new Faker({ - locale: 'es_MX', - localeFallback: 'en', - locales: { - es_MX, - en, - }, + locale: [es_MX, es, en], }); diff --git a/src/locale/fa.ts b/src/locale/fa.ts index 6d5a0944..9a8c12de 100644 --- a/src/locale/fa.ts +++ b/src/locale/fa.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import fa from '../locales/fa'; export const faker = new Faker({ - locale: 'fa', - localeFallback: 'en', - locales: { - fa, - en, - }, + locale: [fa, en], }); diff --git a/src/locale/fi.ts b/src/locale/fi.ts index 860ab5ad..06844df4 100644 --- a/src/locale/fi.ts +++ b/src/locale/fi.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import fi from '../locales/fi'; export const faker = new Faker({ - locale: 'fi', - localeFallback: 'en', - locales: { - fi, - en, - }, + locale: [fi, en], }); diff --git a/src/locale/fr.ts b/src/locale/fr.ts index d33c5d1c..f9360a7e 100644 --- a/src/locale/fr.ts +++ b/src/locale/fr.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import fr from '../locales/fr'; export const faker = new Faker({ - locale: 'fr', - localeFallback: 'en', - locales: { - fr, - en, - }, + locale: [fr, en], }); diff --git a/src/locale/fr_BE.ts b/src/locale/fr_BE.ts index c9de78dc..41e2554d 100644 --- a/src/locale/fr_BE.ts +++ b/src/locale/fr_BE.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import fr from '../locales/fr'; import fr_BE from '../locales/fr_BE'; export const faker = new Faker({ - locale: 'fr_BE', - localeFallback: 'en', - locales: { - fr_BE, - en, - }, + locale: [fr_BE, fr, en], }); diff --git a/src/locale/fr_CA.ts b/src/locale/fr_CA.ts index 573181a3..77e9a227 100644 --- a/src/locale/fr_CA.ts +++ b/src/locale/fr_CA.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import fr from '../locales/fr'; import fr_CA from '../locales/fr_CA'; export const faker = new Faker({ - locale: 'fr_CA', - localeFallback: 'en', - locales: { - fr_CA, - en, - }, + locale: [fr_CA, fr, en], }); diff --git a/src/locale/fr_CH.ts b/src/locale/fr_CH.ts index 3a914e43..fc61a9f5 100644 --- a/src/locale/fr_CH.ts +++ b/src/locale/fr_CH.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import fr from '../locales/fr'; import fr_CH from '../locales/fr_CH'; export const faker = new Faker({ - locale: 'fr_CH', - localeFallback: 'en', - locales: { - fr_CH, - en, - }, + locale: [fr_CH, fr, en], }); diff --git a/src/locale/fr_LU.ts b/src/locale/fr_LU.ts index 8e63bfdb..c7bee237 100644 --- a/src/locale/fr_LU.ts +++ b/src/locale/fr_LU.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import fr from '../locales/fr'; import fr_LU from '../locales/fr_LU'; export const faker = new Faker({ - locale: 'fr_LU', - localeFallback: 'en', - locales: { - fr_LU, - en, - }, + locale: [fr_LU, fr, en], }); diff --git a/src/locale/ge.ts b/src/locale/ge.ts index e1f05865..f33a614a 100644 --- a/src/locale/ge.ts +++ b/src/locale/ge.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ge from '../locales/ge'; export const faker = new Faker({ - locale: 'ge', - localeFallback: 'en', - locales: { - ge, - en, - }, + locale: [ge, en], }); diff --git a/src/locale/he.ts b/src/locale/he.ts index b4c1b9c9..a7dca5f9 100644 --- a/src/locale/he.ts +++ b/src/locale/he.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import he from '../locales/he'; export const faker = new Faker({ - locale: 'he', - localeFallback: 'en', - locales: { - he, - en, - }, + locale: [he, en], }); diff --git a/src/locale/hr.ts b/src/locale/hr.ts index d9aa1348..a210046c 100644 --- a/src/locale/hr.ts +++ b/src/locale/hr.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import hr from '../locales/hr'; export const faker = new Faker({ - locale: 'hr', - localeFallback: 'en', - locales: { - hr, - en, - }, + locale: [hr, en], }); diff --git a/src/locale/hu.ts b/src/locale/hu.ts index f9d9f555..de5613dc 100644 --- a/src/locale/hu.ts +++ b/src/locale/hu.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import hu from '../locales/hu'; export const faker = new Faker({ - locale: 'hu', - localeFallback: 'en', - locales: { - hu, - en, - }, + locale: [hu, en], }); diff --git a/src/locale/hy.ts b/src/locale/hy.ts index 724c1406..d7d72c3b 100644 --- a/src/locale/hy.ts +++ b/src/locale/hy.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import hy from '../locales/hy'; export const faker = new Faker({ - locale: 'hy', - localeFallback: 'en', - locales: { - hy, - en, - }, + locale: [hy, en], }); diff --git a/src/locale/id_ID.ts b/src/locale/id_ID.ts index eafc0c52..6f481d83 100644 --- a/src/locale/id_ID.ts +++ b/src/locale/id_ID.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import id_ID from '../locales/id_ID'; export const faker = new Faker({ - locale: 'id_ID', - localeFallback: 'en', - locales: { - id_ID, - en, - }, + locale: [id_ID, en], }); diff --git a/src/locale/index.ts b/src/locale/index.ts new file mode 100644 index 00000000..8131e355 --- /dev/null +++ b/src/locale/index.ts @@ -0,0 +1,188 @@ +/* + * This file is automatically generated. + * Run 'pnpm run generate:locales' to update. + */ + +import { faker as fakerAF_ZA } from './af_ZA'; +import { faker as fakerAR } from './ar'; +import { faker as fakerAZ } from './az'; +import { faker as fakerCZ } from './cz'; +import { faker as fakerDE } from './de'; +import { faker as fakerDE_AT } from './de_AT'; +import { faker as fakerDE_CH } from './de_CH'; +import { faker as fakerDV } from './dv'; +import { faker as fakerEL } from './el'; +import { faker as fakerEN } from './en'; +import { faker as fakerEN_AU } from './en_AU'; +import { faker as fakerEN_AU_ocker } from './en_AU_ocker'; +import { faker as fakerEN_BORK } from './en_BORK'; +import { faker as fakerEN_CA } from './en_CA'; +import { faker as fakerEN_GB } from './en_GB'; +import { faker as fakerEN_GH } from './en_GH'; +import { faker as fakerEN_IE } from './en_IE'; +import { faker as fakerEN_IN } from './en_IN'; +import { faker as fakerEN_NG } from './en_NG'; +import { faker as fakerEN_US } from './en_US'; +import { faker as fakerEN_ZA } from './en_ZA'; +import { faker as fakerES } from './es'; +import { faker as fakerES_MX } from './es_MX'; +import { faker as fakerFA } from './fa'; +import { faker as fakerFI } from './fi'; +import { faker as fakerFR } from './fr'; +import { faker as fakerFR_BE } from './fr_BE'; +import { faker as fakerFR_CA } from './fr_CA'; +import { faker as fakerFR_CH } from './fr_CH'; +import { faker as fakerFR_LU } from './fr_LU'; +import { faker as fakerGE } from './ge'; +import { faker as fakerHE } from './he'; +import { faker as fakerHR } from './hr'; +import { faker as fakerHU } from './hu'; +import { faker as fakerHY } from './hy'; +import { faker as fakerID_ID } from './id_ID'; +import { faker as fakerIT } from './it'; +import { faker as fakerJA } from './ja'; +import { faker as fakerKO } from './ko'; +import { faker as fakerLV } from './lv'; +import { faker as fakerMK } from './mk'; +import { faker as fakerNB_NO } from './nb_NO'; +import { faker as fakerNE } from './ne'; +import { faker as fakerNL } from './nl'; +import { faker as fakerNL_BE } from './nl_BE'; +import { faker as fakerPL } from './pl'; +import { faker as fakerPT_BR } from './pt_BR'; +import { faker as fakerPT_PT } from './pt_PT'; +import { faker as fakerRO } from './ro'; +import { faker as fakerRU } from './ru'; +import { faker as fakerSK } from './sk'; +import { faker as fakerSV } from './sv'; +import { faker as fakerTR } from './tr'; +import { faker as fakerUK } from './uk'; +import { faker as fakerUR } from './ur'; +import { faker as fakerVI } from './vi'; +import { faker as fakerZH_CN } from './zh_CN'; +import { faker as fakerZH_TW } from './zh_TW'; +import { faker as fakerZU_ZA } from './zu_ZA'; + +export { + fakerAF_ZA, + fakerAR, + fakerAZ, + fakerCZ, + fakerDE, + fakerDE_AT, + fakerDE_CH, + fakerDV, + fakerEL, + fakerEN, + fakerEN_AU, + fakerEN_AU_ocker, + fakerEN_BORK, + fakerEN_CA, + fakerEN_GB, + fakerEN_GH, + fakerEN_IE, + fakerEN_IN, + fakerEN_NG, + fakerEN_US, + fakerEN_ZA, + fakerES, + fakerES_MX, + fakerFA, + fakerFI, + fakerFR, + fakerFR_BE, + fakerFR_CA, + fakerFR_CH, + fakerFR_LU, + fakerGE, + fakerHE, + fakerHR, + fakerHU, + fakerHY, + fakerID_ID, + fakerIT, + fakerJA, + fakerKO, + fakerLV, + fakerMK, + fakerNB_NO, + fakerNE, + fakerNL, + fakerNL_BE, + fakerPL, + fakerPT_BR, + fakerPT_PT, + fakerRO, + fakerRU, + fakerSK, + fakerSV, + fakerTR, + fakerUK, + fakerUR, + fakerVI, + fakerZH_CN, + fakerZH_TW, + fakerZU_ZA, +}; + +export const allFakers = { + af_ZA: fakerAF_ZA, + ar: fakerAR, + az: fakerAZ, + cz: fakerCZ, + de: fakerDE, + de_AT: fakerDE_AT, + de_CH: fakerDE_CH, + dv: fakerDV, + el: fakerEL, + en: fakerEN, + en_AU: fakerEN_AU, + en_AU_ocker: fakerEN_AU_ocker, + en_BORK: fakerEN_BORK, + en_CA: fakerEN_CA, + en_GB: fakerEN_GB, + en_GH: fakerEN_GH, + en_IE: fakerEN_IE, + en_IN: fakerEN_IN, + en_NG: fakerEN_NG, + en_US: fakerEN_US, + en_ZA: fakerEN_ZA, + es: fakerES, + es_MX: fakerES_MX, + fa: fakerFA, + fi: fakerFI, + fr: fakerFR, + fr_BE: fakerFR_BE, + fr_CA: fakerFR_CA, + fr_CH: fakerFR_CH, + fr_LU: fakerFR_LU, + ge: fakerGE, + he: fakerHE, + hr: fakerHR, + hu: fakerHU, + hy: fakerHY, + id_ID: fakerID_ID, + it: fakerIT, + ja: fakerJA, + ko: fakerKO, + lv: fakerLV, + mk: fakerMK, + nb_NO: fakerNB_NO, + ne: fakerNE, + nl: fakerNL, + nl_BE: fakerNL_BE, + pl: fakerPL, + pt_BR: fakerPT_BR, + pt_PT: fakerPT_PT, + ro: fakerRO, + ru: fakerRU, + sk: fakerSK, + sv: fakerSV, + tr: fakerTR, + uk: fakerUK, + ur: fakerUR, + vi: fakerVI, + zh_CN: fakerZH_CN, + zh_TW: fakerZH_TW, + zu_ZA: fakerZU_ZA, +} as const; diff --git a/src/locale/it.ts b/src/locale/it.ts index b6df80e8..bff0a521 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import it from '../locales/it'; export const faker = new Faker({ - locale: 'it', - localeFallback: 'en', - locales: { - it, - en, - }, + locale: [it, en], }); diff --git a/src/locale/ja.ts b/src/locale/ja.ts index f24109df..8a9a866c 100644 --- a/src/locale/ja.ts +++ b/src/locale/ja.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ja from '../locales/ja'; export const faker = new Faker({ - locale: 'ja', - localeFallback: 'en', - locales: { - ja, - en, - }, + locale: [ja, en], }); diff --git a/src/locale/ko.ts b/src/locale/ko.ts index 64b0b3e7..eaa9e3ff 100644 --- a/src/locale/ko.ts +++ b/src/locale/ko.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ko from '../locales/ko'; export const faker = new Faker({ - locale: 'ko', - localeFallback: 'en', - locales: { - ko, - en, - }, + locale: [ko, en], }); diff --git a/src/locale/lv.ts b/src/locale/lv.ts index 80ed9156..dc9f4327 100644 --- a/src/locale/lv.ts +++ b/src/locale/lv.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import lv from '../locales/lv'; export const faker = new Faker({ - locale: 'lv', - localeFallback: 'en', - locales: { - lv, - en, - }, + locale: [lv, en], }); diff --git a/src/locale/mk.ts b/src/locale/mk.ts index 91199ba4..18981c46 100644 --- a/src/locale/mk.ts +++ b/src/locale/mk.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import mk from '../locales/mk'; export const faker = new Faker({ - locale: 'mk', - localeFallback: 'en', - locales: { - mk, - en, - }, + locale: [mk, en], }); diff --git a/src/locale/nb_NO.ts b/src/locale/nb_NO.ts index ee4b561c..3dcc5a5c 100644 --- a/src/locale/nb_NO.ts +++ b/src/locale/nb_NO.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import nb_NO from '../locales/nb_NO'; export const faker = new Faker({ - locale: 'nb_NO', - localeFallback: 'en', - locales: { - nb_NO, - en, - }, + locale: [nb_NO, en], }); diff --git a/src/locale/ne.ts b/src/locale/ne.ts index ebc47246..e75adb0c 100644 --- a/src/locale/ne.ts +++ b/src/locale/ne.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ne from '../locales/ne'; export const faker = new Faker({ - locale: 'ne', - localeFallback: 'en', - locales: { - ne, - en, - }, + locale: [ne, en], }); diff --git a/src/locale/nl.ts b/src/locale/nl.ts index c8f6a649..3965b754 100644 --- a/src/locale/nl.ts +++ b/src/locale/nl.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import nl from '../locales/nl'; export const faker = new Faker({ - locale: 'nl', - localeFallback: 'en', - locales: { - nl, - en, - }, + locale: [nl, en], }); diff --git a/src/locale/nl_BE.ts b/src/locale/nl_BE.ts index dd227f4e..4b6cb7aa 100644 --- a/src/locale/nl_BE.ts +++ b/src/locale/nl_BE.ts @@ -5,13 +5,9 @@ import { Faker } from '../faker'; import en from '../locales/en'; +import nl from '../locales/nl'; import nl_BE from '../locales/nl_BE'; export const faker = new Faker({ - locale: 'nl_BE', - localeFallback: 'en', - locales: { - nl_BE, - en, - }, + locale: [nl_BE, nl, en], }); diff --git a/src/locale/pl.ts b/src/locale/pl.ts index 44db8e40..875ac5ec 100644 --- a/src/locale/pl.ts +++ b/src/locale/pl.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import pl from '../locales/pl'; export const faker = new Faker({ - locale: 'pl', - localeFallback: 'en', - locales: { - pl, - en, - }, + locale: [pl, en], }); diff --git a/src/locale/pt_BR.ts b/src/locale/pt_BR.ts index 3711d3f6..5a4725d4 100644 --- a/src/locale/pt_BR.ts +++ b/src/locale/pt_BR.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import pt_BR from '../locales/pt_BR'; export const faker = new Faker({ - locale: 'pt_BR', - localeFallback: 'en', - locales: { - pt_BR, - en, - }, + locale: [pt_BR, en], }); diff --git a/src/locale/pt_PT.ts b/src/locale/pt_PT.ts index 915092ab..675e9ada 100644 --- a/src/locale/pt_PT.ts +++ b/src/locale/pt_PT.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import pt_PT from '../locales/pt_PT'; export const faker = new Faker({ - locale: 'pt_PT', - localeFallback: 'en', - locales: { - pt_PT, - en, - }, + locale: [pt_PT, en], }); diff --git a/src/locale/ro.ts b/src/locale/ro.ts index 2903e01d..b9b36836 100644 --- a/src/locale/ro.ts +++ b/src/locale/ro.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ro from '../locales/ro'; export const faker = new Faker({ - locale: 'ro', - localeFallback: 'en', - locales: { - ro, - en, - }, + locale: [ro, en], }); diff --git a/src/locale/ru.ts b/src/locale/ru.ts index 43334221..3e360255 100644 --- a/src/locale/ru.ts +++ b/src/locale/ru.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ru from '../locales/ru'; export const faker = new Faker({ - locale: 'ru', - localeFallback: 'en', - locales: { - ru, - en, - }, + locale: [ru, en], }); diff --git a/src/locale/sk.ts b/src/locale/sk.ts index 2816c16e..8f6573a9 100644 --- a/src/locale/sk.ts +++ b/src/locale/sk.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import sk from '../locales/sk'; export const faker = new Faker({ - locale: 'sk', - localeFallback: 'en', - locales: { - sk, - en, - }, + locale: [sk, en], }); diff --git a/src/locale/sv.ts b/src/locale/sv.ts index 41c8f4e3..b459b35d 100644 --- a/src/locale/sv.ts +++ b/src/locale/sv.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import sv from '../locales/sv'; export const faker = new Faker({ - locale: 'sv', - localeFallback: 'en', - locales: { - sv, - en, - }, + locale: [sv, en], }); diff --git a/src/locale/tr.ts b/src/locale/tr.ts index 0aa4a51a..30308952 100644 --- a/src/locale/tr.ts +++ b/src/locale/tr.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import tr from '../locales/tr'; export const faker = new Faker({ - locale: 'tr', - localeFallback: 'en', - locales: { - tr, - en, - }, + locale: [tr, en], }); diff --git a/src/locale/uk.ts b/src/locale/uk.ts index ec40da8f..fe35122d 100644 --- a/src/locale/uk.ts +++ b/src/locale/uk.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import uk from '../locales/uk'; export const faker = new Faker({ - locale: 'uk', - localeFallback: 'en', - locales: { - uk, - en, - }, + locale: [uk, en], }); diff --git a/src/locale/ur.ts b/src/locale/ur.ts index f08be161..dd853d28 100644 --- a/src/locale/ur.ts +++ b/src/locale/ur.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import ur from '../locales/ur'; export const faker = new Faker({ - locale: 'ur', - localeFallback: 'en', - locales: { - ur, - en, - }, + locale: [ur, en], }); diff --git a/src/locale/vi.ts b/src/locale/vi.ts index 96c888af..2525260a 100644 --- a/src/locale/vi.ts +++ b/src/locale/vi.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import vi from '../locales/vi'; export const faker = new Faker({ - locale: 'vi', - localeFallback: 'en', - locales: { - vi, - en, - }, + locale: [vi, en], }); diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 207ede77..11c63265 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import zh_CN from '../locales/zh_CN'; export const faker = new Faker({ - locale: 'zh_CN', - localeFallback: 'en', - locales: { - zh_CN, - en, - }, + locale: [zh_CN, en], }); diff --git a/src/locale/zh_TW.ts b/src/locale/zh_TW.ts index dd36aa2e..7eefd1b6 100644 --- a/src/locale/zh_TW.ts +++ b/src/locale/zh_TW.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import zh_TW from '../locales/zh_TW'; export const faker = new Faker({ - locale: 'zh_TW', - localeFallback: 'en', - locales: { - zh_TW, - en, - }, + locale: [zh_TW, en], }); diff --git a/src/locale/zu_ZA.ts b/src/locale/zu_ZA.ts index df595ff2..145ff94a 100644 --- a/src/locale/zu_ZA.ts +++ b/src/locale/zu_ZA.ts @@ -8,10 +8,5 @@ import en from '../locales/en'; import zu_ZA from '../locales/zu_ZA'; export const faker = new Faker({ - locale: 'zu_ZA', - localeFallback: 'en', - locales: { - zu_ZA, - en, - }, + locale: [zu_ZA, en], }); diff --git a/src/locales/index.ts b/src/locales/index.ts index 213442d3..f5f2ca0f 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -3,190 +3,62 @@ * Run 'pnpm run generate:locales' to update. */ -import type { LocaleDefinition } from '..'; -import af_ZA from './af_ZA'; -import ar from './ar'; -import az from './az'; -import cz from './cz'; -import de from './de'; -import de_AT from './de_AT'; -import de_CH from './de_CH'; -import dv from './dv'; -import el from './el'; -import en from './en'; -import en_AU from './en_AU'; -import en_AU_ocker from './en_AU_ocker'; -import en_BORK from './en_BORK'; -import en_CA from './en_CA'; -import en_GB from './en_GB'; -import en_GH from './en_GH'; -import en_IE from './en_IE'; -import en_IN from './en_IN'; -import en_NG from './en_NG'; -import en_US from './en_US'; -import en_ZA from './en_ZA'; -import es from './es'; -import es_MX from './es_MX'; -import fa from './fa'; -import fi from './fi'; -import fr from './fr'; -import fr_BE from './fr_BE'; -import fr_CA from './fr_CA'; -import fr_CH from './fr_CH'; -import fr_LU from './fr_LU'; -import ge from './ge'; -import he from './he'; -import hr from './hr'; -import hu from './hu'; -import hy from './hy'; -import id_ID from './id_ID'; -import it from './it'; -import ja from './ja'; -import ko from './ko'; -import lv from './lv'; -import mk from './mk'; -import nb_NO from './nb_NO'; -import ne from './ne'; -import nl from './nl'; -import nl_BE from './nl_BE'; -import pl from './pl'; -import pt_BR from './pt_BR'; -import pt_PT from './pt_PT'; -import ro from './ro'; -import ru from './ru'; -import sk from './sk'; -import sv from './sv'; -import tr from './tr'; -import uk from './uk'; -import ur from './ur'; -import vi from './vi'; -import zh_CN from './zh_CN'; -import zh_TW from './zh_TW'; -import zu_ZA from './zu_ZA'; - -export type KnownLocale = - | 'af_ZA' - | 'ar' - | 'az' - | 'cz' - | 'de' - | 'de_AT' - | 'de_CH' - | 'dv' - | 'el' - | 'en' - | 'en_AU' - | 'en_AU_ocker' - | 'en_BORK' - | 'en_CA' - | 'en_GB' - | 'en_GH' - | 'en_IE' - | 'en_IN' - | 'en_NG' - | 'en_US' - | 'en_ZA' - | 'es' - | 'es_MX' - | 'fa' - | 'fi' - | 'fr' - | 'fr_BE' - | 'fr_CA' - | 'fr_CH' - | 'fr_LU' - | 'ge' - | 'he' - | 'hr' - | 'hu' - | 'hy' - | 'id_ID' - | 'it' - | 'ja' - | 'ko' - | 'lv' - | 'mk' - | 'nb_NO' - | 'ne' - | 'nl' - | 'nl_BE' - | 'pl' - | 'pt_BR' - | 'pt_PT' - | 'ro' - | 'ru' - | 'sk' - | 'sv' - | 'tr' - | 'uk' - | 'ur' - | 'vi' - | 'zh_CN' - | 'zh_TW' - | 'zu_ZA'; - -export type KnownLocales = Record<KnownLocale, LocaleDefinition>; - -const locales: KnownLocales = { - af_ZA, - ar, - az, - cz, - de, - de_AT, - de_CH, - dv, - el, - en, - en_AU, - en_AU_ocker, - en_BORK, - en_CA, - en_GB, - en_GH, - en_IE, - en_IN, - en_NG, - en_US, - en_ZA, - es, - es_MX, - fa, - fi, - fr, - fr_BE, - fr_CA, - fr_CH, - fr_LU, - ge, - he, - hr, - hu, - hy, - id_ID, - it, - ja, - ko, - lv, - mk, - nb_NO, - ne, - nl, - nl_BE, - pl, - pt_BR, - pt_PT, - ro, - ru, - sk, - sv, - tr, - uk, - ur, - vi, - zh_CN, - zh_TW, - zu_ZA, -}; - -export default locales; +export { default as af_ZA } from './af_ZA'; +export { default as ar } from './ar'; +export { default as az } from './az'; +export { default as cz } from './cz'; +export { default as de } from './de'; +export { default as de_AT } from './de_AT'; +export { default as de_CH } from './de_CH'; +export { default as dv } from './dv'; +export { default as el } from './el'; +export { default as en } from './en'; +export { default as en_AU } from './en_AU'; +export { default as en_AU_ocker } from './en_AU_ocker'; +export { default as en_BORK } from './en_BORK'; +export { default as en_CA } from './en_CA'; +export { default as en_GB } from './en_GB'; +export { default as en_GH } from './en_GH'; +export { default as en_IE } from './en_IE'; +export { default as en_IN } from './en_IN'; +export { default as en_NG } from './en_NG'; +export { default as en_US } from './en_US'; +export { default as en_ZA } from './en_ZA'; +export { default as es } from './es'; +export { default as es_MX } from './es_MX'; +export { default as fa } from './fa'; +export { default as fi } from './fi'; +export { default as fr } from './fr'; +export { default as fr_BE } from './fr_BE'; +export { default as fr_CA } from './fr_CA'; +export { default as fr_CH } from './fr_CH'; +export { default as fr_LU } from './fr_LU'; +export { default as ge } from './ge'; +export { default as he } from './he'; +export { default as hr } from './hr'; +export { default as hu } from './hu'; +export { default as hy } from './hy'; +export { default as id_ID } from './id_ID'; +export { default as it } from './it'; +export { default as ja } from './ja'; +export { default as ko } from './ko'; +export { default as lv } from './lv'; +export { default as mk } from './mk'; +export { default as nb_NO } from './nb_NO'; +export { default as ne } from './ne'; +export { default as nl } from './nl'; +export { default as nl_BE } from './nl_BE'; +export { default as pl } from './pl'; +export { default as pt_BR } from './pt_BR'; +export { default as pt_PT } from './pt_PT'; +export { default as ro } from './ro'; +export { default as ru } from './ru'; +export { default as sk } from './sk'; +export { default as sv } from './sv'; +export { default as tr } from './tr'; +export { default as uk } from './uk'; +export { default as ur } from './ur'; +export { default as vi } from './vi'; +export { default as zh_CN } from './zh_CN'; +export { default as zh_TW } from './zh_TW'; +export { default as zu_ZA } from './zu_ZA'; diff --git a/src/modules/location/index.ts b/src/modules/location/index.ts index 2025beac..fb902588 100644 --- a/src/modules/location/index.ts +++ b/src/modules/location/index.ts @@ -72,8 +72,8 @@ export class LocationModule { * If not specified, a random zip code is generated according to the locale's zip format. * * @example - * fakerUS.location.zipCodeByState("AK") // '99595' - * fakerUS.location.zipCodeByState("??") // '47683-9880' + * fakerEN_US.location.zipCodeByState("AK") // '99595' + * fakerEN_US.location.zipCodeByState("??") // '47683-9880' * * @since 8.0.0 */ @@ -107,7 +107,7 @@ export class LocationModule { * * @example * faker.location.city() // 'East Jarretmouth' - * faker.locale = 'de'; faker.location.city() // 'Bad Lilianadorf' + * fakerDE.location.city() // 'Bad Lilianadorf' * * @since 8.0.0 */ @@ -120,7 +120,7 @@ export class LocationModule { * * @example * faker.location.cityName() // 'San Rafael' - * faker.locale = 'de'; faker.location.cityName() // 'Nürnberg' + * fakerDE.location.cityName() // 'Nürnberg' * * @since 8.0.0 */ diff --git a/src/modules/random/index.ts b/src/modules/random/index.ts index bf1c4d22..a2847bbc 100644 --- a/src/modules/random/index.ts +++ b/src/modules/random/index.ts @@ -1,4 +1,5 @@ import type { Faker } from '../..'; +import { FakerError } from '../../errors/faker-error'; import { deprecated } from '../../internal/deprecated'; import type { LiteralUnion } from '../../utils/types'; import type { @@ -171,16 +172,21 @@ export class RandomModule { } /** - * Returns a random locale, that is available in this faker instance. - * You can use the returned locale with `faker.setLocale(result)`. + * Do NOT use. This property has been removed. * * @example - * faker.random.locale() // 'el' + * faker.helpers.objectKey(allLocales) + * faker.helpers.objectValue(allFakers) * * @since 3.1.0 + * + * @deprecated Use `faker.helpers.objectKey(allLocales/allFakers)` instead. */ - locale(): string { - return this.faker.helpers.arrayElement(Object.keys(this.faker.locales)); + private locale(): never { + // We cannot invoke this ourselves, because this would link to all locale data and increase the bundle size by a lot. + throw new FakerError( + 'This method has been removed. Please use `faker.helpers.objectKey(allLocales/allFakers)` instead.' + ); } /** |
