cozy-client 46.11.0 → 47.0.0

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.
@@ -1,1269 +1,1005 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.checkCountryCode = exports.COUNTRIES_ISO = void 0;
7
- // https://gist.github.com/incredimike/1469814
8
+ exports.getEmojiByCountry = exports.getAllNationalities = exports.getNationalityByCodeISO = exports.getAllCountryNames = exports.getCountryNameByCodeISO = exports.getAllCountries = exports.checkCountryCode = exports.COUNTRIES_ISO = void 0;
8
9
 
9
- /**
10
- * @typedef {Object} CountryISO
11
- * @property {string} code2 - ISO 3166-1 alpha-2
12
- * @property {string} code3 - ISO 3166-1 alpha-3
13
- * @property {string} name - Country name
14
- * @property {string} number - ISO 3166-1 numeric
15
- */
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _locales = require("./locales");
13
+
14
+ var _logger = _interopRequireDefault(require("../../logger"));
15
+
16
+ // https://gist.github.com/incredimike/1469814
16
17
 
17
18
  /**
18
19
  * List of countries with their ISO codes
19
20
  *
20
21
  * @constant
21
- * @type {CountryISO[]}
22
+ * @type {import('../../types').CountryISO[]}
22
23
  */
23
24
  var COUNTRIES_ISO = [{
24
25
  code2: 'AF',
25
26
  code3: 'AFG',
26
- name: 'Afghanistan',
27
27
  number: '004'
28
28
  }, {
29
29
  code2: 'AL',
30
30
  code3: 'ALB',
31
- name: 'Albania',
32
31
  number: '008'
33
32
  }, {
34
33
  code2: 'DZ',
35
34
  code3: 'DZA',
36
- name: 'Algeria',
37
35
  number: '012'
38
- }, {
39
- code2: 'AS',
40
- code3: 'ASM',
41
- name: 'American Samoa',
42
- number: '016'
43
36
  }, {
44
37
  code2: 'AD',
45
38
  code3: 'AND',
46
- name: 'Andorra',
47
39
  number: '020'
48
40
  }, {
49
41
  code2: 'AO',
50
42
  code3: 'AGO',
51
- name: 'Angola',
52
43
  number: '024'
53
- }, {
54
- code2: 'AI',
55
- code3: 'AIA',
56
- name: 'Anguilla',
57
- number: '660'
58
- }, {
59
- code2: 'AQ',
60
- code3: 'ATA',
61
- name: 'Antarctica',
62
- number: '010'
63
44
  }, {
64
45
  code2: 'AG',
65
46
  code3: 'ATG',
66
- name: 'Antigua and Barbuda',
67
47
  number: '028'
68
48
  }, {
69
49
  code2: 'AR',
70
50
  code3: 'ARG',
71
- name: 'Argentina',
72
51
  number: '032'
73
52
  }, {
74
53
  code2: 'AM',
75
54
  code3: 'ARM',
76
- name: 'Armenia',
77
55
  number: '051'
78
- }, {
79
- code2: 'AW',
80
- code3: 'ABW',
81
- name: 'Aruba',
82
- number: '533'
83
56
  }, {
84
57
  code2: 'AU',
85
58
  code3: 'AUS',
86
- name: 'Australia',
87
59
  number: '036'
88
60
  }, {
89
61
  code2: 'AT',
90
62
  code3: 'AUT',
91
- name: 'Austria',
92
63
  number: '040'
93
64
  }, {
94
65
  code2: 'AZ',
95
66
  code3: 'AZE',
96
- name: 'Azerbaijan',
97
67
  number: '031'
98
68
  }, {
99
69
  code2: 'BS',
100
70
  code3: 'BHS',
101
- name: 'Bahamas (the)',
102
71
  number: '044'
103
72
  }, {
104
73
  code2: 'BH',
105
74
  code3: 'BHR',
106
- name: 'Bahrain',
107
75
  number: '048'
108
76
  }, {
109
77
  code2: 'BD',
110
78
  code3: 'BGD',
111
- name: 'Bangladesh',
112
79
  number: '050'
113
80
  }, {
114
81
  code2: 'BB',
115
82
  code3: 'BRB',
116
- name: 'Barbados',
117
83
  number: '052'
118
84
  }, {
119
85
  code2: 'BY',
120
86
  code3: 'BLR',
121
- name: 'Belarus',
122
87
  number: '112'
123
88
  }, {
124
89
  code2: 'BE',
125
90
  code3: 'BEL',
126
- name: 'Belgium',
127
91
  number: '056'
128
92
  }, {
129
93
  code2: 'BZ',
130
94
  code3: 'BLZ',
131
- name: 'Belize',
132
95
  number: '084'
133
96
  }, {
134
97
  code2: 'BJ',
135
98
  code3: 'BEN',
136
- name: 'Benin',
137
99
  number: '204'
138
100
  }, {
139
101
  code2: 'BM',
140
102
  code3: 'BMU',
141
- name: 'Bermuda',
142
103
  number: '060'
143
104
  }, {
144
105
  code2: 'BT',
145
106
  code3: 'BTN',
146
- name: 'Bhutan',
147
107
  number: '064'
148
108
  }, {
149
109
  code2: 'BO',
150
110
  code3: 'BOL',
151
- name: 'Bolivia (Plurinational State of)',
152
111
  number: '068'
153
112
  }, {
154
113
  code2: 'BQ',
155
114
  code3: 'BES',
156
- name: 'Bonaire, Sint Eustatius and Saba',
157
115
  number: '535'
158
116
  }, {
159
117
  code2: 'BA',
160
118
  code3: 'BIH',
161
- name: 'Bosnia and Herzegovina',
162
119
  number: '070'
163
120
  }, {
164
121
  code2: 'BW',
165
122
  code3: 'BWA',
166
- name: 'Botswana',
167
123
  number: '072'
168
124
  }, {
169
125
  code2: 'BV',
170
126
  code3: 'BVT',
171
- name: 'Bouvet Island',
172
127
  number: '074'
173
128
  }, {
174
129
  code2: 'BR',
175
130
  code3: 'BRA',
176
- name: 'Brazil',
177
131
  number: '076'
178
132
  }, {
179
133
  code2: 'IO',
180
134
  code3: 'IOT',
181
- name: 'British Indian Ocean Territory (the)',
182
135
  number: '086'
183
136
  }, {
184
137
  code2: 'BN',
185
138
  code3: 'BRN',
186
- name: 'Brunei Darussalam',
187
139
  number: '096'
188
140
  }, {
189
141
  code2: 'BG',
190
142
  code3: 'BGR',
191
- name: 'Bulgaria',
192
143
  number: '100'
193
144
  }, {
194
145
  code2: 'BF',
195
146
  code3: 'BFA',
196
- name: 'Burkina Faso',
197
147
  number: '854'
198
148
  }, {
199
149
  code2: 'BI',
200
150
  code3: 'BDI',
201
- name: 'Burundi',
202
151
  number: '108'
203
152
  }, {
204
153
  code2: 'CV',
205
154
  code3: 'CPV',
206
- name: 'Cabo Verde',
207
155
  number: '132'
208
156
  }, {
209
157
  code2: 'KH',
210
158
  code3: 'KHM',
211
- name: 'Cambodia',
212
159
  number: '116'
213
160
  }, {
214
161
  code2: 'CM',
215
162
  code3: 'CMR',
216
- name: 'Cameroon',
217
163
  number: '120'
218
164
  }, {
219
165
  code2: 'CA',
220
166
  code3: 'CAN',
221
- name: 'Canada',
222
167
  number: '124'
223
168
  }, {
224
169
  code2: 'KY',
225
170
  code3: 'CYM',
226
- name: 'Cayman Islands (the)',
227
171
  number: '136'
228
172
  }, {
229
173
  code2: 'CF',
230
174
  code3: 'CAF',
231
- name: 'Central African Republic (the)',
232
175
  number: '140'
233
176
  }, {
234
177
  code2: 'TD',
235
178
  code3: 'TCD',
236
- name: 'Chad',
237
179
  number: '148'
238
180
  }, {
239
181
  code2: 'CL',
240
182
  code3: 'CHL',
241
- name: 'Chile',
242
183
  number: '152'
243
184
  }, {
244
185
  code2: 'CN',
245
186
  code3: 'CHN',
246
- name: 'China',
247
187
  number: '156'
248
188
  }, {
249
189
  code2: 'CX',
250
190
  code3: 'CXR',
251
- name: 'Christmas Island',
252
191
  number: '162'
253
192
  }, {
254
193
  code2: 'CC',
255
194
  code3: 'CCK',
256
- name: 'Cocos (Keeling) Islands (the)',
257
195
  number: '166'
258
196
  }, {
259
197
  code2: 'CO',
260
198
  code3: 'COL',
261
- name: 'Colombia',
262
199
  number: '170'
263
200
  }, {
264
201
  code2: 'KM',
265
202
  code3: 'COM',
266
- name: 'Comoros (the)',
267
203
  number: '174'
268
204
  }, {
269
205
  code2: 'CD',
270
206
  code3: 'COD',
271
- name: 'Congo (the Democratic Republic of the)',
272
207
  number: '180'
273
208
  }, {
274
209
  code2: 'CG',
275
210
  code3: 'COG',
276
- name: 'Congo (the)',
277
211
  number: '178'
278
212
  }, {
279
213
  code2: 'CK',
280
214
  code3: 'COK',
281
- name: 'Cook Islands (the)',
282
215
  number: '184'
283
216
  }, {
284
217
  code2: 'CR',
285
218
  code3: 'CRI',
286
- name: 'Costa Rica',
287
219
  number: '188'
288
220
  }, {
289
221
  code2: 'HR',
290
222
  code3: 'HRV',
291
- name: 'Croatia',
292
223
  number: '191'
293
224
  }, {
294
225
  code2: 'CU',
295
226
  code3: 'CUB',
296
- name: 'Cuba',
297
227
  number: '192'
298
228
  }, {
299
229
  code2: 'CW',
300
230
  code3: 'CUW',
301
- name: 'Curaçao',
302
231
  number: '531'
303
232
  }, {
304
233
  code2: 'CY',
305
234
  code3: 'CYP',
306
- name: 'Cyprus',
307
235
  number: '196'
308
236
  }, {
309
237
  code2: 'CZ',
310
238
  code3: 'CZE',
311
- name: 'Czechia',
312
239
  number: '203'
313
240
  }, {
314
241
  code2: 'CI',
315
242
  code3: 'CIV',
316
- name: "Côte d'Ivoire",
317
243
  number: '384'
318
244
  }, {
319
245
  code2: 'DK',
320
246
  code3: 'DNK',
321
- name: 'Denmark',
322
247
  number: '208'
323
248
  }, {
324
249
  code2: 'DJ',
325
250
  code3: 'DJI',
326
- name: 'Djibouti',
327
251
  number: '262'
328
252
  }, {
329
253
  code2: 'DM',
330
254
  code3: 'DMA',
331
- name: 'Dominica',
332
255
  number: '212'
333
256
  }, {
334
257
  code2: 'DO',
335
258
  code3: 'DOM',
336
- name: 'Dominican Republic (the)',
337
259
  number: '214'
338
260
  }, {
339
261
  code2: 'EC',
340
262
  code3: 'ECU',
341
- name: 'Ecuador',
342
263
  number: '218'
343
264
  }, {
344
265
  code2: 'EG',
345
266
  code3: 'EGY',
346
- name: 'Egypt',
347
267
  number: '818'
348
268
  }, {
349
269
  code2: 'SV',
350
270
  code3: 'SLV',
351
- name: 'El Salvador',
352
271
  number: '222'
353
272
  }, {
354
273
  code2: 'GQ',
355
274
  code3: 'GNQ',
356
- name: 'Equatorial Guinea',
357
275
  number: '226'
358
276
  }, {
359
277
  code2: 'ER',
360
278
  code3: 'ERI',
361
- name: 'Eritrea',
362
279
  number: '232'
363
280
  }, {
364
281
  code2: 'EE',
365
282
  code3: 'EST',
366
- name: 'Estonia',
367
283
  number: '233'
368
284
  }, {
369
285
  code2: 'SZ',
370
286
  code3: 'SWZ',
371
- name: 'Eswatini',
372
287
  number: '748'
373
288
  }, {
374
289
  code2: 'ET',
375
290
  code3: 'ETH',
376
- name: 'Ethiopia',
377
291
  number: '231'
378
292
  }, {
379
293
  code2: 'FK',
380
294
  code3: 'FLK',
381
- name: 'Falkland Islands (the) [Malvinas]',
382
295
  number: '238'
383
296
  }, {
384
297
  code2: 'FO',
385
298
  code3: 'FRO',
386
- name: 'Faroe Islands (the)',
387
299
  number: '234'
388
300
  }, {
389
301
  code2: 'FJ',
390
302
  code3: 'FJI',
391
- name: 'Fiji',
392
303
  number: '242'
393
304
  }, {
394
305
  code2: 'FI',
395
306
  code3: 'FIN',
396
- name: 'Finland',
397
307
  number: '246'
398
308
  }, {
399
309
  code2: 'FR',
400
310
  code3: 'FRA',
401
- name: 'France',
402
311
  number: '250'
403
312
  }, {
404
313
  code2: 'GF',
405
314
  code3: 'GUF',
406
- name: 'French Guiana',
407
315
  number: '254'
408
316
  }, {
409
317
  code2: 'PF',
410
318
  code3: 'PYF',
411
- name: 'French Polynesia',
412
319
  number: '258'
413
320
  }, {
414
321
  code2: 'TF',
415
322
  code3: 'ATF',
416
- name: 'French Southern Territories (the)',
417
323
  number: '260'
418
324
  }, {
419
325
  code2: 'GA',
420
326
  code3: 'GAB',
421
- name: 'Gabon',
422
327
  number: '266'
423
328
  }, {
424
329
  code2: 'GM',
425
330
  code3: 'GMB',
426
- name: 'Gambia (the)',
427
331
  number: '270'
428
332
  }, {
429
333
  code2: 'GE',
430
334
  code3: 'GEO',
431
- name: 'Georgia',
432
335
  number: '268'
433
336
  }, {
434
337
  code2: 'DE',
435
338
  code3: 'DEU',
436
- name: 'Germany',
437
339
  number: '276'
438
340
  }, {
439
341
  code2: 'GH',
440
342
  code3: 'GHA',
441
- name: 'Ghana',
442
343
  number: '288'
443
344
  }, {
444
345
  code2: 'GI',
445
346
  code3: 'GIB',
446
- name: 'Gibraltar',
447
347
  number: '292'
448
348
  }, {
449
349
  code2: 'GR',
450
350
  code3: 'GRC',
451
- name: 'Greece',
452
351
  number: '300'
453
352
  }, {
454
353
  code2: 'GL',
455
354
  code3: 'GRL',
456
- name: 'Greenland',
457
355
  number: '304'
458
356
  }, {
459
357
  code2: 'GD',
460
358
  code3: 'GRD',
461
- name: 'Grenada',
462
359
  number: '308'
463
360
  }, {
464
361
  code2: 'GP',
465
362
  code3: 'GLP',
466
- name: 'Guadeloupe',
467
363
  number: '312'
468
364
  }, {
469
365
  code2: 'GU',
470
366
  code3: 'GUM',
471
- name: 'Guam',
472
367
  number: '316'
473
368
  }, {
474
369
  code2: 'GT',
475
370
  code3: 'GTM',
476
- name: 'Guatemala',
477
371
  number: '320'
478
372
  }, {
479
373
  code2: 'GG',
480
374
  code3: 'GGY',
481
- name: 'Guernsey',
482
375
  number: '831'
483
376
  }, {
484
377
  code2: 'GN',
485
378
  code3: 'GIN',
486
- name: 'Guinea',
487
379
  number: '324'
488
380
  }, {
489
381
  code2: 'GW',
490
382
  code3: 'GNB',
491
- name: 'Guinea-Bissau',
492
383
  number: '624'
493
384
  }, {
494
385
  code2: 'GY',
495
386
  code3: 'GUY',
496
- name: 'Guyana',
497
387
  number: '328'
498
388
  }, {
499
389
  code2: 'HT',
500
390
  code3: 'HTI',
501
- name: 'Haiti',
502
391
  number: '332'
503
392
  }, {
504
393
  code2: 'HM',
505
394
  code3: 'HMD',
506
- name: 'Heard Island and McDonald Islands',
507
395
  number: '334'
508
396
  }, {
509
397
  code2: 'VA',
510
398
  code3: 'VAT',
511
- name: 'Holy See (the)',
512
399
  number: '336'
513
400
  }, {
514
401
  code2: 'HN',
515
402
  code3: 'HND',
516
- name: 'Honduras',
517
403
  number: '340'
518
404
  }, {
519
405
  code2: 'HK',
520
406
  code3: 'HKG',
521
- name: 'Hong Kong',
522
407
  number: '344'
523
408
  }, {
524
409
  code2: 'HU',
525
410
  code3: 'HUN',
526
- name: 'Hungary',
527
411
  number: '348'
528
412
  }, {
529
413
  code2: 'IS',
530
414
  code3: 'ISL',
531
- name: 'Iceland',
532
415
  number: '352'
533
416
  }, {
534
417
  code2: 'IN',
535
418
  code3: 'IND',
536
- name: 'India',
537
419
  number: '356'
538
420
  }, {
539
421
  code2: 'ID',
540
422
  code3: 'IDN',
541
- name: 'Indonesia',
542
423
  number: '360'
543
424
  }, {
544
425
  code2: 'IR',
545
426
  code3: 'IRN',
546
- name: 'Iran (Islamic Republic of)',
547
427
  number: '364'
548
428
  }, {
549
429
  code2: 'IQ',
550
430
  code3: 'IRQ',
551
- name: 'Iraq',
552
431
  number: '368'
553
432
  }, {
554
433
  code2: 'IE',
555
434
  code3: 'IRL',
556
- name: 'Ireland',
557
435
  number: '372'
558
436
  }, {
559
437
  code2: 'IM',
560
438
  code3: 'IMN',
561
- name: 'Isle of Man',
562
439
  number: '833'
563
440
  }, {
564
441
  code2: 'IL',
565
442
  code3: 'ISR',
566
- name: 'Israel',
567
443
  number: '376'
568
444
  }, {
569
445
  code2: 'IT',
570
446
  code3: 'ITA',
571
- name: 'Italy',
572
447
  number: '380'
573
448
  }, {
574
449
  code2: 'JM',
575
450
  code3: 'JAM',
576
- name: 'Jamaica',
577
451
  number: '388'
578
452
  }, {
579
453
  code2: 'JP',
580
454
  code3: 'JPN',
581
- name: 'Japan',
582
455
  number: '392'
583
456
  }, {
584
457
  code2: 'JE',
585
458
  code3: 'JEY',
586
- name: 'Jersey',
587
459
  number: '832'
588
460
  }, {
589
461
  code2: 'JO',
590
462
  code3: 'JOR',
591
- name: 'Jordan',
592
463
  number: '400'
593
464
  }, {
594
465
  code2: 'KZ',
595
466
  code3: 'KAZ',
596
- name: 'Kazakhstan',
597
467
  number: '398'
598
468
  }, {
599
469
  code2: 'KE',
600
470
  code3: 'KEN',
601
- name: 'Kenya',
602
471
  number: '404'
603
472
  }, {
604
473
  code2: 'KI',
605
474
  code3: 'KIR',
606
- name: 'Kiribati',
607
475
  number: '296'
608
476
  }, {
609
477
  code2: 'KP',
610
478
  code3: 'PRK',
611
- name: "Korea (the Democratic People's Republic of)",
612
479
  number: '408'
613
480
  }, {
614
481
  code2: 'KR',
615
482
  code3: 'KOR',
616
- name: 'Korea (the Republic of)',
617
483
  number: '410'
618
484
  }, {
619
485
  code2: 'KW',
620
486
  code3: 'KWT',
621
- name: 'Kuwait',
622
487
  number: '414'
623
488
  }, {
624
489
  code2: 'KG',
625
490
  code3: 'KGZ',
626
- name: 'Kyrgyzstan',
627
491
  number: '417'
628
492
  }, {
629
493
  code2: 'LA',
630
494
  code3: 'LAO',
631
- name: "Lao People's Democratic Republic (the)",
632
495
  number: '418'
633
496
  }, {
634
497
  code2: 'LV',
635
498
  code3: 'LVA',
636
- name: 'Latvia',
637
499
  number: '428'
638
500
  }, {
639
501
  code2: 'LB',
640
502
  code3: 'LBN',
641
- name: 'Lebanon',
642
503
  number: '422'
643
504
  }, {
644
505
  code2: 'LS',
645
506
  code3: 'LSO',
646
- name: 'Lesotho',
647
507
  number: '426'
648
508
  }, {
649
509
  code2: 'LR',
650
510
  code3: 'LBR',
651
- name: 'Liberia',
652
511
  number: '430'
653
512
  }, {
654
513
  code2: 'LY',
655
514
  code3: 'LBY',
656
- name: 'Libya',
657
515
  number: '434'
658
516
  }, {
659
517
  code2: 'LI',
660
518
  code3: 'LIE',
661
- name: 'Liechtenstein',
662
519
  number: '438'
663
520
  }, {
664
521
  code2: 'LT',
665
522
  code3: 'LTU',
666
- name: 'Lithuania',
667
523
  number: '440'
668
524
  }, {
669
525
  code2: 'LU',
670
526
  code3: 'LUX',
671
- name: 'Luxembourg',
672
527
  number: '442'
673
528
  }, {
674
529
  code2: 'MO',
675
530
  code3: 'MAC',
676
- name: 'Macao',
677
531
  number: '446'
678
532
  }, {
679
533
  code2: 'MG',
680
534
  code3: 'MDG',
681
- name: 'Madagascar',
682
535
  number: '450'
683
536
  }, {
684
537
  code2: 'MW',
685
538
  code3: 'MWI',
686
- name: 'Malawi',
687
539
  number: '454'
688
540
  }, {
689
541
  code2: 'MY',
690
542
  code3: 'MYS',
691
- name: 'Malaysia',
692
543
  number: '458'
693
544
  }, {
694
545
  code2: 'MV',
695
546
  code3: 'MDV',
696
- name: 'Maldives',
697
547
  number: '462'
698
548
  }, {
699
549
  code2: 'ML',
700
550
  code3: 'MLI',
701
- name: 'Mali',
702
551
  number: '466'
703
552
  }, {
704
553
  code2: 'MT',
705
554
  code3: 'MLT',
706
- name: 'Malta',
707
555
  number: '470'
708
556
  }, {
709
557
  code2: 'MH',
710
558
  code3: 'MHL',
711
- name: 'Marshall Islands (the)',
712
559
  number: '584'
713
560
  }, {
714
561
  code2: 'MQ',
715
562
  code3: 'MTQ',
716
- name: 'Martinique',
717
563
  number: '474'
718
564
  }, {
719
565
  code2: 'MR',
720
566
  code3: 'MRT',
721
- name: 'Mauritania',
722
567
  number: '478'
723
568
  }, {
724
569
  code2: 'MU',
725
570
  code3: 'MUS',
726
- name: 'Mauritius',
727
571
  number: '480'
728
572
  }, {
729
573
  code2: 'YT',
730
574
  code3: 'MYT',
731
- name: 'Mayotte',
732
575
  number: '175'
733
576
  }, {
734
577
  code2: 'MX',
735
578
  code3: 'MEX',
736
- name: 'Mexico',
737
579
  number: '484'
738
580
  }, {
739
581
  code2: 'FM',
740
582
  code3: 'FSM',
741
- name: 'Micronesia (Federated States of)',
742
583
  number: '583'
743
584
  }, {
744
585
  code2: 'MD',
745
586
  code3: 'MDA',
746
- name: 'Moldova (the Republic of)',
747
587
  number: '498'
748
588
  }, {
749
589
  code2: 'MC',
750
590
  code3: 'MCO',
751
- name: 'Monaco',
752
591
  number: '492'
753
592
  }, {
754
593
  code2: 'MN',
755
594
  code3: 'MNG',
756
- name: 'Mongolia',
757
595
  number: '496'
758
596
  }, {
759
597
  code2: 'ME',
760
598
  code3: 'MNE',
761
- name: 'Montenegro',
762
599
  number: '499'
763
600
  }, {
764
601
  code2: 'MS',
765
602
  code3: 'MSR',
766
- name: 'Montserrat',
767
603
  number: '500'
768
604
  }, {
769
605
  code2: 'MA',
770
606
  code3: 'MAR',
771
- name: 'Morocco',
772
607
  number: '504'
773
608
  }, {
774
609
  code2: 'MZ',
775
610
  code3: 'MOZ',
776
- name: 'Mozambique',
777
611
  number: '508'
778
612
  }, {
779
613
  code2: 'MM',
780
614
  code3: 'MMR',
781
- name: 'Myanmar',
782
615
  number: '104'
783
616
  }, {
784
617
  code2: 'NA',
785
618
  code3: 'NAM',
786
- name: 'Namibia',
787
619
  number: '516'
788
620
  }, {
789
621
  code2: 'NR',
790
622
  code3: 'NRU',
791
- name: 'Nauru',
792
623
  number: '520'
793
624
  }, {
794
625
  code2: 'NP',
795
626
  code3: 'NPL',
796
- name: 'Nepal',
797
627
  number: '524'
798
628
  }, {
799
629
  code2: 'NL',
800
630
  code3: 'NLD',
801
- name: 'Netherlands (the)',
802
631
  number: '528'
803
632
  }, {
804
633
  code2: 'NC',
805
634
  code3: 'NCL',
806
- name: 'New Caledonia',
807
635
  number: '540'
808
636
  }, {
809
637
  code2: 'NZ',
810
638
  code3: 'NZL',
811
- name: 'New Zealand',
812
639
  number: '554'
813
640
  }, {
814
641
  code2: 'NI',
815
642
  code3: 'NIC',
816
- name: 'Nicaragua',
817
643
  number: '558'
818
644
  }, {
819
645
  code2: 'NE',
820
646
  code3: 'NER',
821
- name: 'Niger (the)',
822
647
  number: '562'
823
648
  }, {
824
649
  code2: 'NG',
825
650
  code3: 'NGA',
826
- name: 'Nigeria',
827
651
  number: '566'
828
652
  }, {
829
653
  code2: 'NU',
830
654
  code3: 'NIU',
831
- name: 'Niue',
832
655
  number: '570'
833
656
  }, {
834
657
  code2: 'NF',
835
658
  code3: 'NFK',
836
- name: 'Norfolk Island',
837
659
  number: '574'
838
660
  }, {
839
661
  code2: 'MP',
840
662
  code3: 'MNP',
841
- name: 'Northern Mariana Islands (the)',
842
663
  number: '580'
843
664
  }, {
844
665
  code2: 'NO',
845
666
  code3: 'NOR',
846
- name: 'Norway',
847
667
  number: '578'
848
668
  }, {
849
669
  code2: 'OM',
850
670
  code3: 'OMN',
851
- name: 'Oman',
852
671
  number: '512'
853
672
  }, {
854
673
  code2: 'PK',
855
674
  code3: 'PAK',
856
- name: 'Pakistan',
857
675
  number: '586'
858
676
  }, {
859
677
  code2: 'PW',
860
678
  code3: 'PLW',
861
- name: 'Palau',
862
679
  number: '585'
863
680
  }, {
864
681
  code2: 'PS',
865
682
  code3: 'PSE',
866
- name: 'Palestine, State of',
867
683
  number: '275'
868
684
  }, {
869
685
  code2: 'PA',
870
686
  code3: 'PAN',
871
- name: 'Panama',
872
687
  number: '591'
873
688
  }, {
874
689
  code2: 'PG',
875
690
  code3: 'PNG',
876
- name: 'Papua New Guinea',
877
691
  number: '598'
878
692
  }, {
879
693
  code2: 'PY',
880
694
  code3: 'PRY',
881
- name: 'Paraguay',
882
695
  number: '600'
883
696
  }, {
884
697
  code2: 'PE',
885
698
  code3: 'PER',
886
- name: 'Peru',
887
699
  number: '604'
888
700
  }, {
889
701
  code2: 'PH',
890
702
  code3: 'PHL',
891
- name: 'Philippines (the)',
892
703
  number: '608'
893
704
  }, {
894
705
  code2: 'PN',
895
706
  code3: 'PCN',
896
- name: 'Pitcairn',
897
707
  number: '612'
898
708
  }, {
899
709
  code2: 'PL',
900
710
  code3: 'POL',
901
- name: 'Poland',
902
711
  number: '616'
903
712
  }, {
904
713
  code2: 'PT',
905
714
  code3: 'PRT',
906
- name: 'Portugal',
907
715
  number: '620'
908
716
  }, {
909
717
  code2: 'PR',
910
718
  code3: 'PRI',
911
- name: 'Puerto Rico',
912
719
  number: '630'
913
720
  }, {
914
721
  code2: 'QA',
915
722
  code3: 'QAT',
916
- name: 'Qatar',
917
723
  number: '634'
918
724
  }, {
919
725
  code2: 'MK',
920
726
  code3: 'MKD',
921
- name: 'Republic of North Macedonia',
922
727
  number: '807'
923
728
  }, {
924
729
  code2: 'RO',
925
730
  code3: 'ROU',
926
- name: 'Romania',
927
731
  number: '642'
928
732
  }, {
929
733
  code2: 'RU',
930
734
  code3: 'RUS',
931
- name: 'Russian Federation (the)',
932
735
  number: '643'
933
736
  }, {
934
737
  code2: 'RW',
935
738
  code3: 'RWA',
936
- name: 'Rwanda',
937
739
  number: '646'
938
740
  }, {
939
741
  code2: 'RE',
940
742
  code3: 'REU',
941
- name: 'Réunion',
942
743
  number: '638'
943
744
  }, {
944
745
  code2: 'BL',
945
746
  code3: 'BLM',
946
- name: 'Saint Barthélemy',
947
747
  number: '652'
948
748
  }, {
949
749
  code2: 'SH',
950
750
  code3: 'SHN',
951
- name: 'Saint Helena, Ascension and Tristan da Cunha',
952
751
  number: '654'
953
752
  }, {
954
753
  code2: 'KN',
955
754
  code3: 'KNA',
956
- name: 'Saint Kitts and Nevis',
957
755
  number: '659'
958
756
  }, {
959
757
  code2: 'LC',
960
758
  code3: 'LCA',
961
- name: 'Saint Lucia',
962
759
  number: '662'
963
760
  }, {
964
761
  code2: 'MF',
965
762
  code3: 'MAF',
966
- name: 'Saint Martin (French part)',
967
763
  number: '663'
968
764
  }, {
969
765
  code2: 'PM',
970
766
  code3: 'SPM',
971
- name: 'Saint Pierre and Miquelon',
972
767
  number: '666'
973
768
  }, {
974
769
  code2: 'VC',
975
770
  code3: 'VCT',
976
- name: 'Saint Vincent and the Grenadines',
977
771
  number: '670'
978
772
  }, {
979
773
  code2: 'WS',
980
774
  code3: 'WSM',
981
- name: 'Samoa',
982
775
  number: '882'
983
776
  }, {
984
777
  code2: 'SM',
985
778
  code3: 'SMR',
986
- name: 'San Marino',
987
779
  number: '674'
988
780
  }, {
989
781
  code2: 'ST',
990
782
  code3: 'STP',
991
- name: 'Sao Tome and Principe',
992
783
  number: '678'
993
784
  }, {
994
785
  code2: 'SA',
995
786
  code3: 'SAU',
996
- name: 'Saudi Arabia',
997
787
  number: '682'
998
788
  }, {
999
789
  code2: 'SN',
1000
790
  code3: 'SEN',
1001
- name: 'Senegal',
1002
791
  number: '686'
1003
792
  }, {
1004
793
  code2: 'RS',
1005
794
  code3: 'SRB',
1006
- name: 'Serbia',
1007
795
  number: '688'
1008
796
  }, {
1009
797
  code2: 'SC',
1010
798
  code3: 'SYC',
1011
- name: 'Seychelles',
1012
799
  number: '690'
1013
800
  }, {
1014
801
  code2: 'SL',
1015
802
  code3: 'SLE',
1016
- name: 'Sierra Leone',
1017
803
  number: '694'
1018
804
  }, {
1019
805
  code2: 'SG',
1020
806
  code3: 'SGP',
1021
- name: 'Singapore',
1022
807
  number: '702'
1023
808
  }, {
1024
809
  code2: 'SX',
1025
810
  code3: 'SXM',
1026
- name: 'Sint Maarten (Dutch part)',
1027
811
  number: '534'
1028
812
  }, {
1029
813
  code2: 'SK',
1030
814
  code3: 'SVK',
1031
- name: 'Slovakia',
1032
815
  number: '703'
1033
816
  }, {
1034
817
  code2: 'SI',
1035
818
  code3: 'SVN',
1036
- name: 'Slovenia',
1037
819
  number: '705'
1038
820
  }, {
1039
821
  code2: 'SB',
1040
822
  code3: 'SLB',
1041
- name: 'Solomon Islands',
1042
823
  number: '090'
1043
824
  }, {
1044
825
  code2: 'SO',
1045
826
  code3: 'SOM',
1046
- name: 'Somalia',
1047
827
  number: '706'
1048
828
  }, {
1049
829
  code2: 'ZA',
1050
830
  code3: 'ZAF',
1051
- name: 'South Africa',
1052
831
  number: '710'
1053
832
  }, {
1054
833
  code2: 'GS',
1055
834
  code3: 'SGS',
1056
- name: 'South Georgia and the South Sandwich Islands',
1057
835
  number: '239'
1058
836
  }, {
1059
837
  code2: 'SS',
1060
838
  code3: 'SSD',
1061
- name: 'South Sudan',
1062
839
  number: '728'
1063
840
  }, {
1064
841
  code2: 'ES',
1065
842
  code3: 'ESP',
1066
- name: 'Spain',
1067
843
  number: '724'
1068
844
  }, {
1069
845
  code2: 'LK',
1070
846
  code3: 'LKA',
1071
- name: 'Sri Lanka',
1072
847
  number: '144'
1073
848
  }, {
1074
849
  code2: 'SD',
1075
850
  code3: 'SDN',
1076
- name: 'Sudan (the)',
1077
851
  number: '729'
1078
852
  }, {
1079
853
  code2: 'SR',
1080
854
  code3: 'SUR',
1081
- name: 'Suriname',
1082
855
  number: '740'
1083
856
  }, {
1084
857
  code2: 'SJ',
1085
858
  code3: 'SJM',
1086
- name: 'Svalbard and Jan Mayen',
1087
859
  number: '744'
1088
860
  }, {
1089
861
  code2: 'SE',
1090
862
  code3: 'SWE',
1091
- name: 'Sweden',
1092
863
  number: '752'
1093
864
  }, {
1094
865
  code2: 'CH',
1095
866
  code3: 'CHE',
1096
- name: 'Switzerland',
1097
867
  number: '756'
1098
868
  }, {
1099
869
  code2: 'SY',
1100
870
  code3: 'SYR',
1101
- name: 'Syrian Arab Republic',
1102
871
  number: '760'
1103
872
  }, {
1104
873
  code2: 'TW',
1105
874
  code3: 'TWN',
1106
- name: 'Taiwan',
1107
875
  number: '158'
1108
876
  }, {
1109
877
  code2: 'TJ',
1110
878
  code3: 'TJK',
1111
- name: 'Tajikistan',
1112
879
  number: '762'
1113
880
  }, {
1114
881
  code2: 'TZ',
1115
882
  code3: 'TZA',
1116
- name: 'Tanzania, United Republic of',
1117
883
  number: '834'
1118
884
  }, {
1119
885
  code2: 'TH',
1120
886
  code3: 'THA',
1121
- name: 'Thailand',
1122
887
  number: '764'
1123
888
  }, {
1124
889
  code2: 'TL',
1125
890
  code3: 'TLS',
1126
- name: 'Timor-Leste',
1127
891
  number: '626'
1128
892
  }, {
1129
893
  code2: 'TG',
1130
894
  code3: 'TGO',
1131
- name: 'Togo',
1132
895
  number: '768'
1133
896
  }, {
1134
897
  code2: 'TK',
1135
898
  code3: 'TKL',
1136
- name: 'Tokelau',
1137
899
  number: '772'
1138
900
  }, {
1139
901
  code2: 'TO',
1140
902
  code3: 'TON',
1141
- name: 'Tonga',
1142
903
  number: '776'
1143
904
  }, {
1144
905
  code2: 'TT',
1145
906
  code3: 'TTO',
1146
- name: 'Trinidad and Tobago',
1147
907
  number: '780'
1148
908
  }, {
1149
909
  code2: 'TN',
1150
910
  code3: 'TUN',
1151
- name: 'Tunisia',
1152
911
  number: '788'
1153
912
  }, {
1154
913
  code2: 'TR',
1155
914
  code3: 'TUR',
1156
- name: 'Turkey',
1157
915
  number: '792'
1158
916
  }, {
1159
917
  code2: 'TM',
1160
918
  code3: 'TKM',
1161
- name: 'Turkmenistan',
1162
919
  number: '795'
1163
920
  }, {
1164
921
  code2: 'TC',
1165
922
  code3: 'TCA',
1166
- name: 'Turks and Caicos Islands (the)',
1167
923
  number: '796'
1168
924
  }, {
1169
925
  code2: 'TV',
1170
926
  code3: 'TUV',
1171
- name: 'Tuvalu',
1172
927
  number: '798'
1173
928
  }, {
1174
929
  code2: 'UG',
1175
930
  code3: 'UGA',
1176
- name: 'Uganda',
1177
931
  number: '800'
1178
932
  }, {
1179
933
  code2: 'UA',
1180
934
  code3: 'UKR',
1181
- name: 'Ukraine',
1182
935
  number: '804'
1183
936
  }, {
1184
937
  code2: 'AE',
1185
938
  code3: 'ARE',
1186
- name: 'United Arab Emirates (the)',
1187
939
  number: '784'
1188
940
  }, {
1189
941
  code2: 'GB',
1190
942
  code3: 'GBR',
1191
- name: 'United Kingdom of Great Britain and Northern Ireland (the)',
1192
943
  number: '826'
1193
944
  }, {
1194
945
  code2: 'UM',
1195
946
  code3: 'UMI',
1196
- name: 'United States Minor Outlying Islands (the)',
1197
947
  number: '581'
1198
948
  }, {
1199
949
  code2: 'US',
1200
950
  code3: 'USA',
1201
- name: 'United States of America (the)',
1202
951
  number: '840'
1203
952
  }, {
1204
953
  code2: 'UY',
1205
954
  code3: 'URY',
1206
- name: 'Uruguay',
1207
955
  number: '858'
1208
956
  }, {
1209
957
  code2: 'UZ',
1210
958
  code3: 'UZB',
1211
- name: 'Uzbekistan',
1212
959
  number: '860'
1213
960
  }, {
1214
961
  code2: 'VU',
1215
962
  code3: 'VUT',
1216
- name: 'Vanuatu',
1217
963
  number: '548'
1218
964
  }, {
1219
965
  code2: 'VE',
1220
966
  code3: 'VEN',
1221
- name: 'Venezuela (Bolivarian Republic of)',
1222
967
  number: '862'
1223
968
  }, {
1224
969
  code2: 'VN',
1225
970
  code3: 'VNM',
1226
- name: 'Viet Nam',
1227
971
  number: '704'
1228
972
  }, {
1229
973
  code2: 'VG',
1230
974
  code3: 'VGB',
1231
- name: 'Virgin Islands (British)',
1232
975
  number: '092'
1233
976
  }, {
1234
977
  code2: 'VI',
1235
978
  code3: 'VIR',
1236
- name: 'Virgin Islands (U.S.)',
1237
979
  number: '850'
1238
980
  }, {
1239
981
  code2: 'WF',
1240
982
  code3: 'WLF',
1241
- name: 'Wallis and Futuna',
1242
983
  number: '876'
1243
984
  }, {
1244
985
  code2: 'EH',
1245
986
  code3: 'ESH',
1246
- name: 'Western Sahara',
1247
987
  number: '732'
1248
988
  }, {
1249
989
  code2: 'YE',
1250
990
  code3: 'YEM',
1251
- name: 'Yemen',
1252
991
  number: '887'
1253
992
  }, {
1254
993
  code2: 'ZM',
1255
994
  code3: 'ZMB',
1256
- name: 'Zambia',
1257
995
  number: '894'
1258
996
  }, {
1259
997
  code2: 'ZW',
1260
998
  code3: 'ZWE',
1261
- name: 'Zimbabwe',
1262
999
  number: '716'
1263
1000
  }, {
1264
1001
  code2: 'AX',
1265
1002
  code3: 'ALA',
1266
- name: 'Åland Islands',
1267
1003
  number: '248'
1268
1004
  }];
