diff options
| author | Shinigami <[email protected]> | 2022-05-04 11:48:03 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-05-04 11:48:03 +0200 |
| commit | 683ee3405c39408d74d74cac0755a26de7a99e35 (patch) | |
| tree | 30a51b3fe3bf1013149045777f84e0d8de9724c5 /src | |
| parent | 100a1ea230cba422174a6b5103c56bc4cf9c0dc4 (diff) | |
| download | faker-683ee3405c39408d74d74cac0755a26de7a99e35.tar.xz faker-683ee3405c39408d74d74cac0755a26de7a99e35.zip | |
refactor!: remove deprecations (#916)
Diffstat (limited to 'src')
| -rw-r--r-- | src/faker.ts | 24 | ||||
| -rw-r--r-- | src/modules/datatype/index.ts | 25 | ||||
| -rw-r--r-- | src/modules/finance/index.ts | 9 | ||||
| -rw-r--r-- | src/modules/helpers/index.ts | 337 | ||||
| -rw-r--r-- | src/modules/name/index.ts | 124 | ||||
| -rw-r--r-- | src/modules/random/index.ts | 308 | ||||
| -rw-r--r-- | src/modules/time/index.ts | 57 | ||||
| -rw-r--r-- | src/modules/unique/index.ts | 77 |
8 files changed, 31 insertions, 930 deletions
diff --git a/src/faker.ts b/src/faker.ts index e9fa978e..3a7962c8 100644 --- a/src/faker.ts +++ b/src/faker.ts @@ -1,6 +1,5 @@ import type { LocaleDefinition } from './definitions'; import { FakerError } from './errors/faker-error'; -import { deprecated } from './internal/deprecated'; import type { KnownLocale } from './locales'; import { Address } from './modules/address'; import { Animal } from './modules/animal'; @@ -23,7 +22,6 @@ import { Name } from './modules/name'; import { Phone } from './modules/phone'; import { Random } from './modules/random'; import { System } from './modules/system'; -import { Time } from './modules/time'; import { Unique } from './modules/unique'; import { Vehicle } from './modules/vehicle'; import { Word } from './modules/word'; @@ -50,8 +48,6 @@ export class Faker { readonly definitions: LocaleDefinition = this.initDefinitions(); - private _seedValue: number | number[]; - readonly fake: Fake['fake'] = new Fake(this).fake; readonly unique: Unique['unique'] = new Unique().unique; @@ -78,7 +74,6 @@ export class Faker { readonly name: Name = new Name(this); readonly phone: Phone = new Phone(this); readonly system: System = new System(this); - readonly time: Time = new Time(); readonly vehicle: Vehicle = new Vehicle(this); readonly word: Word = new Word(this); @@ -101,24 +96,6 @@ export class Faker { } /** - * The seed that was last set. - * Please note that generated values are dependent on both the seed and the number of calls that have been made since it was set. - * - * Use the `seed` function to set a new seed. - * - * @deprecated Use the return value of `faker.seed()` instead. - */ - public get seedValue(): number | number[] { - deprecated({ - deprecated: 'faker.seedValue', - proposed: 'return value of faker.seed()', - since: '6.3.0', - until: '7.0.0', - }); - return this._seedValue; - } - - /** * Creates a Proxy based LocaleDefinition that virtually merges the locales. */ private initDefinitions(): LocaleDefinition { @@ -235,7 +212,6 @@ export class Faker { seed( seed: number | number[] = Math.ceil(Math.random() * Number.MAX_SAFE_INTEGER) ): number | number[] { - this._seedValue = seed; if (Array.isArray(seed) && seed.length) { this.mersenne.seed_array(seed); } else if (!Array.isArray(seed) && !isNaN(seed)) { diff --git a/src/modules/datatype/index.ts b/src/modules/datatype/index.ts index 653d4d3f..a81a9681 100644 --- a/src/modules/datatype/index.ts +++ b/src/modules/datatype/index.ts @@ -1,6 +1,5 @@ import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { deprecated } from '../../internal/deprecated'; /** * Module to generate various primitive values and data types. @@ -190,30 +189,6 @@ export class Datatype { * * @param length Length of the generated number. Defaults to `1`. * - * @see faker.datatype.hexadecimal() - * - * @example - * faker.datatype.hexaDecimal() // '0xb' - * faker.datatype.hexaDecimal(10) // '0xaE13F044fb' - * - * @deprecated - */ - hexaDecimal(length = 1): string { - deprecated({ - deprecated: 'faker.datatype.hexaDecimal()', - proposed: 'faker.datatype.hexadecimal()', - since: 'v6.1.2', - until: 'v7.0.0', - }); - - return this.hexadecimal(length); - } - - /** - * Returns a [hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) number. - * - * @param length Length of the generated number. Defaults to `1`. - * * @example * faker.datatype.hexadecimal() // '0xb' * faker.datatype.hexadecimal(10) // '0xaE13F044fb' diff --git a/src/modules/finance/index.ts b/src/modules/finance/index.ts index a74dceba..e73f7225 100644 --- a/src/modules/finance/index.ts +++ b/src/modules/finance/index.ts @@ -423,11 +423,10 @@ export class Finance { * // 'invoice transaction at Kilback - Durgan using card ending with ***(...4316) for UAH 783.82 in account ***16168663' */ transactionDescription(): string { - const transaction = this.faker.helpers.createTransaction(); - const account = transaction.account; - const amount = transaction.amount; - const transactionType = transaction.type; - const company = transaction.business; + const amount = this.amount(); + const company = this.faker.company.companyName(); + const transactionType = this.transactionType(); + const account = this.account(); const card = this.mask(); const currency = this.currencyCode(); diff --git a/src/modules/helpers/index.ts b/src/modules/helpers/index.ts index 7f056b9f..386bcce8 100644 --- a/src/modules/helpers/index.ts +++ b/src/modules/helpers/index.ts @@ -1,115 +1,4 @@ import type { Faker } from '../..'; -import { deprecated } from '../../internal/deprecated'; - -/** - * A full card with various details. - */ -export interface Card { - name: string; - username: string; - email: string; - address: { - streetA: string; - streetB: string; - streetC: string; - streetD: string; - city: string; - state: string; - country: string; - zipcode: string; - geo: { - lat: string; - lng: string; - }; - }; - phone: string; - website: string; - company: { - name: string; - catchPhrase: string; - bs: string; - }; - posts: Array<{ - words: string; - sentence: string; - sentences: string; - paragraph: string; - }>; - accountHistory: Array<{ - amount: string; - date: Date; - business: string; - name: string; - type: string; - account: string; - }>; -} - -/** - * A persons card with various details attempting to use a consistent context. - */ -export interface ContextualCard { - name: string; - username: string; - avatar: string; - email: string; - dob: Date; - phone: string; - address: { - street: string; - suite: string; - city: string; - zipcode: string; - geo: { - lat: string; - lng: string; - }; - }; - website: string; - company: { - name: string; - catchPhrase: string; - bs: string; - }; -} - -/** - * A user card with various details. - */ -export interface UserCard { - name: string; - username: string; - email: string; - address: { - street: string; - suite: string; - city: string; - zipcode: string; - geo: { - lat: string; - lng: string; - }; - }; - phone: string; - website: string; - company: { - name: string; - catchPhrase: string; - bs: string; - }; -} - -/** - * A transaction info. - */ -export interface Transaction { - amount: string; - date: Date; - business: string; - name: string; - type: string; - account: string; -} /** * Module with various helper methods that transform the method input rather than returning values from locales. @@ -127,34 +16,6 @@ export class Helpers { } /** - * Backward-compatibility. Use `faker.helpers.arrayElement()` instead. - * - * Takes an array and returns a random element of the array. - * - * @template T The type of the entries to pick from. - * @param array The array to select an element from. - * - * @see faker.helpers.arrayElement() - * - * @example - * faker.helpers.randomize() // 'c' - * faker.helpers.randomize([1, 2, 3]) // '2' - * - * @deprecated - */ - randomize<T = string>( - array: ReadonlyArray<T> = ['a', 'b', 'c'] as unknown as ReadonlyArray<T> - ): T { - deprecated({ - deprecated: 'faker.helpers.randomize()', - proposed: 'faker.helpers.arrayElement()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.arrayElement(array); - } - - /** * Slugifies the given string. * For that all spaces (` `) are replaced by hyphens (`-`) * and most non word characters except for dots and hyphens will be removed. @@ -494,204 +355,6 @@ export class Helpers { } /** - * Generates a full card with various random details. - * - * @example - * faker.helpers.createCard() - * // { - * // name: 'Maxine Abbott', - * // username: 'Idell_Kautzer60', - * // email: '[email protected]', - * // address: { - * // streetA: 'Drake Avenue', - * // ... - * @deprecated If you need some specific object you should create your own method. - */ - createCard(): Card { - deprecated({ - deprecated: 'helpers.createCard()', - proposed: 'a self-build function', - since: 'v6.1.0', - until: 'v7.0.0', - }); - return { - name: this.faker.name.findName(), - username: this.faker.internet.userName(), - email: this.faker.internet.email(), - address: { - streetA: this.faker.address.streetName(), - streetB: this.faker.address.streetAddress(), - streetC: this.faker.address.streetAddress(true), - streetD: this.faker.address.secondaryAddress(), - city: this.faker.address.city(), - state: this.faker.address.state(), - country: this.faker.address.country(), - zipcode: this.faker.address.zipCode(), - geo: { - lat: this.faker.address.latitude(), - lng: this.faker.address.longitude(), - }, - }, - phone: this.faker.phone.phoneNumber(), - website: this.faker.internet.domainName(), - company: { - name: this.faker.company.companyName(), - catchPhrase: this.faker.company.catchPhrase(), - bs: this.faker.company.bs(), - }, - posts: [ - { - words: this.faker.lorem.words(), - sentence: this.faker.lorem.sentence(), - sentences: this.faker.lorem.sentences(), - paragraph: this.faker.lorem.paragraph(), - }, - { - words: this.faker.lorem.words(), - sentence: this.faker.lorem.sentence(), - sentences: this.faker.lorem.sentences(), - paragraph: this.faker.lorem.paragraph(), - }, - { - words: this.faker.lorem.words(), - sentence: this.faker.lorem.sentence(), - sentences: this.faker.lorem.sentences(), - paragraph: this.faker.lorem.paragraph(), - }, - ], - accountHistory: [ - this.createTransaction(), - this.createTransaction(), - this.createTransaction(), - ], - }; - } - - /** - * Generates a persons card with various details attempting to use a consistent context. - * - * @example - * faker.helpers.contextualCard() - * // { - * // name: 'Eveline', - * // username: 'Eveline.Brekke56', - * // avatar: 'https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/122.jpg', - * // email: '[email protected]', - * // dob: 1964-05-06T05:14:37.874Z, - * // ... - * @deprecated If you need some specific object you should create your own method. - */ - contextualCard(): ContextualCard { - deprecated({ - deprecated: 'helpers.contextualCard()', - proposed: 'a self-build function', - since: 'v6.1.0', - until: 'v7.0.0', - }); - const name = this.faker.name.firstName(); - const userName = this.faker.internet.userName(name); - return { - name: name, - username: userName, - avatar: this.faker.internet.avatar(), - email: this.faker.internet.email(userName), - dob: this.faker.date.past( - 50, - new Date('Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)') - ), - phone: this.faker.phone.phoneNumber(), - address: { - street: this.faker.address.streetName(), - suite: this.faker.address.secondaryAddress(), - city: this.faker.address.city(), - zipcode: this.faker.address.zipCode(), - geo: { - lat: this.faker.address.latitude(), - lng: this.faker.address.longitude(), - }, - }, - website: this.faker.internet.domainName(), - company: { - name: this.faker.company.companyName(), - catchPhrase: this.faker.company.catchPhrase(), - bs: this.faker.company.bs(), - }, - }; - } - - /** - * Generates a user card with various details. - * - * @example - * faker.helpers.userCard() - * // { - * // name: 'Jodi Ferry', - * // username: 'Maybell.Kris', - * // email: '[email protected]', - * // address: { - * // street: 'McKenzie Estates', - * // .... - * @deprecated If you need some specific object you should create your own method. - */ - userCard(): UserCard { - deprecated({ - deprecated: 'helpers.userCard()', - proposed: 'a self-build function', - since: 'v6.1.0', - until: 'v7.0.0', - }); - return { - name: this.faker.name.findName(), - username: this.faker.internet.userName(), - email: this.faker.internet.email(), - address: { - street: this.faker.address.streetName(), - suite: this.faker.address.secondaryAddress(), - city: this.faker.address.city(), - zipcode: this.faker.address.zipCode(), - geo: { - lat: this.faker.address.latitude(), - lng: this.faker.address.longitude(), - }, - }, - phone: this.faker.phone.phoneNumber(), - website: this.faker.internet.domainName(), - company: { - name: this.faker.company.companyName(), - catchPhrase: this.faker.company.catchPhrase(), - bs: this.faker.company.bs(), - }, - }; - } - - /** - * Generates an example transaction. - * - * @example - * faker.helpers.createTransaction() - * // { - * // amount: '551.32', - * // date: 2012-02-01T23:00:00.000Z, - * // business: 'Will, Fisher and Marks', - * // name: 'Investment Account (...8755)', - * // type: 'invoice', - * // account: '41796240' - * // } - */ - createTransaction(): Transaction { - return { - amount: this.faker.finance.amount(), - date: new Date(2012, 1, 2), // TODO: add a ranged date method - business: this.faker.company.companyName(), - name: [this.faker.finance.accountName(), this.faker.finance.mask()].join( - ' ' - ), - type: this.arrayElement(this.faker.definitions.finance.transaction_type), - account: this.faker.finance.account(), - }; - } - - /** * Returns the result of the callback if the probability check was successful, otherwise `undefined`. * * @template T The type of result of the given callback. diff --git a/src/modules/name/index.ts b/src/modules/name/index.ts index c1ac22a7..f1d357e7 100644 --- a/src/modules/name/index.ts +++ b/src/modules/name/index.ts @@ -1,41 +1,11 @@ import type { Faker } from '../..'; -import { deprecated } from '../../internal/deprecated'; export enum Gender { female = 'female', male = 'male', } -// TODO @Shinigami92 2022-03-21: Remove 0 and 1 in v7 -export type GenderType = 'female' | 'male' | 0 | 1; - -/** - * Normalize gender. - * - * @param gender Gender. - * @param functionName Temporary parameter for deprecation message. - * @returns Normalized gender. - */ -function normalizeGender( - gender?: GenderType, - functionName?: string -): Exclude<GenderType, number> | undefined { - if (gender == null || typeof gender === 'string') { - // TODO @Shinigami92 2022-03-21: Cast can be removed when we set `strict: true` - return gender as Exclude<GenderType, number>; - } - - const normalizedGender = gender === 0 ? 'male' : 'female'; - - deprecated({ - deprecated: `name.${functionName}(number)`, - proposed: "'female' or 'male'", - since: 'v6.1.0', - until: 'v7.0.0', - }); - - return normalizedGender; -} +export type GenderType = 'female' | 'male'; /** * Select a definition based on given gender. @@ -46,7 +16,6 @@ function normalizeGender( * @param param2.generic Non-gender definitions. * @param param2.female Female definitions. * @param param2.male Male definitions. - * @param functionName Temporary parameter for deprecation message. * @returns Definition based on given gender. */ function selectDefinition( @@ -57,13 +26,10 @@ function selectDefinition( generic, female, male, - }: { generic?: string[]; female?: string[]; male?: string[] } = {}, - functionName?: string + }: { generic?: string[]; female?: string[]; male?: string[] } = {} ) { - const normalizedGender = normalizeGender(gender, functionName); - let values: string[] | undefined; - switch (normalizedGender) { + switch (gender) { case 'female': values = female; break; @@ -115,16 +81,11 @@ export class Name { const { first_name, female_first_name, male_first_name } = this.faker.definitions.name; - return selectDefinition( - this.faker, - gender, - { - generic: first_name, - female: female_first_name, - male: male_first_name, - }, - 'firstName' - ); + return selectDefinition(this.faker, gender, { + generic: first_name, + female: female_first_name, + male: male_first_name, + }); } /** @@ -142,16 +103,11 @@ export class Name { const { last_name, female_last_name, male_last_name } = this.faker.definitions.name; - return selectDefinition( - this.faker, - gender, - { - generic: last_name, - female: female_last_name, - male: male_last_name, - }, - 'lastName' - ); + return selectDefinition(this.faker, gender, { + generic: last_name, + female: female_last_name, + male: male_last_name, + }); } /** @@ -169,16 +125,11 @@ export class Name { const { middle_name, female_middle_name, male_middle_name } = this.faker.definitions.name; - return selectDefinition( - this.faker, - gender, - { - generic: middle_name, - female: female_middle_name, - male: male_middle_name, - }, - 'middleName' - ); + return selectDefinition(this.faker, gender, { + generic: middle_name, + female: female_middle_name, + male: male_middle_name, + }); } /** @@ -201,9 +152,8 @@ export class Name { let prefix = ''; let suffix = ''; - const normalizedGender: Exclude<GenderType, number> = - normalizeGender(gender, 'findName') ?? - this.faker.helpers.arrayElement(['female', 'male']); + const normalizedGender: GenderType = + gender ?? this.faker.helpers.arrayElement(['female', 'male']); firstName = firstName || this.firstName(normalizedGender); lastName = lastName || this.lastName(normalizedGender); @@ -260,16 +210,11 @@ export class Name { prefix(gender?: GenderType): string { const { prefix, female_prefix, male_prefix } = this.faker.definitions.name; - return selectDefinition( - this.faker, - gender, - { - generic: prefix, - female: female_prefix, - male: male_prefix, - }, - 'prefix' - ); + return selectDefinition(this.faker, gender, { + generic: prefix, + female: female_prefix, + male: male_prefix, + }); } /** @@ -287,25 +232,6 @@ export class Name { * Generates a random job title. * * @example - * faker.name.title() // 'International Integration Manager' - * - * @deprecated - */ - title(): string { - deprecated({ - deprecated: 'faker.name.title()', - proposed: 'faker.name.jobTitle()', - since: 'v6.1.2', - until: 'v7.0.0', - }); - - return this.jobTitle(); - } - - /** - * Generates a random job title. - * - * @example * faker.name.jobTitle() // 'Global Accounts Engineer' */ jobTitle(): string { diff --git a/src/modules/random/index.ts b/src/modules/random/index.ts index 7939b298..e3e36ec4 100644 --- a/src/modules/random/index.ts +++ b/src/modules/random/index.ts @@ -1,6 +1,5 @@ import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { deprecated } from '../../internal/deprecated'; /** * Method to reduce array of characters. @@ -17,7 +16,7 @@ function arrayRemove<T>(arr: T[], values: readonly T[]): T[] { } /** - * Generates random values of different kinds. Some methods are deprecated and have been moved to dedicated modules. + * Generates random values of different kinds. */ export class Random { constructor(private readonly faker: Faker) { @@ -31,267 +30,6 @@ export class Random { } /** - * Returns a single random number between zero and the given max value or the given range with the specified precision. - * The bounds are inclusive. - * - * @param options Maximum value or options object. - * @param options.min Lower bound for generated number. Defaults to `0`. - * @param options.max Upper bound for generated number. Defaults to `99999`. - * @param options.precision Precision of the generated number. Defaults to `1`. - * - * @see faker.datatype.number() - * - * @example - * faker.random.number() // 55422 - * faker.random.number(100) // 52 - * faker.random.number({ min: 1000000 }) // 431433 - * faker.random.number({ max: 100 }) // 42 - * faker.random.number({ precision: 0.01 }) // 64246.18 - * faker.random.number({ min: 10, max: 100, precision: 0.01 }) // 36.94 - * - * @deprecated - */ - number( - options?: number | { min?: number; max?: number; precision?: number } - ): number { - deprecated({ - deprecated: 'faker.random.number()', - proposed: 'faker.datatype.number()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.faker.datatype.number(options); - } - - /** - * Returns a single random floating-point number for the given precision or range and precision. - * - * @param options Precision or options object. - * @param options.min Lower bound for generated number. Defaults to `0`. - * @param options.max Upper bound for generated number. Defaults to `99999`. - * @param options.precision Precision of the generated number. Defaults to `0.01`. - * - * @see faker.datatype.float() - * - * @example - * faker.random.float() // 51696.36 - * faker.random.float(0.1) // 52023.2 - * faker.random.float({ min: 1000000 }) // 212859.76 - * faker.random.float({ max: 100 }) // 28.11 - * faker.random.float({ precision: 0.1 }) // 84055.3 - * faker.random.float({ min: 10, max: 100, precision: 0.001 }) // 57.315 - * - * @deprecated - */ - float( - options?: number | { min?: number; max?: number; precision?: number } - ): number { - deprecated({ - deprecated: 'faker.random.float()', - proposed: 'faker.datatype.float()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.faker.datatype.float(options); - } - - /** - * Returns random element from the given array. - * - * @template T The type of the entries to pick from. - * @param array Array to pick the value from. Defaults to `['a', 'b', 'c']`. - * - * @example - * faker.random.arrayElement() // 'b' - * faker.random.arrayElement(['cat', 'dog', 'mouse']) // 'dog' - * - * @deprecated - */ - arrayElement<T = string>( - array: ReadonlyArray<T> = ['a', 'b', 'c'] as unknown as ReadonlyArray<T> - ): T { - deprecated({ - deprecated: 'faker.random.arrayElement()', - proposed: 'faker.helpers.arrayElement()', - since: 'v6.3.0', - until: 'v7.0.0', - }); - return this.faker.helpers.arrayElement(array); - } - - /** - * Returns a subset with random elements of the given array in random order. - * - * @template T The type of the entries to pick from. - * @param array Array to pick the value from. Defaults to `['a', 'b', 'c']`. - * @param count Number of elements to pick. - * When not provided, random number of elements will be picked. - * When value exceeds array boundaries, it will be limited to stay inside. - * - * @example - * faker.random.arrayElements() // ['b', 'c'] - * faker.random.arrayElements(['cat', 'dog', 'mouse']) // ['mouse', 'cat'] - * faker.random.arrayElements([1, 2, 3, 4, 5], 2) // [4, 2] - * - * @deprecated - */ - arrayElements<T>( - array: ReadonlyArray<T> = ['a', 'b', 'c'] as unknown as ReadonlyArray<T>, - count?: number - ): T[] { - deprecated({ - deprecated: 'faker.random.arrayElements()', - proposed: 'faker.helpers.arrayElements()', - since: 'v6.3.0', - until: 'v7.0.0', - }); - return this.faker.helpers.arrayElements(array, count); - } - - /** - * Returns a random key from given object. - * - * @template T The type of `Record` to pick from. - * @template K The keys of `T`. - * @param object The object to get the keys from. - * @param field If this is set to `'key'`, this method will a return a random key of the given instance. - * - * @see faker.helpers.objectKey() - * - * @example - * const object = { keyA: 'valueA', keyB: 42 }; - * faker.random.objectElement(object, 'key') // 'keyB' - * - * @deprecated - */ - objectElement<T extends Record<string, unknown>, K extends keyof T>( - object: T, - field: 'key' - ): K; - /** - * Returns a random value from given object. - * - * @template T The type of `Record` to pick from. - * @template K The keys of `T`. - * @param object The object to get the values from. - * @param field If this is set to `'value'`, this method will a return a random value of the given instance. - * - * @see faker.helpers.objectValue() - * - * @example - * const object = { keyA: 'valueA', keyB: 42 }; - * faker.random.objectElement(object) // 42 - * faker.random.objectElement(object, 'value') // 'valueA' - * - * @deprecated - */ - objectElement<T extends Record<string, unknown>, K extends keyof T>( - object: T, - field?: unknown - ): T[K]; - /** - * Returns a random key or value from given object. - * - * @template T The type of `Record` to pick from. - * @template K The keys of `T`. - * @param object The object to get the keys or values from. - * @param field If this is set to `'key'`, this method will a return a random key of the given instance. - * If this is set to `'value'`, this method will a return a random value of the given instance. - * Defaults to `'value'`. - * - * @see faker.helpers.objectKey() - * @see faker.helpers.objectValue() - * - * @example - * const object = { keyA: 'valueA', keyB: 42 }; - * faker.random.objectElement(object) // 42 - * faker.random.objectElement(object, 'key') // 'keyB' - * faker.random.objectElement(object, 'value') // 'valueA' - * - * @deprecated - */ - objectElement<T extends Record<string, unknown>, K extends keyof T>( - object?: T, - field?: 'key' | 'value' - ): K | T[K]; - /** - * Returns a random key or value from given object. - * - * @template T The type of `Record` to pick from. - * @template K The keys of `T`. - * @param object The object to get the keys or values from. - * @param field If this is set to `'key'`, this method will a return a random key of the given instance. - * If this is set to `'value'`, this method will a return a random value of the given instance. - * Defaults to `'value'`. - * - * @see faker.helpers.objectKey() - * @see faker.helpers.objectValue() - * - * @example - * const object = { keyA: 'valueA', keyB: 42 }; - * faker.random.objectElement(object) // 42 - * faker.random.objectElement(object, 'key') // 'keyB' - * faker.random.objectElement(object, 'value') // 'valueA' - * - * @deprecated - */ - objectElement<T extends Record<string, unknown>, K extends keyof T>( - object: T = { foo: 'bar', too: 'car' } as unknown as T, - field: 'key' | 'value' = 'value' - ): K | T[K] { - const useKey = field === 'key'; - deprecated({ - deprecated: `faker.random.objectElement(${useKey ? "obj, 'key'" : ''})`, - proposed: `faker.helpers.object${useKey ? 'Key' : 'Value'}()`, - since: 'v6.3.0', - until: 'v7.0.0', - }); - return field === 'key' - ? (this.faker.helpers.objectKey(object) as K) - : (this.faker.helpers.objectValue(object) as T[K]); - } - - /** - * Returns a UUID v4 ([Universally Unique Identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier)). - * - * @see faker.datatype.uuid() - * - * @example - * faker.random.uuid() // '4136cd0b-d90b-4af7-b485-5d1ded8db252' - * - * @deprecated - */ - uuid(): string { - deprecated({ - deprecated: 'faker.random.uuid()', - proposed: 'faker.datatype.uuid()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.faker.datatype.uuid(); - } - - /** - * Returns the boolean value `true` or `false`. - * - * @see faker.datatype.boolean() - * - * @example - * faker.random.boolean() // false - * - * @deprecated - */ - boolean(): boolean { - deprecated({ - deprecated: 'faker.random.boolean()', - proposed: 'faker.datatype.boolean()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.faker.datatype.boolean(); - } - - /** * Returns random word. * * @example @@ -392,26 +130,6 @@ export class Random { } /** - * Returns a random image url. - * - * @see faker.random.image() - * - * @example - * faker.random.image() // 'http://placeimg.com/640/480/animals' - * - * @deprecated - */ - image(): string { - deprecated({ - deprecated: 'faker.random.image()', - proposed: 'faker.image.image()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - return this.faker.image.image(); - } - - /** * Returns a random locale, that is available in this faker instance. * You can use the returned locale with `faker.setLocale(result)`. * @@ -621,28 +339,4 @@ export class Random { return result; } - - /** - * Returns a hexadecimal number. - * - * @param count Length of the generated number. Defaults to `1`. - * - * @see faker.datatype.hexadecimal() - * - * @example - * faker.random.hexaDecimal() // '0xb' - * faker.random.hexaDecimal(10) // '0xaE13F044fb' - * - * @deprecated - */ - hexaDecimal(count?: number): string { - deprecated({ - deprecated: 'faker.random.hexaDecimal()', - proposed: 'faker.datatype.hexadecimal()', - // since: 'v5.0.0', (?) - until: 'v7.0.0', - }); - - return this.faker.datatype.hexadecimal(count); - } } diff --git a/src/modules/time/index.ts b/src/modules/time/index.ts deleted file mode 100644 index 021d75c8..00000000 --- a/src/modules/time/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { deprecated } from '../../internal/deprecated'; -import type { LiteralUnion } from '../../utils/types'; - -/** - * Module to generate time of dates in various formats. - * - * @deprecated You should stop using this module, as it will be removed in the future. - */ -export class Time { - /** - * Returns recent time. - * - * @param format The format to use. - * - * - `'abbr'` Return a string with only the time. `Date.toLocaleTimeString`. - * - `'date'` Return a date instance. - * - `'wide'` Return a string with a long time. `Date.toTimeString()`. - * - `'unix'` Returns a unix timestamp. - * - * Defaults to `'unix'`. - * - * @example - * faker.time.recent() // 1643067231856 - * faker.time.recent('abbr') // '12:34:07 AM' - * faker.time.recent('date') // 2022-03-01T20:35:47.402Z - * faker.time.recent('wide') // '00:34:11 GMT+0100 (Central European Standard Time)' - * faker.time.recent('unix') // 1643067231856 - * - * @deprecated You should stop using this function, as it will be removed in the future. Use the native `new Date()` with one of the wanted functions directly. - */ - recent( - format: LiteralUnion<'abbr' | 'date' | 'wide' | 'unix'> = 'unix' - ): string | number | Date { - deprecated({ - deprecated: 'faker.time.recent()', - proposed: 'native `new Date()` and call the function you want on it', - since: 'v6.1.0', - until: 'v7.0.0', - }); - - let date: string | number | Date = new Date(); - - switch (format) { - case 'abbr': - date = date.toLocaleTimeString(); - break; - case 'wide': - date = date.toTimeString(); - break; - case 'unix': - date = date.getTime(); - break; - } - - return date; - } -} diff --git a/src/modules/unique/index.ts b/src/modules/unique/index.ts index 798fc29e..d77004e4 100644 --- a/src/modules/unique/index.ts +++ b/src/modules/unique/index.ts @@ -1,4 +1,3 @@ -import { deprecated } from '../../internal/deprecated'; import type { RecordKey } from './unique'; import * as uniqueExec from './unique'; @@ -6,80 +5,6 @@ import * as uniqueExec from './unique'; * Module to generate unique entries. */ export class Unique { - /** - * Maximum time `unique.exec` will attempt to run before aborting. - * - * @deprecated Use options instead. - */ - private _maxTime = 10; - - /** - * Maximum time `unique.exec` will attempt to run before aborting. - * - * @deprecated Use options instead. - */ - get maxTime(): number { - deprecated({ - deprecated: 'faker.unique.maxTime', - proposed: 'Options', - since: 'v6.2.0', - until: 'v7.0.0', - }); - return this._maxTime; - } - - /** - * Maximum time `unique.exec` will attempt to run before aborting. - * - * @deprecated Use options instead. - */ - set maxTime(value: number) { - deprecated({ - deprecated: 'faker.unique.maxTime', - proposed: 'Options', - since: 'v6.2.0', - until: 'v7.0.0', - }); - this._maxTime = value; - } - - /** - * Maximum retries `unique.exec` will recurse before aborting (max loop depth). - * - * @deprecated Use options instead. - */ - private _maxRetries = 10; - - /** - * Maximum retries `unique.exec` will recurse before aborting (max loop depth). - * - * @deprecated Use options instead. - */ - get maxRetries(): number { - deprecated({ - deprecated: 'faker.unique.maxRetries', - proposed: 'Options', - since: 'v6.2.0', - until: 'v7.0.0', - }); - return this._maxRetries; - } - - /** - * Maximum retries `unique.exec` will recurse before aborting (max loop depth). - * - * @deprecated Use options instead. - */ - set maxRetries(value: number) { - deprecated({ - deprecated: 'faker.unique.maxRetries', - proposed: 'Options', - since: 'v6.2.0', - until: 'v7.0.0', - }); - this._maxRetries = value; - } - constructor() { // Bind `this` so namespaced is working correctly for (const name of Object.getOwnPropertyNames(Unique.prototype)) { @@ -127,7 +52,7 @@ export class Unique { store?: Record<RecordKey, RecordKey>; } = {} ): ReturnType<Method> { - const { maxTime = this._maxTime, maxRetries = this._maxRetries } = options; + const { maxTime = 50, maxRetries = 50 } = options; return uniqueExec.exec(method, args, { ...options, startTime: new Date().getTime(), |
