Skip to content

Commit 0f98518

Browse files
author
Matt Mayer
authored
fix(person): avoid repeated last name via new last_name_patterns (#1819)
1 parent a05c3e5 commit 0f98518

25 files changed

+142
-60
lines changed

src/definitions/person.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ export type PersonDefinitions = LocaleEntry<{
3030
*/
3131
name: Array<{ value: string; weight: number }>;
3232

33+
/**
34+
* A weighted list of patterns used to generate last names.
35+
*/
36+
last_name_patterns?: Array<{ value: string; weight: number }>;
37+
male_last_name_patterns?: Array<{ value: string; weight: number }>;
38+
female_last_name_patterns?: Array<{ value: string; weight: number }>;
39+
3340
bio_patterns?: string[];
3441

3542
title: PersonTitleDefinitions;

src/locales/en_GB/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ import type { LocaleDefinition } from '../..';
66
import cell_phone from './cell_phone';
77
import internet from './internet';
88
import location from './location';
9+
import person from './person';
910
import phone_number from './phone_number';
1011

1112
const en_GB: LocaleDefinition = {
1213
title: 'English (Great Britain)',
1314
cell_phone,
1415
internet,
1516
location,
17+
person,
1618
phone_number,
1719
};
1820

src/locales/en_GB/person/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
import type { PersonDefinitions } from '../../..';
6+
import last_name_patterns from './last_name_patterns';
7+
import name_ from './name';
8+
9+
const person: PersonDefinitions = {
10+
last_name_patterns,
11+
name: name_,
12+
};
13+
14+
export default person;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default [
2+
{ value: '{{person.last_name}}', weight: 9 },
3+
{ value: '{{person.last_name}}-{{person.last_name}}', weight: 1 },
4+
];

src/locales/en_GB/person/name.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default [
2+
{ value: '{{person.firstName}} {{person.lastName}}', weight: 7 },
3+
{
4+
value: '{{person.prefix}} {{person.firstName}} {{person.lastName}}',
5+
weight: 1,
6+
},
7+
];

src/locales/en_GH/person/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ import type { PersonDefinitions } from '../../..';
66
import female_first_name from './female_first_name';
77
import first_name from './first_name';
88
import last_name from './last_name';
9+
import last_name_patterns from './last_name_patterns';
910
import male_first_name from './male_first_name';
1011
import name_ from './name';
1112

1213
const person: PersonDefinitions = {
1314
female_first_name,
1415
first_name,
1516
last_name,
17+
last_name_patterns,
1618
male_first_name,
1719
name: name_,
1820
};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default [
2+
{ value: '{{person.last_name}}', weight: 1 },
3+
{ value: '{{person.last_name}}-{{person.last_name}}', weight: 1 },
4+
];

src/locales/en_GH/person/name.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
export default [
22
{ value: '{{person.firstName}} {{person.lastName}}', weight: 1 },
3-
{
4-
value: '{{person.firstName}} {{person.lastName}}-{{person.lastName}}',
5-
weight: 1,
6-
},
73
];

src/locales/es/person/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import female_first_name from './female_first_name';
77
import female_prefix from './female_prefix';
88
import first_name from './first_name';
99
import last_name from './last_name';
10+
import last_name_patterns from './last_name_patterns';
1011
import male_first_name from './male_first_name';
1112
import male_prefix from './male_prefix';
1213
import name_ from './name';
@@ -19,6 +20,7 @@ const person: PersonDefinitions = {
1920
female_prefix,
2021
first_name,
2122
last_name,
23+
last_name_patterns,
2224
male_first_name,
2325
male_prefix,
2426
name: name_,
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export default [
2+
{
3+
value: '{{person.last_name}} {{person.last_name}}',
4+
weight: 1,
5+
},
6+
];

src/locales/es/person/name.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
export default [
22
{
3-
value:
4-
'{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.lastName}}',
3+
value: '{{person.prefix}} {{person.firstName}} {{person.lastName}}',
54
weight: 1,
65
},
76
{
8-
value: '{{person.firstName}} {{person.lastName}} {{person.lastName}}',
7+
value: '{{person.firstName}} {{person.lastName}}',
98
weight: 9,
109
},
1110
];

src/locales/es_MX/person/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import female_first_name from './female_first_name';
77
import female_prefix from './female_prefix';
88
import first_name from './first_name';
99
import last_name from './last_name';
10+
import last_name_patterns from './last_name_patterns';
1011
import male_first_name from './male_first_name';
1112
import male_prefix from './male_prefix';
1213
import name_ from './name';
@@ -19,6 +20,7 @@ const person: PersonDefinitions = {
1920
female_prefix,
2021
first_name,
2122
last_name,
23+
last_name_patterns,
2224
male_first_name,
2325
male_prefix,
2426
name: name_,
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export default [
2+
{
3+
value: '{{person.last_name}} {{person.last_name}}',
4+
weight: 5,
5+
},
6+
{
7+
value: '{{person.last_name}} de {{person.last_name}}',
8+
weight: 1,
9+
},
10+
];

src/locales/es_MX/person/name.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
export default [
22
{
3-
value:
4-
'{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.lastName}}',
3+
value: '{{person.prefix}} {{person.firstName}} {{person.lastName}}',
54
weight: 1,
65
},
76
{
8-
value: '{{person.firstName}} {{person.lastName}} de {{person.lastName}}',
9-
weight: 3,
7+
value: '{{person.firstName}} {{person.lastName}}',
8+
weight: 8,
109
},
1110
{
12-
value:
13-
'{{person.suffix}} {{person.firstName}} {{person.lastName}} {{person.lastName}}',
11+
value: '{{person.firstName}} {{person.lastName}} {{person.suffix}}',
1412
weight: 1,
1513
},
16-
{
17-
value: '{{person.firstName}} {{person.lastName}} {{person.lastName}}',
18-
weight: 5,
19-
},
2014
];
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default [
2+
{ value: '{{person.female_last_name}}', weight: 8 },
3+
{
4+
value: '{{person.female_last_name}}-{{person.female_last_name}}',
5+
weight: 2,
6+
},
7+
];

src/locales/lv/person/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import type { PersonDefinitions } from '../../..';
66
import female_first_name from './female_first_name';
77
import female_last_name from './female_last_name';
8+
import female_last_name_patterns from './female_last_name_patterns';
89
import female_prefix from './female_prefix';
910
import first_name from './first_name';
1011
import male_first_name from './male_first_name';
1112
import male_last_name from './male_last_name';
13+
import male_last_name_patterns from './male_last_name_patterns';
1214
import male_prefix from './male_prefix';
1315
import name_ from './name';
1416
import prefix from './prefix';
@@ -18,10 +20,12 @@ import title from './title';
1820
const person: PersonDefinitions = {
1921
female_first_name,
2022
female_last_name,
23+
female_last_name_patterns,
2124
female_prefix,
2225
first_name,
2326
male_first_name,
2427
male_last_name,
28+
male_last_name_patterns,
2529
male_prefix,
2630
name: name_,
2731
prefix,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default [
2+
{ value: '{{person.male_last_name}}', weight: 8 },
3+
{ value: '{{person.male_last_name}}-{{person.male_last_name}}', weight: 2 },
4+
];

src/locales/lv/person/name.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,4 @@ export default [
88
weight: 1,
99
},
1010
{ value: '{{person.firstName}} {{person.lastName}}', weight: 7 },
11-
{ value: '{{person.lastName}} {{person.firstName}}', weight: 2 },
12-
{
13-
value: '{{person.firstName}} {{person.firstName}} {{person.lastName}}',
14-
weight: 2,
15-
},
16-
{
17-
value: '{{person.firstName}} {{person.lastName}}-{{person.lastName}}',
18-
weight: 2,
19-
},
2011
];

src/locales/nb_NO/person/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import female_first_name from './female_first_name';
77
import female_prefix from './female_prefix';
88
import first_name from './first_name';
99
import last_name from './last_name';
10+
import last_name_patterns from './last_name_patterns';
1011
import male_first_name from './male_first_name';
1112
import male_prefix from './male_prefix';
1213
import name_ from './name';
@@ -18,6 +19,7 @@ const person: PersonDefinitions = {
1819
female_prefix,
1920
first_name,
2021
last_name,
22+
last_name_patterns,
2123
male_first_name,
2224
male_prefix,
2325
name: name_,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default [
2+
{ value: '{{person.last_name}}', weight: 8 },
3+
{ value: '{{person.last_name}} {{person.last_name}}', weight: 2 },
4+
];

src/locales/nb_NO/person/name.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,5 @@ export default [
77
value: '{{person.firstName}} {{person.lastName}} {{person.suffix}}',
88
weight: 1,
99
},
10-
{
11-
value: '{{person.firstName}} {{person.firstName}} {{person.lastName}}',
12-
weight: 1,
13-
},
14-
{
15-
value: '{{person.firstName}} {{person.lastName}} {{person.lastName}}',
16-
weight: 1,
17-
},
18-
{ value: '{{person.firstName}} {{person.lastName}}', weight: 8 },
10+
{ value: '{{person.firstName}} {{person.lastName}}', weight: 9 },
1911
];

src/locales/sv/person/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import female_first_name from './female_first_name';
77
import female_prefix from './female_prefix';
88
import first_name from './first_name';
99
import last_name from './last_name';
10+
import last_name_patterns from './last_name_patterns';
1011
import male_first_name from './male_first_name';
1112
import male_prefix from './male_prefix';
1213
import name_ from './name';
@@ -18,6 +19,7 @@ const person: PersonDefinitions = {
1819
female_prefix,
1920
first_name,
2021
last_name,
22+
last_name_patterns,
2123
male_first_name,
2224
male_prefix,
2325
name: name_,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default [
2+
{ value: '{{person.last_name}}', weight: 8 },
3+
{ value: '{{person.last_name}} {{person.last_name}}', weight: 2 },
4+
];

src/locales/sv/person/name.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,5 @@ export default [
77
value: '{{person.firstName}} {{person.lastName}} {{person.suffix}}',
88
weight: 1,
99
},
10-
{ value: '{{person.firstName}} {{person.lastName}}', weight: 8 },
11-
{
12-
value: '{{person.firstName}} {{person.lastName}} {{person.lastName}}',
13-
weight: 1,
14-
},
10+
{ value: '{{person.firstName}} {{person.lastName}}', weight: 9 },
1511
];

0 commit comments

Comments
 (0)