From c45537f6d4f3a28d8be1ebbe03567004c04af145 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Sun, 25 Feb 2024 22:05:57 +0100 Subject: feat(helpers)!: use const generics where possible (#2685) --- src/modules/helpers/index.ts | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'src/modules') diff --git a/src/modules/helpers/index.ts b/src/modules/helpers/index.ts index a42da85f..593d1ede 100644 --- a/src/modules/helpers/index.ts +++ b/src/modules/helpers/index.ts @@ -633,7 +633,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 8.0.0 */ - shuffle( + shuffle( list: T[], options: { /** @@ -659,7 +659,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 2.0.1 */ - shuffle( + shuffle( list: ReadonlyArray, options?: { /** @@ -686,7 +686,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 2.0.1 */ - shuffle( + shuffle( list: T[], options?: { /** @@ -697,7 +697,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { inplace?: boolean; } ): T[]; - shuffle(list: T[], options: { inplace?: boolean } = {}): T[] { + shuffle(list: T[], options: { inplace?: boolean } = {}): T[] { const { inplace = false } = options; if (!inplace) { @@ -734,7 +734,10 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.0.0 */ - uniqueArray(source: ReadonlyArray | (() => T), length: number): T[] { + uniqueArray( + source: ReadonlyArray | (() => T), + length: number + ): T[] { if (Array.isArray(source)) { const set = new Set(source); const array = [...set]; @@ -813,7 +816,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.3.0 */ - maybe( + maybe( callback: () => TResult, options: { /** @@ -845,7 +848,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.3.0 */ - objectKey>(object: T): keyof T { + objectKey>(object: T): keyof T { const array: Array = Object.keys(object); return this.arrayElement(array); } @@ -864,7 +867,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.3.0 */ - objectValue>(object: T): T[keyof T] { + objectValue>(object: T): T[keyof T] { const key = this.faker.helpers.objectKey(object); return object[key]; } @@ -883,7 +886,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 8.0.0 */ - objectEntry>( + objectEntry>( object: T ): [keyof T, T[keyof T]] { const key = this.faker.helpers.objectKey(object); @@ -904,7 +907,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.3.0 */ - arrayElement(array: ReadonlyArray): T { + arrayElement(array: ReadonlyArray): T { // TODO @xDivisionByZerox 2023-04-20: Remove in v9 if (array == null) { throw new FakerError( @@ -941,7 +944,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 8.0.0 */ - weightedArrayElement( + weightedArrayElement( array: ReadonlyArray<{ /** * The weight of the value. @@ -1000,7 +1003,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 6.3.0 */ - arrayElements( + arrayElements( array: ReadonlyArray, count?: | number @@ -1074,6 +1077,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 8.0.0 */ + // This does not use `const T` because enums shouldn't be created on the spot. enumValue>( enumObject: T ): T[keyof T] { @@ -1134,7 +1138,7 @@ export class SimpleHelpersModule extends SimpleModuleBase { * * @since 8.0.0 */ - multiple( + multiple( method: () => TResult, options: { /** -- cgit v1.2.3