1269
1005
  /**
@@ -1283,5 +1019,173 @@ var checkCountryCode = function checkCountryCode(code) {
1283
1019
  });
1284
1020
  return !!foundCountry;
1285
1021
  };
1022
+ /**
1023
+ * Get all countries with all their information (ISO codes, names, nationalities)
1024
+ *
1025
+ * @param {string} lang - Language of country names and nationalities
1026
+ * @returns {import('../../types').Country[]} - List of countries
1027
+ */
1028
+
1029
+
1030
+ exports.checkCountryCode = checkCountryCode;
1031
+
1032
+ var getAllCountries = function getAllCountries(lang) {
1033
+ var t = (0, _locales.getLocalizer)(lang);
1034
+ return COUNTRIES_ISO.map(function (country) {
1035
+ return {
1036
+ code2: country.code2,
1037
+ code3: country.code3,
1038
+ number: country.number,
1039
+ name: t("countries.".concat(country.code2)),
1040
+ nationality: t("nationalities.".concat(country.code2))
1041
+ };
1042
+ });
1043
+ };
1044
+ /**
1045
+ * Find country by its ISO code
1046
+ *
1047
+ * @param {(string|number)} code - ISO 3166-1 alpha-2, alpha-3 or numeric code
1048
+ * @returns {function(import('../../types').Country): boolean}
1049
+ */
1050
+
1051
+
1052
+ exports.getAllCountries = getAllCountries;
1053
+
1054
+ var findCountryByISOCode = function findCountryByISOCode(code) {
1055
+ return function (item) {
1056
+ var _code$toString;
1057
+
1058
+ var normalizeCodeType = code === null || code === void 0 ? void 0 : (_code$toString = code.toString()) === null || _code$toString === void 0 ? void 0 : _code$toString.toUpperCase();
1059
+
1060
+ if (/^[A-Z]{2,3}$/.test(normalizeCodeType)) {
1061
+ var codeUpperCase = normalizeCodeType;
1062
+ return item.code2 === codeUpperCase || item.code3 === codeUpperCase;
1063
+ } else if (/^\d+$/.test(normalizeCodeType)) {
1064
+ return item.number === normalizeCodeType;
1065
+ } else {
1066
+ return false;
1067
+ }
1068
+ };
1069
+ };
1070
+ /**
1071
+ * Get country name by its ISO 3166-1 (alpha-2, alpha-3 or numeric code)
1072
+ *
1073
+ * @param {string|number} code - ISO 3166-1 alpha-2, alpha-3 or numeric code
1074
+ * @param {object} options - Options
1075
+ * @param {string} options.lang - Language of country names
1076
+ * @returns {string|null} - Country name or null if not found
1077
+ */
1078
+
1079
+
1080
+ var getCountryNameByCodeISO = function getCountryNameByCodeISO(code) {
1081
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
1082
+ lang: 'en'
1083
+ },
1084
+ lang = _ref.lang;
1085
+
1086
+ var country = getAllCountries(lang).find(findCountryByISOCode(code));
1087
+
1088
+ if (!country) {
1089
+ _logger.default.warn("Country with code ".concat(code, " not found"));
1090
+
1091
+ return null;
1092
+ }
1093
+
1094
+ return country.name;
1095
+ };
1096
+ /**
1097
+ * Get all country names
1098
+ *
1099
+ * @param {string} lang - Language of country names
1100
+ * @returns {string[]} - List of country names
1101
+ */
1102
+
1103
+
1104
+ exports.getCountryNameByCodeISO = getCountryNameByCodeISO;
1105
+
1106
+ var getAllCountryNames = function getAllCountryNames(lang) {
1107
+ var countries = getAllCountries(lang);
1108
+ return countries.map(function (country) {
1109
+ return country.name;
1110
+ });
1111
+ };
1112
+ /**
1113
+ * Get country nationality by its ISO 3166-1 (alpha-2, alpha-3 or numeric code)
1114
+ *
1115
+ * @param {string|number} code - ISO 3166-1 alpha-2, alpha-3 or numeric code
1116
+ * @param {object} options - Options
1117
+ * @param {string} options.lang - Language of nationality
1118
+ * @returns {string|null} - Nationality or null if not found
1119
+ */
1120
+
1121
+
1122
+ exports.getAllCountryNames = getAllCountryNames;
1123
+
1124
+ var getNationalityByCodeISO = function getNationalityByCodeISO(code) {
1125
+ var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
1126
+ lang: 'en'
1127
+ },
1128
+ lang = _ref2.lang;
1129
+
1130
+ var country = getAllCountries(lang).find(findCountryByISOCode(code));
1131
+
1132
+ if (!country) {
1133
+ _logger.default.warn("Nationality with code ".concat(code, " not found"));
1134
+
1135
+ return null;
1136
+ }
1137
+
1138
+ return country.nationality;
1139
+ };
1140
+ /**
1141
+ * Get all nationalities
1142
+ *
1143
+ * @param {string} lang - Language of nationalities
1144
+ * @returns {string[]} - List of nationalities
1145
+ */
1146
+
1147
+
1148
+ exports.getNationalityByCodeISO = getNationalityByCodeISO;
1149
+
1150
+ var getAllNationalities = function getAllNationalities(lang) {
1151
+ var countries = getAllCountries(lang);
1152
+ return countries.map(function (country) {
1153
+ return country.nationality;
1154
+ });
1155
+ };
1156
+ /**
1157
+ * @param {string} countryCode - ISO 3166-1 alpha-2 (eg. fr, us, etc)
1158
+ * @returns {string} - Emoji of country
1159
+ */
1160
+
1161
+
1162
+ exports.getAllNationalities = getAllNationalities;
1163
+
1164
+ var getEmojiByCountry = function getEmojiByCountry(countryCode) {
1165
+ if (!countryCode) return null; // The offset between uppercase ASCII and regional indicator symbols
1166
+
1167
+ var UNICODE_OFFSET = 127397;
1168
+
1169
+ if (!/^[a-z]{2}$/i.test(countryCode)) {
1170
+ _logger.default.error("Country argument must be an ISO 3166-1 alpha-2 string, but got '".concat(JSON.stringify(countryCode), "' instead."));
1171
+
1172
+ return null;
1173
+ }
1174
+
1175
+ var existingCountry = COUNTRIES_ISO.find(function (country) {
1176
+ return country.code2 === countryCode.toUpperCase();
1177
+ });
1178
+
1179
+ if (!existingCountry) {
1180
+ _logger.default.error("Country with code ".concat(countryCode, " not found in the list of countries"));
1181
+
1182
+ return null;
1183
+ }
1184
+
1185
+ var codePoints = (0, _toConsumableArray2.default)(countryCode.toUpperCase()).map(function (letter) {
1186
+ return letter.codePointAt(0) + UNICODE_OFFSET;
1187
+ });
1188
+ return String.fromCodePoint.apply(String, (0, _toConsumableArray2.default)(codePoints));
1189
+ };
1286
1190
 
1287
- exports.checkCountryCode = checkCountryCode;
1191
+ exports.getEmojiByCountry = getEmojiByCountry;