@zero-server/sdk 0.9.1 → 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.
Files changed (126) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +460 -443
  3. package/index.js +414 -412
  4. package/lib/app.js +1172 -1172
  5. package/lib/auth/authorize.js +399 -399
  6. package/lib/auth/enrollment.js +367 -367
  7. package/lib/auth/index.js +57 -57
  8. package/lib/auth/jwt.js +731 -731
  9. package/lib/auth/oauth.js +362 -362
  10. package/lib/auth/session.js +588 -588
  11. package/lib/auth/trustedDevice.js +409 -409
  12. package/lib/auth/twoFactor.js +1150 -1150
  13. package/lib/auth/webauthn.js +946 -946
  14. package/lib/body/index.js +14 -14
  15. package/lib/body/json.js +109 -109
  16. package/lib/body/multipart.js +440 -440
  17. package/lib/body/raw.js +71 -71
  18. package/lib/body/rawBuffer.js +160 -160
  19. package/lib/body/sendError.js +25 -25
  20. package/lib/body/text.js +75 -75
  21. package/lib/body/typeMatch.js +41 -41
  22. package/lib/body/urlencoded.js +235 -235
  23. package/lib/cli.js +845 -845
  24. package/lib/cluster.js +666 -666
  25. package/lib/debug.js +372 -372
  26. package/lib/env/index.js +465 -465
  27. package/lib/errors.js +683 -683
  28. package/lib/fetch/index.js +256 -256
  29. package/lib/grpc/balancer.js +378 -378
  30. package/lib/grpc/call.js +708 -708
  31. package/lib/grpc/client.js +764 -764
  32. package/lib/grpc/codec.js +1221 -1221
  33. package/lib/grpc/credentials.js +398 -398
  34. package/lib/grpc/frame.js +262 -262
  35. package/lib/grpc/health.js +287 -287
  36. package/lib/grpc/index.js +121 -121
  37. package/lib/grpc/metadata.js +461 -461
  38. package/lib/grpc/proto.js +821 -821
  39. package/lib/grpc/reflection.js +590 -590
  40. package/lib/grpc/server.js +445 -445
  41. package/lib/grpc/status.js +118 -118
  42. package/lib/grpc/watch.js +173 -173
  43. package/lib/http/index.js +10 -10
  44. package/lib/http/request.js +727 -727
  45. package/lib/http/response.js +799 -799
  46. package/lib/lifecycle.js +557 -557
  47. package/lib/middleware/compress.js +230 -230
  48. package/lib/middleware/cookieParser.js +237 -237
  49. package/lib/middleware/cors.js +93 -93
  50. package/lib/middleware/csrf.js +137 -137
  51. package/lib/middleware/errorHandler.js +101 -101
  52. package/lib/middleware/helmet.js +175 -175
  53. package/lib/middleware/index.js +19 -17
  54. package/lib/middleware/logger.js +74 -74
  55. package/lib/middleware/rateLimit.js +88 -88
  56. package/lib/middleware/requestId.js +53 -53
  57. package/lib/middleware/static.js +326 -326
  58. package/lib/middleware/timeout.js +71 -71
  59. package/lib/middleware/validator.js +255 -255
  60. package/lib/observe/health.js +326 -326
  61. package/lib/observe/index.js +50 -50
  62. package/lib/observe/logger.js +359 -359
  63. package/lib/observe/metrics.js +805 -805
  64. package/lib/observe/tracing.js +592 -592
  65. package/lib/orm/adapters/json.js +290 -290
  66. package/lib/orm/adapters/memory.js +764 -764
  67. package/lib/orm/adapters/mongo.js +764 -764
  68. package/lib/orm/adapters/mysql.js +933 -933
  69. package/lib/orm/adapters/postgres.js +1144 -1144
  70. package/lib/orm/adapters/redis.js +1534 -1534
  71. package/lib/orm/adapters/sql-base.js +212 -212
  72. package/lib/orm/adapters/sqlite.js +858 -858
  73. package/lib/orm/audit.js +649 -649
  74. package/lib/orm/cache.js +394 -394
  75. package/lib/orm/geo.js +387 -387
  76. package/lib/orm/index.js +784 -784
  77. package/lib/orm/migrate.js +432 -432
  78. package/lib/orm/model.js +1706 -1706
  79. package/lib/orm/plugin.js +375 -375
  80. package/lib/orm/procedures.js +836 -836
  81. package/lib/orm/profiler.js +233 -233
  82. package/lib/orm/query.js +1772 -1772
  83. package/lib/orm/replicas.js +241 -241
  84. package/lib/orm/schema.js +307 -307
  85. package/lib/orm/search.js +380 -380
  86. package/lib/orm/seed/data/commerce.js +136 -136
  87. package/lib/orm/seed/data/internet.js +111 -111
  88. package/lib/orm/seed/data/locations.js +204 -204
  89. package/lib/orm/seed/data/names.js +338 -338
  90. package/lib/orm/seed/data/person.js +128 -128
  91. package/lib/orm/seed/data/phone.js +211 -211
  92. package/lib/orm/seed/data/words.js +134 -134
  93. package/lib/orm/seed/factory.js +178 -178
  94. package/lib/orm/seed/fake.js +1186 -1186
  95. package/lib/orm/seed/index.js +18 -18
  96. package/lib/orm/seed/rng.js +70 -70
  97. package/lib/orm/seed/seeder.js +124 -124
  98. package/lib/orm/seed/unique.js +68 -68
  99. package/lib/orm/snapshot.js +366 -366
  100. package/lib/orm/tenancy.js +605 -605
  101. package/lib/orm/views.js +350 -350
  102. package/lib/router/index.js +436 -436
  103. package/lib/sse/index.js +8 -8
  104. package/lib/sse/stream.js +349 -349
  105. package/lib/ws/connection.js +451 -451
  106. package/lib/ws/handshake.js +125 -125
  107. package/lib/ws/index.js +14 -14
  108. package/lib/ws/room.js +223 -223
  109. package/package.json +73 -73
  110. package/types/app.d.ts +223 -223
  111. package/types/auth.d.ts +520 -520
  112. package/types/cluster.d.ts +75 -75
  113. package/types/env.d.ts +80 -80
  114. package/types/errors.d.ts +316 -316
  115. package/types/fetch.d.ts +43 -43
  116. package/types/grpc.d.ts +432 -432
  117. package/types/index.d.ts +384 -384
  118. package/types/lifecycle.d.ts +60 -60
  119. package/types/middleware.d.ts +320 -320
  120. package/types/observe.d.ts +304 -304
  121. package/types/orm.d.ts +1887 -1887
  122. package/types/request.d.ts +109 -109
  123. package/types/response.d.ts +157 -157
  124. package/types/router.d.ts +78 -78
  125. package/types/sse.d.ts +78 -78
  126. package/types/websocket.d.ts +126 -126
@@ -1,338 +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 };
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 };