-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathParserCountry.go
More file actions
529 lines (525 loc) · 8.43 KB
/
Copy pathParserCountry.go
File metadata and controls
529 lines (525 loc) · 8.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
package cff
import (
"errors"
"gopkg.in/yaml.v3"
)
//MarshalYAML serialises the Country to YAML and validates the data
func (t Country) MarshalYAML() (interface{}, error) {
if !CountryExists(string(t)) {
return nil, errors.New("invalid Country: " + string(t))
}
return string(t), nil
}
//UnmarshalYAML checks if the data is a valid Country
func (t *Country) UnmarshalYAML(v *yaml.Node) error {
if !CountryExists(v.Value) {
return errors.New("country does not exist")
}
*t = Country(v.Value)
return nil
}
//CountryExists checks if a Country exists
func CountryExists(country string) bool {
switch Country(country) {
case COUNTRY_AD:
return true
case COUNTRY_AE:
return true
case COUNTRY_AF:
return true
case COUNTRY_AG:
return true
case COUNTRY_AI:
return true
case COUNTRY_AL:
return true
case COUNTRY_AM:
return true
case COUNTRY_AO:
return true
case COUNTRY_AQ:
return true
case COUNTRY_AR:
return true
case COUNTRY_AS:
return true
case COUNTRY_AT:
return true
case COUNTRY_AU:
return true
case COUNTRY_AW:
return true
case COUNTRY_AX:
return true
case COUNTRY_AZ:
return true
case COUNTRY_BA:
return true
case COUNTRY_BB:
return true
case COUNTRY_BD:
return true
case COUNTRY_BE:
return true
case COUNTRY_BF:
return true
case COUNTRY_BG:
return true
case COUNTRY_BH:
return true
case COUNTRY_BI:
return true
case COUNTRY_BJ:
return true
case COUNTRY_BL:
return true
case COUNTRY_BM:
return true
case COUNTRY_BN:
return true
case COUNTRY_BO:
return true
case COUNTRY_BQ:
return true
case COUNTRY_BR:
return true
case COUNTRY_BS:
return true
case COUNTRY_BT:
return true
case COUNTRY_BV:
return true
case COUNTRY_BW:
return true
case COUNTRY_BY:
return true
case COUNTRY_BZ:
return true
case COUNTRY_CA:
return true
case COUNTRY_CC:
return true
case COUNTRY_CD:
return true
case COUNTRY_CF:
return true
case COUNTRY_CG:
return true
case COUNTRY_CH:
return true
case COUNTRY_CI:
return true
case COUNTRY_CK:
return true
case COUNTRY_CL:
return true
case COUNTRY_CM:
return true
case COUNTRY_CN:
return true
case COUNTRY_CO:
return true
case COUNTRY_CR:
return true
case COUNTRY_CU:
return true
case COUNTRY_CV:
return true
case COUNTRY_CW:
return true
case COUNTRY_CX:
return true
case COUNTRY_CY:
return true
case COUNTRY_CZ:
return true
case COUNTRY_DE:
return true
case COUNTRY_DJ:
return true
case COUNTRY_DK:
return true
case COUNTRY_DM:
return true
case COUNTRY_DO:
return true
case COUNTRY_DZ:
return true
case COUNTRY_EC:
return true
case COUNTRY_EE:
return true
case COUNTRY_EG:
return true
case COUNTRY_EH:
return true
case COUNTRY_ER:
return true
case COUNTRY_ES:
return true
case COUNTRY_ET:
return true
case COUNTRY_FI:
return true
case COUNTRY_FJ:
return true
case COUNTRY_FK:
return true
case COUNTRY_FM:
return true
case COUNTRY_FO:
return true
case COUNTRY_FR:
return true
case COUNTRY_GA:
return true
case COUNTRY_GB:
return true
case COUNTRY_GD:
return true
case COUNTRY_GE:
return true
case COUNTRY_GF:
return true
case COUNTRY_GG:
return true
case COUNTRY_GH:
return true
case COUNTRY_GI:
return true
case COUNTRY_GL:
return true
case COUNTRY_GM:
return true
case COUNTRY_GN:
return true
case COUNTRY_GP:
return true
case COUNTRY_GQ:
return true
case COUNTRY_GR:
return true
case COUNTRY_GS:
return true
case COUNTRY_GT:
return true
case COUNTRY_GU:
return true
case COUNTRY_GW:
return true
case COUNTRY_GY:
return true
case COUNTRY_HK:
return true
case COUNTRY_HM:
return true
case COUNTRY_HN:
return true
case COUNTRY_HR:
return true
case COUNTRY_HT:
return true
case COUNTRY_HU:
return true
case COUNTRY_ID:
return true
case COUNTRY_IE:
return true
case COUNTRY_IL:
return true
case COUNTRY_IM:
return true
case COUNTRY_IN:
return true
case COUNTRY_IO:
return true
case COUNTRY_IQ:
return true
case COUNTRY_IR:
return true
case COUNTRY_IS:
return true
case COUNTRY_IT:
return true
case COUNTRY_JE:
return true
case COUNTRY_JM:
return true
case COUNTRY_JO:
return true
case COUNTRY_JP:
return true
case COUNTRY_KE:
return true
case COUNTRY_KG:
return true
case COUNTRY_KH:
return true
case COUNTRY_KI:
return true
case COUNTRY_KM:
return true
case COUNTRY_KN:
return true
case COUNTRY_KP:
return true
case COUNTRY_KR:
return true
case COUNTRY_KW:
return true
case COUNTRY_KY:
return true
case COUNTRY_KZ:
return true
case COUNTRY_LA:
return true
case COUNTRY_LB:
return true
case COUNTRY_LC:
return true
case COUNTRY_LI:
return true
case COUNTRY_LK:
return true
case COUNTRY_LR:
return true
case COUNTRY_LS:
return true
case COUNTRY_LT:
return true
case COUNTRY_LU:
return true
case COUNTRY_LV:
return true
case COUNTRY_LY:
return true
case COUNTRY_MA:
return true
case COUNTRY_MC:
return true
case COUNTRY_MD:
return true
case COUNTRY_ME:
return true
case COUNTRY_MF:
return true
case COUNTRY_MG:
return true
case COUNTRY_MH:
return true
case COUNTRY_MK:
return true
case COUNTRY_ML:
return true
case COUNTRY_MM:
return true
case COUNTRY_MN:
return true
case COUNTRY_MO:
return true
case COUNTRY_MP:
return true
case COUNTRY_MQ:
return true
case COUNTRY_MR:
return true
case COUNTRY_MS:
return true
case COUNTRY_MT:
return true
case COUNTRY_MU:
return true
case COUNTRY_MV:
return true
case COUNTRY_MW:
return true
case COUNTRY_MX:
return true
case COUNTRY_MY:
return true
case COUNTRY_MZ:
return true
case COUNTRY_NA:
return true
case COUNTRY_NC:
return true
case COUNTRY_NE:
return true
case COUNTRY_NF:
return true
case COUNTRY_NG:
return true
case COUNTRY_NI:
return true
case COUNTRY_NL:
return true
case COUNTRY_NO:
return true
case COUNTRY_NP:
return true
case COUNTRY_NR:
return true
case COUNTRY_NU:
return true
case COUNTRY_NZ:
return true
case COUNTRY_OM:
return true
case COUNTRY_PA:
return true
case COUNTRY_PE:
return true
case COUNTRY_PF:
return true
case COUNTRY_PG:
return true
case COUNTRY_PH:
return true
case COUNTRY_PK:
return true
case COUNTRY_PL:
return true
case COUNTRY_PM:
return true
case COUNTRY_PN:
return true
case COUNTRY_PR:
return true
case COUNTRY_PS:
return true
case COUNTRY_PT:
return true
case COUNTRY_PW:
return true
case COUNTRY_PY:
return true
case COUNTRY_QA:
return true
case COUNTRY_RE:
return true
case COUNTRY_RO:
return true
case COUNTRY_RS:
return true
case COUNTRY_RU:
return true
case COUNTRY_RW:
return true
case COUNTRY_SA:
return true
case COUNTRY_SB:
return true
case COUNTRY_SC:
return true
case COUNTRY_SD:
return true
case COUNTRY_SE:
return true
case COUNTRY_SG:
return true
case COUNTRY_SH:
return true
case COUNTRY_SI:
return true
case COUNTRY_SJ:
return true
case COUNTRY_SK:
return true
case COUNTRY_SL:
return true
case COUNTRY_SM:
return true
case COUNTRY_SN:
return true
case COUNTRY_SO:
return true
case COUNTRY_SR:
return true
case COUNTRY_SS:
return true
case COUNTRY_ST:
return true
case COUNTRY_SV:
return true
case COUNTRY_SX:
return true
case COUNTRY_SY:
return true
case COUNTRY_SZ:
return true
case COUNTRY_TC:
return true
case COUNTRY_TD:
return true
case COUNTRY_TF:
return true
case COUNTRY_TG:
return true
case COUNTRY_TH:
return true
case COUNTRY_TJ:
return true
case COUNTRY_TK:
return true
case COUNTRY_TL:
return true
case COUNTRY_TM:
return true
case COUNTRY_TN:
return true
case COUNTRY_TO:
return true
case COUNTRY_TR:
return true
case COUNTRY_TT:
return true
case COUNTRY_TV:
return true
case COUNTRY_TW:
return true
case COUNTRY_TZ:
return true
case COUNTRY_UA:
return true
case COUNTRY_UG:
return true
case COUNTRY_UM:
return true
case COUNTRY_US:
return true
case COUNTRY_UY:
return true
case COUNTRY_UZ:
return true
case COUNTRY_VA:
return true
case COUNTRY_VC:
return true
case COUNTRY_VE:
return true
case COUNTRY_VG:
return true
case COUNTRY_VI:
return true
case COUNTRY_VN:
return true
case COUNTRY_VU:
return true
case COUNTRY_WF:
return true
case COUNTRY_WS:
return true
case COUNTRY_YE:
return true
case COUNTRY_YT:
return true
case COUNTRY_ZA:
return true
case COUNTRY_ZM:
return true
case COUNTRY_ZW:
return true
default:
return false
}
}