aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/word/filter-word-list-by-length.ts10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/modules/word/filter-word-list-by-length.ts b/src/modules/word/filter-word-list-by-length.ts
index 60c6fae9..f3fcd5ab 100644
--- a/src/modules/word/filter-word-list-by-length.ts
+++ b/src/modules/word/filter-word-list-by-length.ts
@@ -1,4 +1,5 @@
import { FakerError } from '../../errors/faker-error';
+import { groupBy } from '../../internal/group-by';
/**
* The error handling strategies for the `filterWordListByLength` function.
@@ -13,14 +14,7 @@ const STRATEGIES = {
wordList: ReadonlyArray<string>,
length: { min: number; max: number }
): string[] => {
- const wordsByLength = wordList.reduce<Record<number, string[]>>(
- (data, word) => {
- (data[word.length] = data[word.length] ?? []).push(word);
- return data;
- },
- {}
- );
-
+ const wordsByLength = groupBy(wordList, (word) => word.length);
const lengths = Object.keys(wordsByLength).map(Number);
const min = Math.min(...lengths);
const max = Math.max(...lengths);