@zero-server/orm 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +1 -1
- package/index.js +35 -35
- package/lib/debug.js +372 -0
- package/lib/orm/adapters/json.js +290 -0
- package/lib/orm/adapters/memory.js +764 -0
- package/lib/orm/adapters/mongo.js +764 -0
- package/lib/orm/adapters/mysql.js +933 -0
- package/lib/orm/adapters/postgres.js +1144 -0
- package/lib/orm/adapters/redis.js +1534 -0
- package/lib/orm/adapters/sql-base.js +212 -0
- package/lib/orm/adapters/sqlite.js +858 -0
- package/lib/orm/audit.js +649 -0
- package/lib/orm/cache.js +394 -0
- package/lib/orm/geo.js +387 -0
- package/lib/orm/index.js +784 -0
- package/lib/orm/migrate.js +432 -0
- package/lib/orm/model.js +1706 -0
- package/lib/orm/plugin.js +375 -0
- package/lib/orm/procedures.js +836 -0
- package/lib/orm/profiler.js +233 -0
- package/lib/orm/query.js +1772 -0
- package/lib/orm/replicas.js +241 -0
- package/lib/orm/schema.js +307 -0
- package/lib/orm/search.js +380 -0
- package/lib/orm/seed/data/commerce.js +136 -0
- package/lib/orm/seed/data/internet.js +111 -0
- package/lib/orm/seed/data/locations.js +204 -0
- package/lib/orm/seed/data/names.js +338 -0
- package/lib/orm/seed/data/person.js +128 -0
- package/lib/orm/seed/data/phone.js +211 -0
- package/lib/orm/seed/data/words.js +134 -0
- package/lib/orm/seed/factory.js +178 -0
- package/lib/orm/seed/fake.js +1186 -0
- package/lib/orm/seed/index.js +18 -0
- package/lib/orm/seed/rng.js +71 -0
- package/lib/orm/seed/seeder.js +125 -0
- package/lib/orm/seed/unique.js +68 -0
- package/lib/orm/snapshot.js +366 -0
- package/lib/orm/tenancy.js +605 -0
- package/lib/orm/views.js +350 -0
- package/package.json +12 -3
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @module seed/data/locations
|
|
5
|
+
* @description Data pools for location-based fake data:
|
|
6
|
+
* cities, countries, US states, street parts, timezones, zip patterns.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Top-tier world cities with their country code.
|
|
11
|
+
* Used by Fake.city() and Fake.address().
|
|
12
|
+
*/
|
|
13
|
+
const CITIES = [
|
|
14
|
+
{ name: 'New York', country: 'US' }, { name: 'Los Angeles', country: 'US' },
|
|
15
|
+
{ name: 'Chicago', country: 'US' }, { name: 'Houston', country: 'US' },
|
|
16
|
+
{ name: 'Phoenix', country: 'US' }, { name: 'San Antonio', country: 'US' },
|
|
17
|
+
{ name: 'San Diego', country: 'US' }, { name: 'Dallas', country: 'US' },
|
|
18
|
+
{ name: 'San Francisco', country: 'US' }, { name: 'Seattle', country: 'US' },
|
|
19
|
+
{ name: 'Boston', country: 'US' }, { name: 'Atlanta', country: 'US' },
|
|
20
|
+
{ name: 'Denver', country: 'US' }, { name: 'Las Vegas', country: 'US' },
|
|
21
|
+
{ name: 'Portland', country: 'US' }, { name: 'Nashville', country: 'US' },
|
|
22
|
+
{ name: 'London', country: 'GB' }, { name: 'Manchester', country: 'GB' },
|
|
23
|
+
{ name: 'Birmingham', country: 'GB' }, { name: 'Edinburgh', country: 'GB' },
|
|
24
|
+
{ name: 'Paris', country: 'FR' }, { name: 'Lyon', country: 'FR' },
|
|
25
|
+
{ name: 'Marseille', country: 'FR' }, { name: 'Berlin', country: 'DE' },
|
|
26
|
+
{ name: 'Munich', country: 'DE' }, { name: 'Hamburg', country: 'DE' },
|
|
27
|
+
{ name: 'Frankfurt', country: 'DE' }, { name: 'Rome', country: 'IT' },
|
|
28
|
+
{ name: 'Milan', country: 'IT' }, { name: 'Naples', country: 'IT' },
|
|
29
|
+
{ name: 'Madrid', country: 'ES' }, { name: 'Barcelona', country: 'ES' },
|
|
30
|
+
{ name: 'Seville', country: 'ES' }, { name: 'Lisbon', country: 'PT' },
|
|
31
|
+
{ name: 'Porto', country: 'PT' }, { name: 'São Paulo', country: 'BR' },
|
|
32
|
+
{ name: 'Rio de Janeiro', country: 'BR' }, { name: 'Brasília', country: 'BR' },
|
|
33
|
+
{ name: 'Mexico City', country: 'MX' }, { name: 'Guadalajara', country: 'MX' },
|
|
34
|
+
{ name: 'Moscow', country: 'RU' }, { name: 'Saint Petersburg',country: 'RU' },
|
|
35
|
+
{ name: 'Tokyo', country: 'JP' }, { name: 'Osaka', country: 'JP' },
|
|
36
|
+
{ name: 'Kyoto', country: 'JP' }, { name: 'Beijing', country: 'CN' },
|
|
37
|
+
{ name: 'Shanghai', country: 'CN' }, { name: 'Shenzhen', country: 'CN' },
|
|
38
|
+
{ name: 'Seoul', country: 'KR' }, { name: 'Busan', country: 'KR' },
|
|
39
|
+
{ name: 'Mumbai', country: 'IN' }, { name: 'Delhi', country: 'IN' },
|
|
40
|
+
{ name: 'Bangalore', country: 'IN' }, { name: 'Dubai', country: 'AE' },
|
|
41
|
+
{ name: 'Abu Dhabi', country: 'AE' }, { name: 'Cairo', country: 'EG' },
|
|
42
|
+
{ name: 'Lagos', country: 'NG' }, { name: 'Nairobi', country: 'KE' },
|
|
43
|
+
{ name: 'Johannesburg', country: 'ZA' }, { name: 'Cape Town', country: 'ZA' },
|
|
44
|
+
{ name: 'Sydney', country: 'AU' }, { name: 'Melbourne', country: 'AU' },
|
|
45
|
+
{ name: 'Brisbane', country: 'AU' }, { name: 'Toronto', country: 'CA' },
|
|
46
|
+
{ name: 'Vancouver', country: 'CA' }, { name: 'Montreal', country: 'CA' },
|
|
47
|
+
{ name: 'Amsterdam', country: 'NL' }, { name: 'Stockholm', country: 'SE' },
|
|
48
|
+
{ name: 'Copenhagen', country: 'DK' }, { name: 'Oslo', country: 'NO' },
|
|
49
|
+
{ name: 'Zurich', country: 'CH' }, { name: 'Geneva', country: 'CH' },
|
|
50
|
+
{ name: 'Vienna', country: 'AT' }, { name: 'Warsaw', country: 'PL' },
|
|
51
|
+
{ name: 'Prague', country: 'CZ' }, { name: 'Budapest', country: 'HU' },
|
|
52
|
+
{ name: 'Singapore', country: 'SG' }, { name: 'Bangkok', country: 'TH' },
|
|
53
|
+
{ name: 'Jakarta', country: 'ID' }, { name: 'Kuala Lumpur', country: 'MY' },
|
|
54
|
+
{ name: 'Ho Chi Minh', country: 'VN' }, { name: 'Manila', country: 'PH' },
|
|
55
|
+
{ name: 'Karachi', country: 'PK' }, { name: 'Lahore', country: 'PK' },
|
|
56
|
+
{ name: 'Dhaka', country: 'BD' }, { name: 'Colombo', country: 'LK' },
|
|
57
|
+
{ name: 'Santiago', country: 'CL' }, { name: 'Lima', country: 'PE' },
|
|
58
|
+
{ name: 'Buenos Aires', country: 'AR' }, { name: 'Bogotá', country: 'CO' },
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Countries with ISO 3166-1 alpha-2 codes.
|
|
63
|
+
*/
|
|
64
|
+
const COUNTRIES = [
|
|
65
|
+
{ name: 'United States', code: 'US' }, { name: 'United Kingdom', code: 'GB' },
|
|
66
|
+
{ name: 'Canada', code: 'CA' }, { name: 'Australia', code: 'AU' },
|
|
67
|
+
{ name: 'Germany', code: 'DE' }, { name: 'France', code: 'FR' },
|
|
68
|
+
{ name: 'Italy', code: 'IT' }, { name: 'Spain', code: 'ES' },
|
|
69
|
+
{ name: 'Portugal', code: 'PT' }, { name: 'Netherlands', code: 'NL' },
|
|
70
|
+
{ name: 'Sweden', code: 'SE' }, { name: 'Norway', code: 'NO' },
|
|
71
|
+
{ name: 'Denmark', code: 'DK' }, { name: 'Finland', code: 'FI' },
|
|
72
|
+
{ name: 'Switzerland', code: 'CH' }, { name: 'Austria', code: 'AT' },
|
|
73
|
+
{ name: 'Belgium', code: 'BE' }, { name: 'Poland', code: 'PL' },
|
|
74
|
+
{ name: 'Czech Republic', code: 'CZ' }, { name: 'Hungary', code: 'HU' },
|
|
75
|
+
{ name: 'Russia', code: 'RU' }, { name: 'Japan', code: 'JP' },
|
|
76
|
+
{ name: 'China', code: 'CN' }, { name: 'South Korea', code: 'KR' },
|
|
77
|
+
{ name: 'India', code: 'IN' }, { name: 'Brazil', code: 'BR' },
|
|
78
|
+
{ name: 'Mexico', code: 'MX' }, { name: 'Argentina', code: 'AR' },
|
|
79
|
+
{ name: 'Chile', code: 'CL' }, { name: 'Colombia', code: 'CO' },
|
|
80
|
+
{ name: 'Peru', code: 'PE' }, { name: 'South Africa', code: 'ZA' },
|
|
81
|
+
{ name: 'Nigeria', code: 'NG' }, { name: 'Kenya', code: 'KE' },
|
|
82
|
+
{ name: 'Egypt', code: 'EG' }, { name: 'UAE', code: 'AE' },
|
|
83
|
+
{ name: 'Saudi Arabia', code: 'SA' }, { name: 'Israel', code: 'IL' },
|
|
84
|
+
{ name: 'Turkey', code: 'TR' }, { name: 'Indonesia', code: 'ID' },
|
|
85
|
+
{ name: 'Thailand', code: 'TH' }, { name: 'Vietnam', code: 'VN' },
|
|
86
|
+
{ name: 'Malaysia', code: 'MY' }, { name: 'Singapore', code: 'SG' },
|
|
87
|
+
{ name: 'Philippines', code: 'PH' }, { name: 'Pakistan', code: 'PK' },
|
|
88
|
+
{ name: 'Bangladesh', code: 'BD' }, { name: 'New Zealand', code: 'NZ' },
|
|
89
|
+
{ name: 'Greece', code: 'GR' }, { name: 'Romania', code: 'RO' },
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
/** US States with 2-letter USPS abbreviations. */
|
|
93
|
+
const US_STATES = [
|
|
94
|
+
{ name: 'Alabama', abbr: 'AL' }, { name: 'Alaska', abbr: 'AK' },
|
|
95
|
+
{ name: 'Arizona', abbr: 'AZ' }, { name: 'Arkansas', abbr: 'AR' },
|
|
96
|
+
{ name: 'California', abbr: 'CA' }, { name: 'Colorado', abbr: 'CO' },
|
|
97
|
+
{ name: 'Connecticut', abbr: 'CT' }, { name: 'Delaware', abbr: 'DE' },
|
|
98
|
+
{ name: 'Florida', abbr: 'FL' }, { name: 'Georgia', abbr: 'GA' },
|
|
99
|
+
{ name: 'Hawaii', abbr: 'HI' }, { name: 'Idaho', abbr: 'ID' },
|
|
100
|
+
{ name: 'Illinois', abbr: 'IL' }, { name: 'Indiana', abbr: 'IN' },
|
|
101
|
+
{ name: 'Iowa', abbr: 'IA' }, { name: 'Kansas', abbr: 'KS' },
|
|
102
|
+
{ name: 'Kentucky', abbr: 'KY' }, { name: 'Louisiana', abbr: 'LA' },
|
|
103
|
+
{ name: 'Maine', abbr: 'ME' }, { name: 'Maryland', abbr: 'MD' },
|
|
104
|
+
{ name: 'Massachusetts', abbr: 'MA' }, { name: 'Michigan', abbr: 'MI' },
|
|
105
|
+
{ name: 'Minnesota', abbr: 'MN' }, { name: 'Mississippi', abbr: 'MS' },
|
|
106
|
+
{ name: 'Missouri', abbr: 'MO' }, { name: 'Montana', abbr: 'MT' },
|
|
107
|
+
{ name: 'Nebraska', abbr: 'NE' }, { name: 'Nevada', abbr: 'NV' },
|
|
108
|
+
{ name: 'New Hampshire', abbr: 'NH' }, { name: 'New Jersey', abbr: 'NJ' },
|
|
109
|
+
{ name: 'New Mexico', abbr: 'NM' }, { name: 'New York', abbr: 'NY' },
|
|
110
|
+
{ name: 'North Carolina', abbr: 'NC' }, { name: 'North Dakota', abbr: 'ND' },
|
|
111
|
+
{ name: 'Ohio', abbr: 'OH' }, { name: 'Oklahoma', abbr: 'OK' },
|
|
112
|
+
{ name: 'Oregon', abbr: 'OR' }, { name: 'Pennsylvania', abbr: 'PA' },
|
|
113
|
+
{ name: 'Rhode Island', abbr: 'RI' }, { name: 'South Carolina', abbr: 'SC' },
|
|
114
|
+
{ name: 'South Dakota', abbr: 'SD' }, { name: 'Tennessee', abbr: 'TN' },
|
|
115
|
+
{ name: 'Texas', abbr: 'TX' }, { name: 'Utah', abbr: 'UT' },
|
|
116
|
+
{ name: 'Vermont', abbr: 'VT' }, { name: 'Virginia', abbr: 'VA' },
|
|
117
|
+
{ name: 'Washington', abbr: 'WA' }, { name: 'West Virginia', abbr: 'WV' },
|
|
118
|
+
{ name: 'Wisconsin', abbr: 'WI' }, { name: 'Wyoming', abbr: 'WY' },
|
|
119
|
+
];
|
|
120
|
+
|
|
121
|
+
/** Street type suffixes. */
|
|
122
|
+
const STREET_TYPES = [
|
|
123
|
+
'Street', 'Avenue', 'Boulevard', 'Drive', 'Lane', 'Road', 'Court',
|
|
124
|
+
'Place', 'Way', 'Circle', 'Trail', 'Highway', 'Parkway', 'Terrace',
|
|
125
|
+
'Path', 'Ridge', 'Creek', 'Bridge', 'Meadows', 'Heights',
|
|
126
|
+
];
|
|
127
|
+
|
|
128
|
+
/** Street name words (first part of a street name). */
|
|
129
|
+
const STREET_NAMES = [
|
|
130
|
+
'Oak', 'Maple', 'Cedar', 'Pine', 'Elm', 'Walnut', 'Cherry', 'Birch',
|
|
131
|
+
'Willow', 'Aspen', 'Magnolia', 'Chestnut', 'Sycamore', 'Cypress', 'Poplar',
|
|
132
|
+
'Washington', 'Lincoln', 'Jefferson', 'Madison', 'Adams', 'Roosevelt',
|
|
133
|
+
'Kennedy', 'Franklin', 'Hamilton', 'Jackson', 'Grant', 'Harrison',
|
|
134
|
+
'Park', 'Hill', 'Lake', 'River', 'Meadow', 'Forest', 'Valley', 'Highland',
|
|
135
|
+
'Sunrise', 'Sunset', 'Spring', 'Summer', 'Winter', 'Autumn',
|
|
136
|
+
'Church', 'School', 'Mill', 'Bridge', 'Market', 'Garden', 'Union',
|
|
137
|
+
'Cardinal', 'Eagle', 'Hawk', 'Falcon', 'Robin', 'Blue Jay', 'Sparrow',
|
|
138
|
+
];
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Postal / ZIP code format patterns per country code.
|
|
142
|
+
* # → random digit 0–9
|
|
143
|
+
* A → random uppercase letter
|
|
144
|
+
*/
|
|
145
|
+
const ZIP_PATTERNS = {
|
|
146
|
+
'US': '#####',
|
|
147
|
+
'CA': 'A#A #A#',
|
|
148
|
+
'GB': 'AA## #AA',
|
|
149
|
+
'DE': '#####',
|
|
150
|
+
'FR': '#####',
|
|
151
|
+
'IT': '#####',
|
|
152
|
+
'ES': '#####',
|
|
153
|
+
'PT': '####-###',
|
|
154
|
+
'BR': '#####-###',
|
|
155
|
+
'MX': '#####',
|
|
156
|
+
'NL': '#### AA',
|
|
157
|
+
'SE': '### ##',
|
|
158
|
+
'NO': '####',
|
|
159
|
+
'DK': '####',
|
|
160
|
+
'FI': '#####',
|
|
161
|
+
'CH': '####',
|
|
162
|
+
'AT': '####',
|
|
163
|
+
'BE': '####',
|
|
164
|
+
'AU': '####',
|
|
165
|
+
'NZ': '####',
|
|
166
|
+
'JP': '###-####',
|
|
167
|
+
'CN': '######',
|
|
168
|
+
'KR': '#####',
|
|
169
|
+
'IN': '######',
|
|
170
|
+
'RU': '######',
|
|
171
|
+
'ZA': '####',
|
|
172
|
+
'NG': '######',
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
/** Common IANA timezone identifiers. */
|
|
176
|
+
const TIMEZONES = [
|
|
177
|
+
'America/New_York', 'America/Chicago', 'America/Denver',
|
|
178
|
+
'America/Los_Angeles', 'America/Toronto', 'America/Vancouver',
|
|
179
|
+
'America/Sao_Paulo', 'America/Mexico_City', 'America/Buenos_Aires',
|
|
180
|
+
'America/Santiago', 'America/Bogota', 'America/Lima',
|
|
181
|
+
'Europe/London', 'Europe/Paris', 'Europe/Berlin',
|
|
182
|
+
'Europe/Rome', 'Europe/Madrid', 'Europe/Amsterdam',
|
|
183
|
+
'Europe/Stockholm', 'Europe/Moscow', 'Europe/Warsaw',
|
|
184
|
+
'Europe/Istanbul', 'Europe/Athens', 'Europe/Lisbon',
|
|
185
|
+
'Africa/Cairo', 'Africa/Johannesburg', 'Africa/Lagos',
|
|
186
|
+
'Africa/Nairobi', 'Asia/Dubai', 'Asia/Kolkata',
|
|
187
|
+
'Asia/Kolkata', 'Asia/Karachi', 'Asia/Dhaka',
|
|
188
|
+
'Asia/Bangkok', 'Asia/Jakarta', 'Asia/Singapore',
|
|
189
|
+
'Asia/Kuala_Lumpur', 'Asia/Manila', 'Asia/Shanghai',
|
|
190
|
+
'Asia/Tokyo', 'Asia/Seoul', 'Asia/Hong_Kong',
|
|
191
|
+
'Asia/Taipei', 'Asia/Riyadh', 'Asia/Tehran',
|
|
192
|
+
'Australia/Sydney', 'Australia/Melbourne', 'Australia/Perth',
|
|
193
|
+
'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Honolulu',
|
|
194
|
+
];
|
|
195
|
+
|
|
196
|
+
module.exports = {
|
|
197
|
+
CITIES,
|
|
198
|
+
COUNTRIES,
|
|
199
|
+
US_STATES,
|
|
200
|
+
STREET_TYPES,
|
|
201
|
+
STREET_NAMES,
|
|
202
|
+
ZIP_PATTERNS,
|
|
203
|
+
TIMEZONES,
|
|
204
|
+
};
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @module seed/data/names
|
|
5
|
+
* @description Multi-locale name pools for fake person name generation.
|
|
6
|
+
* Supports 14 locales with separate male, female, and last-name arrays.
|
|
7
|
+
*
|
|
8
|
+
* Supported locale codes:
|
|
9
|
+
* en English (US / UK) es Spanish
|
|
10
|
+
* fr French de German
|
|
11
|
+
* it Italian pt Portuguese / Brazilian
|
|
12
|
+
* ru Russian (romanized) ja Japanese (romanized)
|
|
13
|
+
* zh Chinese Mandarin (Pinyin) ar Arabic (romanized)
|
|
14
|
+
* hi Hindi (romanized) ko Korean (romanized)
|
|
15
|
+
* nl Dutch sv Swedish / Nordic
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
const NAMES = {
|
|
19
|
+
|
|
20
|
+
// -- English -------------------------------------------------------------
|
|
21
|
+
en: {
|
|
22
|
+
male: [
|
|
23
|
+
'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard',
|
|
24
|
+
'Joseph', 'Thomas', 'Charles', 'Daniel', 'Matthew', 'Anthony', 'Mark',
|
|
25
|
+
'Donald', 'Steven', 'Kevin', 'Brian', 'George', 'Edward', 'Ronald',
|
|
26
|
+
'Timothy', 'Kenneth', 'Jacob', 'Ryan', 'Eric', 'Nicholas', 'Jonathan',
|
|
27
|
+
'Joshua', 'Andrew', 'Patrick', 'Justin', 'Brandon', 'Samuel', 'Nathan',
|
|
28
|
+
'Christian', 'Dylan', 'Henry', 'Tyler', 'Ethan', 'Austin', 'Gabriel',
|
|
29
|
+
],
|
|
30
|
+
female: [
|
|
31
|
+
'Mary', 'Patricia', 'Jennifer', 'Linda', 'Barbara', 'Margaret', 'Elizabeth',
|
|
32
|
+
'Susan', 'Dorothy', 'Lisa', 'Nancy', 'Karen', 'Betty', 'Helen', 'Sandra',
|
|
33
|
+
'Donna', 'Carol', 'Ruth', 'Sharon', 'Michelle', 'Laura', 'Sarah', 'Kimberly',
|
|
34
|
+
'Deborah', 'Jessica', 'Shirley', 'Cynthia', 'Angela', 'Melissa', 'Ashley',
|
|
35
|
+
'Amanda', 'Stephanie', 'Rebecca', 'Megan', 'Rachel', 'Emily', 'Samantha',
|
|
36
|
+
'Katherine', 'Christina', 'Emma', 'Olivia', 'Sophia', 'Ava', 'Isabella',
|
|
37
|
+
],
|
|
38
|
+
last: [
|
|
39
|
+
'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller',
|
|
40
|
+
'Davis', 'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez',
|
|
41
|
+
'Wilson', 'Anderson', 'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin',
|
|
42
|
+
'Lee', 'Perez', 'Thompson', 'White', 'Harris', 'Sanchez', 'Clark',
|
|
43
|
+
'Ramirez', 'Lewis', 'Robinson', 'Walker', 'Young', 'Allen', 'King',
|
|
44
|
+
'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores', 'Green', 'Adams',
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
// -- Spanish -------------------------------------------------------------
|
|
49
|
+
es: {
|
|
50
|
+
male: [
|
|
51
|
+
'Alejandro', 'Carlos', 'Miguel', 'Juan', 'José', 'Luis', 'Antonio',
|
|
52
|
+
'Fernando', 'Eduardo', 'Roberto', 'Francisco', 'Diego', 'Andrés',
|
|
53
|
+
'Sergio', 'Joaquín', 'Rodrigo', 'Javier', 'Rafael', 'Álvaro', 'Pablo',
|
|
54
|
+
'Marcos', 'Héctor', 'Raúl', 'Ignacio', 'Sebastián', 'Tomás', 'Daniel',
|
|
55
|
+
'Martín', 'Benjamín', 'Emilio', 'Adrián', 'Felipe', 'Óscar', 'Iván',
|
|
56
|
+
],
|
|
57
|
+
female: [
|
|
58
|
+
'María', 'Ana', 'Carmen', 'Isabel', 'Sofía', 'Valentina', 'Lucía',
|
|
59
|
+
'Adriana', 'Elena', 'Gabriela', 'Patricia', 'Rosa', 'Fernanda', 'Andrea',
|
|
60
|
+
'Cristina', 'Laura', 'Victoria', 'Alejandra', 'Paula', 'Natalia',
|
|
61
|
+
'Daniela', 'Pilar', 'Mercedes', 'Beatriz', 'Guadalupe', 'Mónica',
|
|
62
|
+
'Estrella', 'Raquel', 'Inés', 'Esperanza', 'Gloria', 'Marta', 'Silvia',
|
|
63
|
+
],
|
|
64
|
+
last: [
|
|
65
|
+
'García', 'Martínez', 'López', 'González', 'Sánchez', 'Rodríguez',
|
|
66
|
+
'Pérez', 'Fernández', 'Torres', 'Ramírez', 'Flores', 'Cruz', 'Moreno',
|
|
67
|
+
'Ortiz', 'Reyes', 'Herrera', 'Medina', 'Aguilar', 'Castro', 'Jiménez',
|
|
68
|
+
'Vargas', 'Morales', 'Romero', 'Álvarez', 'Domínguez', 'Fuentes',
|
|
69
|
+
'Mendoza', 'Rojas', 'Gutiérrez', 'Navarro', 'Díaz', 'Ruiz',
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
// -- French --------------------------------------------------------------
|
|
74
|
+
fr: {
|
|
75
|
+
male: [
|
|
76
|
+
'Pierre', 'Jean', 'Michel', 'André', 'Louis', 'Philippe', 'Thomas',
|
|
77
|
+
'Nicolas', 'Julien', 'Raphaël', 'Antoine', 'François', 'Henri',
|
|
78
|
+
'Édouard', 'Sébastien', 'Vincent', 'Benoît', 'Guillaume', 'Stéphane',
|
|
79
|
+
'Grégoire', 'Xavier', 'Clément', 'Yves', 'Luc', 'Christophe',
|
|
80
|
+
'Maxime', 'Théo', 'Hugo', 'Mathieu', 'Baptiste',
|
|
81
|
+
],
|
|
82
|
+
female: [
|
|
83
|
+
'Marie', 'Hélène', 'Jeanne', 'Françoise', 'Nathalie', 'Isabelle',
|
|
84
|
+
'Sophie', 'Camille', 'Lucie', 'Émilie', 'Anne', 'Claire', 'Amélie',
|
|
85
|
+
'Chloé', 'Mathilde', 'Léa', 'Julie', 'Alice', 'Margot', 'Élise',
|
|
86
|
+
'Anaïs', 'Charlotte', 'Pauline', 'Adèle', 'Justine', 'Manon',
|
|
87
|
+
'Inès', 'Zoé', 'Valentine', 'Céline',
|
|
88
|
+
],
|
|
89
|
+
last: [
|
|
90
|
+
'Martin', 'Bernard', 'Thomas', 'Petit', 'Robert', 'Richard', 'Durand',
|
|
91
|
+
'Dupont', 'Moreau', 'Simon', 'Laurent', 'Lefebvre', 'Michel', 'David',
|
|
92
|
+
'Bertrand', 'Roux', 'Vincent', 'Fournier', 'Morel', 'Girard', 'André',
|
|
93
|
+
'Lefèvre', 'Mercier', 'Dupuis', 'Lambert', 'Bonnet', 'François',
|
|
94
|
+
'Martinez', 'Legrand', 'Garnier',
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// -- German --------------------------------------------------------------
|
|
99
|
+
de: {
|
|
100
|
+
male: [
|
|
101
|
+
'Hans', 'Klaus', 'Wolfgang', 'Karl', 'Friedrich', 'Werner', 'Walter',
|
|
102
|
+
'Dieter', 'Gerhard', 'Jürgen', 'Martin', 'Stefan', 'Thomas', 'Andreas',
|
|
103
|
+
'Markus', 'Michael', 'Peter', 'Christian', 'Tobias', 'Sebastian',
|
|
104
|
+
'Florian', 'Jan', 'Felix', 'Lukas', 'Jonas', 'Luca', 'Leon', 'Noah',
|
|
105
|
+
'Paul', 'Elias', 'Ben', 'Finn', 'Moritz', 'Philipp',
|
|
106
|
+
],
|
|
107
|
+
female: [
|
|
108
|
+
'Ursula', 'Ingrid', 'Anna', 'Maria', 'Elisabeth', 'Heike', 'Monika',
|
|
109
|
+
'Claudia', 'Petra', 'Andrea', 'Sabine', 'Christine', 'Sandra', 'Katharina',
|
|
110
|
+
'Julia', 'Lisa', 'Nina', 'Lena', 'Sarah', 'Leonie', 'Emma', 'Sophie',
|
|
111
|
+
'Johanna', 'Laura', 'Hannah', 'Mia', 'Clara', 'Marie', 'Lea', 'Amelie',
|
|
112
|
+
],
|
|
113
|
+
last: [
|
|
114
|
+
'Müller', 'Schmidt', 'Schneider', 'Fischer', 'Weber', 'Meyer', 'Wagner',
|
|
115
|
+
'Becker', 'Schulz', 'Hoffmann', 'Schäfer', 'Koch', 'Bauer', 'Richter',
|
|
116
|
+
'Klein', 'Wolf', 'Schröder', 'Neumann', 'Schwarz', 'Zimmermann',
|
|
117
|
+
'Braun', 'Krüger', 'Hartmann', 'Lange', 'Schmitt', 'Werner', 'Krause',
|
|
118
|
+
'Lehmann', 'Walter', 'König', 'Huber',
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
// -- Italian -------------------------------------------------------------
|
|
123
|
+
it: {
|
|
124
|
+
male: [
|
|
125
|
+
'Marco', 'Andrea', 'Luca', 'Giovanni', 'Francesco', 'Antonio', 'Mario',
|
|
126
|
+
'Giuseppe', 'Alessandro', 'Lorenzo', 'Federico', 'Stefano', 'Matteo',
|
|
127
|
+
'Paolo', 'Roberto', 'Giorgio', 'Alberto', 'Claudio', 'Riccardo', 'Davide',
|
|
128
|
+
'Simone', 'Giacomo', 'Filippo', 'Nicola', 'Emanuele', 'Leonardo',
|
|
129
|
+
],
|
|
130
|
+
female: [
|
|
131
|
+
'Giulia', 'Sofia', 'Martina', 'Francesca', 'Sara', 'Alessia', 'Laura',
|
|
132
|
+
'Anna', 'Chiara', 'Elena', 'Valentina', 'Federica', 'Marta', 'Elisa',
|
|
133
|
+
'Camilla', 'Paola', 'Cristina', 'Silvia', 'Roberta', 'Serena',
|
|
134
|
+
'Beatrice', 'Irene', 'Alessandra', 'Viviana', 'Arianna',
|
|
135
|
+
],
|
|
136
|
+
last: [
|
|
137
|
+
'Rossi', 'Russo', 'Ferrari', 'Esposito', 'Bianchi', 'Romano', 'Colombo',
|
|
138
|
+
'Ricci', 'Marino', 'Greco', 'Bruno', 'Gallo', 'Conti', 'De Luca',
|
|
139
|
+
'Costa', 'Giordano', 'Mancini', 'Rizzo', 'Lombardi', 'Moretti',
|
|
140
|
+
'Barbieri', 'Fontana', 'Santoro', 'Marini', 'Fabbri',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
// -- Portuguese / Brazilian -----------------------------------------------
|
|
145
|
+
pt: {
|
|
146
|
+
male: [
|
|
147
|
+
'João', 'Pedro', 'Paulo', 'Ricardo', 'Eduardo', 'Felipe', 'Gustavo',
|
|
148
|
+
'André', 'Diego', 'Mateus', 'Rodrigo', 'Carlos', 'Thiago', 'Lucas',
|
|
149
|
+
'Gabriel', 'Rafael', 'Henrique', 'Bruno', 'Alexandre', 'Igor',
|
|
150
|
+
'Vitor', 'Renato', 'Otávio', 'Leandro', 'Sérgio',
|
|
151
|
+
],
|
|
152
|
+
female: [
|
|
153
|
+
'Ana', 'Maria', 'Fernanda', 'Juliana', 'Amanda', 'Camila', 'Patrícia',
|
|
154
|
+
'Beatriz', 'Larissa', 'Gabriela', 'Renata', 'Isabela', 'Carolina',
|
|
155
|
+
'Natália', 'Letícia', 'Viviane', 'Márcia', 'Adriana', 'Priscila', 'Aline',
|
|
156
|
+
'Bruna', 'Daniela', 'Vanessa', 'Tatiana', 'Cristiane',
|
|
157
|
+
],
|
|
158
|
+
last: [
|
|
159
|
+
'Silva', 'Santos', 'Oliveira', 'Souza', 'Rodrigues', 'Ferreira', 'Alves',
|
|
160
|
+
'Pereira', 'Lima', 'Gomes', 'Costa', 'Ribeiro', 'Martins', 'Carvalho',
|
|
161
|
+
'Almeida', 'Lopes', 'Nunes', 'Freitas', 'Araujo', 'Correia',
|
|
162
|
+
'Cardoso', 'Mendes', 'Pinto', 'Teixeira', 'Nascimento',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
// -- Russian (romanized) --------------------------------------------------
|
|
167
|
+
ru: {
|
|
168
|
+
male: [
|
|
169
|
+
'Alexander', 'Dmitry', 'Ivan', 'Maxim', 'Sergei', 'Andrei', 'Vladimir',
|
|
170
|
+
'Nikolai', 'Pavel', 'Alexei', 'Mikhail', 'Vasily', 'Yuri', 'Boris',
|
|
171
|
+
'Oleg', 'Viktor', 'Konstantin', 'Roman', 'Artem', 'Igor',
|
|
172
|
+
'Evgeny', 'Fyodor', 'Leonid', 'Stanislav', 'Timur',
|
|
173
|
+
],
|
|
174
|
+
female: [
|
|
175
|
+
'Anna', 'Elena', 'Maria', 'Natalia', 'Olga', 'Tatiana', 'Irina',
|
|
176
|
+
'Svetlana', 'Yulia', 'Ekaterina', 'Anastasia', 'Oksana', 'Vera',
|
|
177
|
+
'Nina', 'Galina', 'Larisa', 'Valentina', 'Lyudmila', 'Sofia', 'Alina',
|
|
178
|
+
'Ksenia', 'Daria', 'Polina', 'Vika', 'Margarita',
|
|
179
|
+
],
|
|
180
|
+
last: [
|
|
181
|
+
'Ivanov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasiliev', 'Petrov',
|
|
182
|
+
'Sokolov', 'Mikhailov', 'Novikov', 'Fedorov', 'Morozov', 'Volkov',
|
|
183
|
+
'Alexeyev', 'Lebedev', 'Semyonov', 'Egorov', 'Pavlov', 'Kozlov',
|
|
184
|
+
'Stepanov', 'Nikolaev', 'Orlov', 'Andreev', 'Makarov', 'Nikitin',
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
// -- Japanese (romanized) -------------------------------------------------
|
|
189
|
+
ja: {
|
|
190
|
+
male: [
|
|
191
|
+
'Haruto', 'Sota', 'Yuki', 'Ren', 'Kaito', 'Takumi', 'Kento', 'Ryu',
|
|
192
|
+
'Shota', 'Hayato', 'Yamato', 'Daiki', 'Kenji', 'Hiroshi', 'Takeshi',
|
|
193
|
+
'Masaki', 'Naoki', 'Ryota', 'Shunsuke', 'Yusuke', 'Kohei', 'Taichi',
|
|
194
|
+
'Akira', 'Kazuki', 'Tsubasa',
|
|
195
|
+
],
|
|
196
|
+
female: [
|
|
197
|
+
'Yui', 'Aoi', 'Hina', 'Misaki', 'Koharu', 'Sakura', 'Nana', 'Rina',
|
|
198
|
+
'Yuka', 'Miyu', 'Akane', 'Haruka', 'Mei', 'Riko', 'Saki', 'Momoko',
|
|
199
|
+
'Ayane', 'Kanon', 'Moe', 'Sora', 'Hikari', 'Nozomi', 'Nanami',
|
|
200
|
+
'Asuka', 'Kana',
|
|
201
|
+
],
|
|
202
|
+
last: [
|
|
203
|
+
'Sato', 'Suzuki', 'Takahashi', 'Tanaka', 'Watanabe', 'Ito', 'Yamamoto',
|
|
204
|
+
'Nakamura', 'Kobayashi', 'Kato', 'Yoshida', 'Yamada', 'Sasaki',
|
|
205
|
+
'Yamaguchi', 'Matsumoto', 'Inoue', 'Kimura', 'Hayashi', 'Shimizu',
|
|
206
|
+
'Yamazaki', 'Mori', 'Abe', 'Ikeda', 'Hashimoto',
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
|
|
210
|
+
// -- Chinese Mandarin (Pinyin) ---------------------------------------------
|
|
211
|
+
zh: {
|
|
212
|
+
male: [
|
|
213
|
+
'Wei', 'Hao', 'Ming', 'Lei', 'Jian', 'Tao', 'Feng', 'Long', 'Kai',
|
|
214
|
+
'Bo', 'Kun', 'Yu', 'Gang', 'Cheng', 'Bin', 'Jie', 'Liang', 'Peng',
|
|
215
|
+
'Dong', 'Zhe', 'Qi', 'Heng', 'Xuan', 'Rui', 'Chen',
|
|
216
|
+
],
|
|
217
|
+
female: [
|
|
218
|
+
'Yan', 'Xiu', 'Mei', 'Jun', 'Ling', 'Hua', 'Juan', 'Xiao', 'Jing',
|
|
219
|
+
'Lin', 'Ping', 'Lan', 'Dan', 'Yi', 'Qing', 'Lu', 'Yun', 'Hong',
|
|
220
|
+
'Fei', 'Rong', 'Xia', 'Zhen', 'Yue', 'Shan', 'Ying',
|
|
221
|
+
],
|
|
222
|
+
last: [
|
|
223
|
+
'Wang', 'Li', 'Zhang', 'Liu', 'Chen', 'Yang', 'Huang', 'Wu', 'Zhao',
|
|
224
|
+
'Zhou', 'Xu', 'Sun', 'Ma', 'Zhu', 'Hu', 'Guo', 'He', 'Lin', 'Gao',
|
|
225
|
+
'Luo', 'Zheng', 'Liang', 'Xie', 'Tang', 'Han',
|
|
226
|
+
],
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
// -- Arabic (romanized) ---------------------------------------------------
|
|
230
|
+
ar: {
|
|
231
|
+
male: [
|
|
232
|
+
'Mohammed', 'Ahmed', 'Ali', 'Omar', 'Khalid', 'Ibrahim', 'Yusuf',
|
|
233
|
+
'Hamza', 'Hassan', 'Tariq', 'Karim', 'Samir', 'Nabil', 'Faris',
|
|
234
|
+
'Zaid', 'Sami', 'Rami', 'Walid', 'Adel', 'Bilal', 'Amir', 'Nasser',
|
|
235
|
+
'Riyadh', 'Tarek', 'Mostafa',
|
|
236
|
+
],
|
|
237
|
+
female: [
|
|
238
|
+
'Fatima', 'Aisha', 'Sara', 'Nour', 'Layla', 'Mariam', 'Zainab',
|
|
239
|
+
'Hana', 'Rania', 'Dina', 'Yasmin', 'Amira', 'Salma', 'Lina', 'Alya',
|
|
240
|
+
'Nadia', 'Rima', 'Rana', 'Samira', 'Nada', 'Heba', 'Mona', 'Suha',
|
|
241
|
+
'Randa', 'Ghada',
|
|
242
|
+
],
|
|
243
|
+
last: [
|
|
244
|
+
'Al-Masri', 'Al-Rashid', 'Mansour', 'Nasser', 'Khalil', 'Hamdan',
|
|
245
|
+
'Qasim', 'Saleh', 'Abboud', 'Barakat', 'Haddad', 'Khoury', 'Nassar',
|
|
246
|
+
'Awad', 'Saad', 'Jabir', 'Othman', 'Aziz', 'Amin', 'Hassan',
|
|
247
|
+
'Ibrahim', 'Omar', 'Abdullah', 'Yousef',
|
|
248
|
+
],
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
// -- Hindi (romanized) ----------------------------------------------------
|
|
252
|
+
hi: {
|
|
253
|
+
male: [
|
|
254
|
+
'Rahul', 'Amit', 'Vijay', 'Rajesh', 'Suresh', 'Ankit', 'Mohit',
|
|
255
|
+
'Aditya', 'Vishal', 'Sandeep', 'Rohit', 'Gaurav', 'Deepak', 'Sanjay',
|
|
256
|
+
'Ravi', 'Ashish', 'Manish', 'Nikhil', 'Abhinav', 'Kartik', 'Arjun',
|
|
257
|
+
'Dhruv', 'Varun', 'Karan', 'Pranav',
|
|
258
|
+
],
|
|
259
|
+
female: [
|
|
260
|
+
'Priya', 'Pooja', 'Neha', 'Asha', 'Kavita', 'Sunita', 'Rekha',
|
|
261
|
+
'Anita', 'Sanjana', 'Meena', 'Shreya', 'Divya', 'Jyoti', 'Preeti',
|
|
262
|
+
'Sonia', 'Ritu', 'Shilpa', 'Radha', 'Meera', 'Nisha', 'Anjali',
|
|
263
|
+
'Tanvi', 'Swati', 'Deepa', 'Puja',
|
|
264
|
+
],
|
|
265
|
+
last: [
|
|
266
|
+
'Sharma', 'Patel', 'Verma', 'Gupta', 'Singh', 'Kumar', 'Mehta',
|
|
267
|
+
'Joshi', 'Rao', 'Malhotra', 'Chopra', 'Nair', 'Yadav', 'Pandey',
|
|
268
|
+
'Agarwal', 'Kapoor', 'Shukla', 'Srivastava', 'Dubey', 'Mishra',
|
|
269
|
+
'Shah', 'Bose', 'Chatterjee', 'Mukherjee',
|
|
270
|
+
],
|
|
271
|
+
},
|
|
272
|
+
|
|
273
|
+
// -- Korean (romanized) ---------------------------------------------------
|
|
274
|
+
ko: {
|
|
275
|
+
male: [
|
|
276
|
+
'Min-jun', 'Seo-jun', 'Do-yoon', 'Ji-ho', 'Jun-seo', 'Ye-jun',
|
|
277
|
+
'Joon-woo', 'Hyun-woo', 'Min-hyuk', 'Jae-won', 'Sung-jin', 'Tae-yang',
|
|
278
|
+
'Jin-ho', 'Ji-woo', 'Seung-hyun', 'Young-soo', 'Ki-tae', 'Dong-hyun',
|
|
279
|
+
'Sung-min', 'Hyeon-jun', 'Woo-jin', 'Chan-woo', 'Jae-hyun', 'Hyun-jin',
|
|
280
|
+
],
|
|
281
|
+
female: [
|
|
282
|
+
'Seo-yeon', 'Min-seo', 'Ha-eun', 'Ji-woo', 'Soo-yeon', 'Na-yeon',
|
|
283
|
+
'Hye-won', 'Eun-ji', 'So-hyun', 'Ji-yeon', 'Yoo-jin', 'Chae-won',
|
|
284
|
+
'Min-ji', 'Ji-min', 'Soo-bin', 'Yun-ah', 'Da-eun', 'Hana', 'Ji-hye',
|
|
285
|
+
'Bo-ra', 'Seul-gi', 'Ye-jin', 'Ha-ru', 'Na-eun',
|
|
286
|
+
],
|
|
287
|
+
last: [
|
|
288
|
+
'Kim', 'Lee', 'Park', 'Choi', 'Jung', 'Kang', 'Cho', 'Yoon', 'Chang',
|
|
289
|
+
'Lim', 'Han', 'Oh', 'Seo', 'Shin', 'Kwon', 'Hwang', 'Ahn', 'Song',
|
|
290
|
+
'Yoo', 'Hong', 'Jeon', 'Ko', 'Moon', 'Yang',
|
|
291
|
+
],
|
|
292
|
+
},
|
|
293
|
+
|
|
294
|
+
// -- Dutch ----------------------------------------------------------------
|
|
295
|
+
nl: {
|
|
296
|
+
male: [
|
|
297
|
+
'Jan', 'Pieter', 'Hendrik', 'Willem', 'Johan', 'Dirk', 'Gerrit',
|
|
298
|
+
'Bas', 'Sander', 'Ruben', 'Lars', 'Tim', 'Niels', 'Joost', 'Bram',
|
|
299
|
+
'Thomas', 'Luca', 'Noah', 'Milan', 'Jesse', 'Daan', 'Finn', 'Tijs',
|
|
300
|
+
],
|
|
301
|
+
female: [
|
|
302
|
+
'Anna', 'Maria', 'Emma', 'Sophie', 'Julia', 'Lotte', 'Sara', 'Lisa',
|
|
303
|
+
'Marieke', 'Inge', 'Femke', 'Noor', 'Fleur', 'Manon', 'Roos',
|
|
304
|
+
'Iris', 'Sanne', 'Kim', 'Amber', 'Hannah', 'Ella', 'Fien',
|
|
305
|
+
],
|
|
306
|
+
last: [
|
|
307
|
+
'De Jong', 'Jansen', 'De Vries', 'Van den Berg', 'Van Dijk', 'Bakker',
|
|
308
|
+
'Janssen', 'Visser', 'Smit', 'Meijer', 'De Boer', 'Mulder', 'Bos',
|
|
309
|
+
'Vos', 'Peters', 'Hendriks', 'Van Leeuwen', 'Dekker', 'Brouwer',
|
|
310
|
+
'De Wit', 'Dijkstra', 'Smits', 'Vermeulen',
|
|
311
|
+
],
|
|
312
|
+
},
|
|
313
|
+
|
|
314
|
+
// -- Swedish / Nordic -----------------------------------------------------
|
|
315
|
+
sv: {
|
|
316
|
+
male: [
|
|
317
|
+
'Lars', 'Björn', 'Erik', 'Karl', 'Henrik', 'Anders', 'Sven', 'Johan',
|
|
318
|
+
'Magnus', 'Mikael', 'Jonas', 'Peter', 'Nils', 'Olof', 'Gunnar',
|
|
319
|
+
'Viktor', 'Axel', 'Liam', 'Elias', 'Isak', 'Oliver', 'Lucas', 'Hugo',
|
|
320
|
+
],
|
|
321
|
+
female: [
|
|
322
|
+
'Anna', 'Maria', 'Karin', 'Kristina', 'Ingrid', 'Eva', 'Sara', 'Emma',
|
|
323
|
+
'Lena', 'Ulrika', 'Malin', 'Sofia', 'Maja', 'Alice', 'Julia', 'Elin',
|
|
324
|
+
'Amanda', 'Ida', 'Johanna', 'Hanna', 'Alva', 'Filippa', 'Saga',
|
|
325
|
+
],
|
|
326
|
+
last: [
|
|
327
|
+
'Andersson', 'Johansson', 'Karlsson', 'Nilsson', 'Eriksson', 'Larsson',
|
|
328
|
+
'Olsson', 'Persson', 'Svensson', 'Gustafsson', 'Pettersson', 'Jonsson',
|
|
329
|
+
'Jansson', 'Hansson', 'Bengtsson', 'Lindqvist', 'Magnusson', 'Lindgren',
|
|
330
|
+
'Jensen', 'Hansen', 'Andersen', 'Pedersen', 'Berg',
|
|
331
|
+
],
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
/** All supported locale codes. */
|
|
336
|
+
const LOCALES = Object.keys(NAMES);
|
|
337
|
+
|
|
338
|
+
module.exports = { NAMES, LOCALES };
|