aboutsummaryrefslogtreecommitdiff
path: root/src/unique.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/unique.ts')
-rw-r--r--src/unique.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/unique.ts b/src/unique.ts
index 3084da4b..62402df0 100644
--- a/src/unique.ts
+++ b/src/unique.ts
@@ -1,4 +1,5 @@
import * as uniqueExec from './vendor/unique';
+import type { RecordKey } from './vendor/unique';
/**
* Module to generate unique entries.
@@ -38,20 +39,20 @@ export class Unique {
* @param opts.compare The function used to determine whether a value was already returned.
*
* @example
- * faker.unique(faker.name.firstName())
+ * faker.unique(faker.name.firstName)
*/
- unique<Method extends (args: Args) => string, Args extends any[]>(
+ unique<Method extends (...parameters) => RecordKey>(
method: Method,
- args: Args,
+ args?: Parameters<Method>,
opts?: {
startTime?: number;
maxTime?: number;
maxRetries?: number;
currentIterations?: number;
- exclude?: string | string[];
- compare?: (obj: Record<string, string>, key: string) => 0 | -1;
+ exclude?: RecordKey | RecordKey[];
+ compare?: (obj: Record<RecordKey, RecordKey>, key: RecordKey) => 0 | -1;
}
- ): string {
+ ): ReturnType<Method> {
opts = opts || {};
opts.startTime = new Date().getTime();
if (typeof opts.maxTime !== 'number') {