aboutsummaryrefslogtreecommitdiff
path: root/src/unique.ts
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2022-02-10 23:52:14 +0100
committerGitHub <[email protected]>2022-02-10 23:52:14 +0100
commit14df7d3f70b54c4a153f5dcf111ef90575bbbe9e (patch)
tree2e7bc398eeb0c6312218f6ffe5d44876d7ab3bc5 /src/unique.ts
parent2a4f835db2a9c324c4d4a65a69c9469eaf9572de (diff)
downloadfaker-14df7d3f70b54c4a153f5dcf111ef90575bbbe9e.tar.xz
faker-14df7d3f70b54c4a153f5dcf111ef90575bbbe9e.zip
fix: fix unique method types (#457)
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') {