@zero-server/sdk 0.9.1 → 0.9.3
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 +460 -443
- package/index.js +414 -412
- package/lib/app.js +1172 -1172
- package/lib/auth/authorize.js +399 -399
- package/lib/auth/enrollment.js +367 -367
- package/lib/auth/index.js +57 -57
- package/lib/auth/jwt.js +731 -731
- package/lib/auth/oauth.js +362 -362
- package/lib/auth/session.js +588 -588
- package/lib/auth/trustedDevice.js +409 -409
- package/lib/auth/twoFactor.js +1150 -1150
- package/lib/auth/webauthn.js +946 -946
- package/lib/body/index.js +14 -14
- package/lib/body/json.js +109 -109
- package/lib/body/multipart.js +440 -440
- package/lib/body/raw.js +71 -71
- package/lib/body/rawBuffer.js +160 -160
- package/lib/body/sendError.js +25 -25
- package/lib/body/text.js +75 -75
- package/lib/body/typeMatch.js +41 -41
- package/lib/body/urlencoded.js +235 -235
- package/lib/cli.js +845 -845
- package/lib/cluster.js +666 -666
- package/lib/debug.js +372 -372
- package/lib/env/index.js +465 -465
- package/lib/errors.js +683 -683
- package/lib/fetch/index.js +256 -256
- package/lib/grpc/balancer.js +378 -378
- package/lib/grpc/call.js +708 -708
- package/lib/grpc/client.js +764 -764
- package/lib/grpc/codec.js +1221 -1221
- package/lib/grpc/credentials.js +398 -398
- package/lib/grpc/frame.js +262 -262
- package/lib/grpc/health.js +287 -287
- package/lib/grpc/index.js +121 -121
- package/lib/grpc/metadata.js +461 -461
- package/lib/grpc/proto.js +821 -821
- package/lib/grpc/reflection.js +590 -590
- package/lib/grpc/server.js +445 -445
- package/lib/grpc/status.js +118 -118
- package/lib/grpc/watch.js +173 -173
- package/lib/http/index.js +10 -10
- package/lib/http/request.js +727 -727
- package/lib/http/response.js +799 -799
- package/lib/lifecycle.js +557 -557
- package/lib/middleware/compress.js +230 -230
- package/lib/middleware/cookieParser.js +237 -237
- package/lib/middleware/cors.js +93 -93
- package/lib/middleware/csrf.js +137 -137
- package/lib/middleware/errorHandler.js +101 -101
- package/lib/middleware/helmet.js +175 -175
- package/lib/middleware/index.js +19 -17
- package/lib/middleware/logger.js +74 -74
- package/lib/middleware/rateLimit.js +88 -88
- package/lib/middleware/requestId.js +53 -53
- package/lib/middleware/static.js +326 -326
- package/lib/middleware/timeout.js +71 -71
- package/lib/middleware/validator.js +255 -255
- package/lib/observe/health.js +326 -326
- package/lib/observe/index.js +50 -50
- package/lib/observe/logger.js +359 -359
- package/lib/observe/metrics.js +805 -805
- package/lib/observe/tracing.js +592 -592
- package/lib/orm/adapters/json.js +290 -290
- package/lib/orm/adapters/memory.js +764 -764
- package/lib/orm/adapters/mongo.js +764 -764
- package/lib/orm/adapters/mysql.js +933 -933
- package/lib/orm/adapters/postgres.js +1144 -1144
- package/lib/orm/adapters/redis.js +1534 -1534
- package/lib/orm/adapters/sql-base.js +212 -212
- package/lib/orm/adapters/sqlite.js +858 -858
- package/lib/orm/audit.js +649 -649
- package/lib/orm/cache.js +394 -394
- package/lib/orm/geo.js +387 -387
- package/lib/orm/index.js +784 -784
- package/lib/orm/migrate.js +432 -432
- package/lib/orm/model.js +1706 -1706
- package/lib/orm/plugin.js +375 -375
- package/lib/orm/procedures.js +836 -836
- package/lib/orm/profiler.js +233 -233
- package/lib/orm/query.js +1772 -1772
- package/lib/orm/replicas.js +241 -241
- package/lib/orm/schema.js +307 -307
- package/lib/orm/search.js +380 -380
- package/lib/orm/seed/data/commerce.js +136 -136
- package/lib/orm/seed/data/internet.js +111 -111
- package/lib/orm/seed/data/locations.js +204 -204
- package/lib/orm/seed/data/names.js +338 -338
- package/lib/orm/seed/data/person.js +128 -128
- package/lib/orm/seed/data/phone.js +211 -211
- package/lib/orm/seed/data/words.js +134 -134
- package/lib/orm/seed/factory.js +178 -178
- package/lib/orm/seed/fake.js +1186 -1186
- package/lib/orm/seed/index.js +18 -18
- package/lib/orm/seed/rng.js +70 -70
- package/lib/orm/seed/seeder.js +124 -124
- package/lib/orm/seed/unique.js +68 -68
- package/lib/orm/snapshot.js +366 -366
- package/lib/orm/tenancy.js +605 -605
- package/lib/orm/views.js +350 -350
- package/lib/router/index.js +436 -436
- package/lib/sse/index.js +8 -8
- package/lib/sse/stream.js +349 -349
- package/lib/ws/connection.js +451 -451
- package/lib/ws/handshake.js +125 -125
- package/lib/ws/index.js +14 -14
- package/lib/ws/room.js +223 -223
- package/package.json +73 -73
- package/types/app.d.ts +223 -223
- package/types/auth.d.ts +520 -520
- package/types/body.d.ts +14 -0
- package/types/cli.d.ts +2 -0
- package/types/cluster.d.ts +75 -75
- package/types/env.d.ts +80 -80
- package/types/errors.d.ts +316 -316
- package/types/fetch.d.ts +43 -43
- package/types/grpc.d.ts +432 -432
- package/types/index.d.ts +384 -384
- package/types/lifecycle.d.ts +60 -60
- package/types/middleware.d.ts +320 -320
- package/types/observe.d.ts +304 -304
- package/types/orm.d.ts +1887 -1887
- package/types/request.d.ts +109 -109
- package/types/response.d.ts +157 -157
- package/types/router.d.ts +78 -78
- package/types/sse.d.ts +78 -78
- package/types/websocket.d.ts +126 -126
|
@@ -1,204 +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
|
-
};
|
|
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
|
+
};
|