aboutsummaryrefslogtreecommitdiff
path: root/src/modules/random
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/random')
-rw-r--r--src/modules/random/index.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/modules/random/index.ts b/src/modules/random/index.ts
index a2847bbc..b35b7c87 100644
--- a/src/modules/random/index.ts
+++ b/src/modules/random/index.ts
@@ -125,6 +125,8 @@ export class RandomModule {
];
let result: string;
+ let iteration = 0;
+
do {
// randomly pick from the many faker methods that can generate words
const randomWordMethod = this.faker.helpers.arrayElement(wordMethods);
@@ -133,6 +135,14 @@ export class RandomModule {
result = randomWordMethod();
} catch {
// catch missing locale data potentially required by randomWordMethod
+ iteration++;
+
+ if (iteration > 100) {
+ throw new FakerError(
+ 'No matching word data available for the current locale'
+ );
+ }
+
continue;
}
} while (!result || bannedChars.some((char) => result.includes(char)));