Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
97.62% |
41 / 42 |
|
83.33% |
5 / 6 |
CRAP | |
0.00% |
0 / 1 |
| Country | |
97.62% |
41 / 42 |
|
83.33% |
5 / 6 |
7 | |
0.00% |
0 / 1 |
| getValidCountriesLabel | |
100.00% |
3 / 3 |
|
100.00% |
1 / 1 |
1 | |||
| getValidCountriesValues | |
100.00% |
3 / 3 |
|
100.00% |
1 / 1 |
1 | |||
| getValidIsoAplha2Codes | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| getValidCountries | |
100.00% |
16 / 16 |
|
100.00% |
1 / 1 |
1 | |||
| isoCodes | |
100.00% |
16 / 16 |
|
100.00% |
1 / 1 |
1 | |||
| get | |
66.67% |
2 / 3 |
|
0.00% |
0 / 1 |
2.15 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace App\Enums; |
| 4 | |
| 5 | use App\Traits\Enums\BaseEnum; |
| 6 | |
| 7 | enum Country: int |
| 8 | { |
| 9 | use BaseEnum; |
| 10 | |
| 11 | case afghanistan = 1; |
| 12 | case alandIslands = 2; |
| 13 | case albania = 3; |
| 14 | case algeria = 4; |
| 15 | case americanSamoa = 5; |
| 16 | case andorra = 6; |
| 17 | case angola = 7; |
| 18 | case anguilla = 8; |
| 19 | case antarctica = 9; |
| 20 | case antiguaAndBarbuda = 10; |
| 21 | case argentina = 11; |
| 22 | case armenia = 12; |
| 23 | case aruba = 13; |
| 24 | case australia = 14; |
| 25 | case austria = 15; |
| 26 | case azerbaijan = 16; |
| 27 | case bahrain = 17; |
| 28 | case bahamas = 18; |
| 29 | case bangladesh = 19; |
| 30 | case barbados = 20; |
| 31 | case belarus = 21; |
| 32 | case belgium = 22; |
| 33 | case belize = 23; |
| 34 | case benin = 24; |
| 35 | case bermuda = 25; |
| 36 | case bhutan = 26; |
| 37 | case boliviaPlurinationalStateOf = 27; |
| 38 | case bonaireSintEustatiusAndSaba = 28; |
| 39 | case bosniaAndHerzegovina = 29; |
| 40 | case botswana = 30; |
| 41 | case bouvetIsland = 31; |
| 42 | case brazil = 32; |
| 43 | case britishIndianOceanTerritory = 33; |
| 44 | case bruneiDarussalam = 34; |
| 45 | case bulgaria = 35; |
| 46 | case burkinaFaso = 36; |
| 47 | case burundi = 37; |
| 48 | case cambodia = 38; |
| 49 | case cameroon = 39; |
| 50 | case canada = 40; |
| 51 | case capeVerde = 41; |
| 52 | case caymanIslands = 42; |
| 53 | case centralAfricanRepublic = 43; |
| 54 | case chad = 44; |
| 55 | case chile = 45; |
| 56 | case china = 46; |
| 57 | case christmasIsland = 47; |
| 58 | case cocosKeelingIslands = 48; |
| 59 | case colombia = 49; |
| 60 | case comoros = 50; |
| 61 | case congo = 51; |
| 62 | case congoTheDemocraticRepublicOfThe = 52; |
| 63 | case cookIslands = 53; |
| 64 | case costaRica = 54; |
| 65 | case coteDivoire = 55; |
| 66 | case croatia = 56; |
| 67 | case cuba = 57; |
| 68 | case curacao = 58; |
| 69 | case cyprus = 59; |
| 70 | case czechRepublic = 60; |
| 71 | case denmark = 61; |
| 72 | case djibouti = 62; |
| 73 | case dominica = 63; |
| 74 | case dominicanRepublic = 64; |
| 75 | case ecuador = 65; |
| 76 | case egypt = 66; |
| 77 | case elSalvador = 67; |
| 78 | case equatorialGuinea = 68; |
| 79 | case eritrea = 69; |
| 80 | case estonia = 70; |
| 81 | case ethiopia = 71; |
| 82 | case falklandIslandsMalvinas = 72; |
| 83 | case faroeIslands = 73; |
| 84 | case fiji = 74; |
| 85 | case finland = 75; |
| 86 | case france = 76; |
| 87 | case frenchGuiana = 77; |
| 88 | case frenchPolynesia = 78; |
| 89 | case frenchSouthernTerritories = 79; |
| 90 | case gabon = 80; |
| 91 | case gambia = 81; |
| 92 | case georgia = 82; |
| 93 | case germany = 83; |
| 94 | case ghana = 84; |
| 95 | case gibraltar = 85; |
| 96 | case greece = 86; |
| 97 | case greenland = 87; |
| 98 | case grenada = 88; |
| 99 | case guadeloupe = 89; |
| 100 | case guam = 90; |
| 101 | case guatemala = 91; |
| 102 | case guernsey = 92; |
| 103 | case guinea = 93; |
| 104 | case guineaBissau = 94; |
| 105 | case guyana = 95; |
| 106 | case haiti = 96; |
| 107 | case heardIslandAndMcdonaldIslands = 97; |
| 108 | case holySeeVaticanCityState = 98; |
| 109 | case honduras = 99; |
| 110 | case hongKong = 100; |
| 111 | case hungary = 101; |
| 112 | case iceland = 102; |
| 113 | case india = 103; |
| 114 | case indonesia = 104; |
| 115 | case iranIslamicRepublicOf = 105; |
| 116 | case iraq = 106; |
| 117 | case ireland = 107; |
| 118 | case isleOfMan = 108; |
| 119 | case israel = 109; |
| 120 | case italy = 110; |
| 121 | case jamaica = 111; |
| 122 | case japan = 112; |
| 123 | case jersey = 113; |
| 124 | case jordan = 114; |
| 125 | case kazakhstan = 115; |
| 126 | case kenya = 116; |
| 127 | case kiribati = 117; |
| 128 | case koreaDemocraticPeoplesRepublicOf = 118; |
| 129 | case koreaRepublicOf = 119; |
| 130 | case kuwait = 120; |
| 131 | case kyrgyzstan = 121; |
| 132 | case laoPeoplesDemocraticRepublic = 122; |
| 133 | case latvia = 123; |
| 134 | case lebanon = 124; |
| 135 | case lesotho = 125; |
| 136 | case liberia = 126; |
| 137 | case libya = 127; |
| 138 | case liechtenstein = 128; |
| 139 | case lithuania = 129; |
| 140 | case luxembourg = 130; |
| 141 | case macao = 131; |
| 142 | case macedoniaTheFormerYugoslavRepublicOf = 132; |
| 143 | case madagascar = 133; |
| 144 | case malawi = 134; |
| 145 | case malaysia = 135; |
| 146 | case maldives = 136; |
| 147 | case mali = 137; |
| 148 | case malta = 138; |
| 149 | case marshallIslands = 139; |
| 150 | case martinique = 140; |
| 151 | case mauritania = 141; |
| 152 | case mauritius = 142; |
| 153 | case mayotte = 143; |
| 154 | case mexico = 144; |
| 155 | case micronesiaFederatedStatesOf = 145; |
| 156 | case moldovaRepublicOf = 146; |
| 157 | case monaco = 147; |
| 158 | case mongolia = 148; |
| 159 | case montenegro = 149; |
| 160 | case montserrat = 150; |
| 161 | case morocco = 151; |
| 162 | case mozambique = 152; |
| 163 | case myanmar = 153; |
| 164 | case namibia = 154; |
| 165 | case nauru = 155; |
| 166 | case nepal = 156; |
| 167 | case netherlands = 157; |
| 168 | case newCaledonia = 158; |
| 169 | case newZealand = 159; |
| 170 | case nicaragua = 160; |
| 171 | case niger = 161; |
| 172 | case nigeria = 162; |
| 173 | case niue = 163; |
| 174 | case norfolkIsland = 164; |
| 175 | case northernMarianaIslands = 165; |
| 176 | case norway = 166; |
| 177 | case oman = 167; |
| 178 | case pakistan = 168; |
| 179 | case palau = 169; |
| 180 | case palestineStateOf = 170; |
| 181 | case panama = 171; |
| 182 | case papuaNewGuinea = 172; |
| 183 | case paraguay = 173; |
| 184 | case peru = 174; |
| 185 | case philippines = 175; |
| 186 | case pitcairn = 176; |
| 187 | case poland = 177; |
| 188 | case portugal = 178; |
| 189 | case puertoRico = 179; |
| 190 | case qatar = 180; |
| 191 | case reunion = 181; |
| 192 | case romania = 182; |
| 193 | case russianFederation = 183; |
| 194 | case rwanda = 184; |
| 195 | case saintBarthelemy = 185; |
| 196 | case saintHelenaAscensionAndTristanDaCunha = 186; |
| 197 | case saintKittsAndNevis = 187; |
| 198 | case saintLucia = 188; |
| 199 | case saintMartinFrenchPart = 189; |
| 200 | case saintPierreAndMiquelon = 190; |
| 201 | case saintVincentAndTheGrenadines = 191; |
| 202 | case samoa = 192; |
| 203 | case sanMarino = 193; |
| 204 | case saoTomeAndPrincipe = 194; |
| 205 | case saudiArabia = 195; |
| 206 | case senegal = 196; |
| 207 | case serbia = 197; |
| 208 | case seychelles = 198; |
| 209 | case sierraLeone = 199; |
| 210 | case singapore = 200; |
| 211 | case sintMaartenDutchPart = 201; |
| 212 | case slovakia = 202; |
| 213 | case slovenia = 203; |
| 214 | case solomonIslands = 204; |
| 215 | case somalia = 205; |
| 216 | case southAfrica = 206; |
| 217 | case southGeorgiaAndTheSouthSandwichIslands = 207; |
| 218 | case southSudan = 208; |
| 219 | case spain = 209; |
| 220 | case sriLanka = 210; |
| 221 | case sudan = 211; |
| 222 | case suriname = 212; |
| 223 | case svalbardAndJanMayen = 213; |
| 224 | case swaziland = 214; |
| 225 | case sweden = 215; |
| 226 | case switzerland = 216; |
| 227 | case syrianArabRepublic = 217; |
| 228 | case taiwanProvinceOfChina = 218; |
| 229 | case tajikistan = 219; |
| 230 | case tanzaniaUnitedRepublicOf = 220; |
| 231 | case thailand = 221; |
| 232 | case timorLeste = 222; |
| 233 | case togo = 223; |
| 234 | case tokelau = 224; |
| 235 | case tonga = 225; |
| 236 | case trinidadAndTobago = 226; |
| 237 | case tunisia = 227; |
| 238 | case turkey = 228; |
| 239 | case turkmenistan = 229; |
| 240 | case turksAndCaicosIslands = 230; |
| 241 | case tuvalu = 231; |
| 242 | case uganda = 232; |
| 243 | case ukraine = 233; |
| 244 | case unitedArabEmirates = 234; |
| 245 | case unitedKingdom = 235; |
| 246 | case unitedStates = 236; |
| 247 | case unitedStatesMinorOutlyingIslands = 237; |
| 248 | case uruguay = 238; |
| 249 | case uzbekistan = 239; |
| 250 | case vanuatu = 240; |
| 251 | case venezuelaBolivarianRepublicOf = 241; |
| 252 | case vietNam = 242; |
| 253 | case virginIslandsBritish = 243; |
| 254 | case virginIslandsUs = 244; |
| 255 | case wallisAndFutuna = 245; |
| 256 | case westernSahara = 246; |
| 257 | case yemen = 247; |
| 258 | case zambia = 248; |
| 259 | case zimbabwe = 249; |
| 260 | |
| 261 | /** |
| 262 | * Optionnal labels definition |
| 263 | */ |
| 264 | private const LABELS = [ |
| 265 | self::afghanistan->name => 'Afghanistan', |
| 266 | self::alandIslands->name => 'Ã…land Islands', |
| 267 | self::albania->name => 'Albania', |
| 268 | self::algeria->name => 'Algeria', |
| 269 | self::americanSamoa->name => 'American Samoa', |
| 270 | self::andorra->name => 'Andorra', |
| 271 | self::angola->name => 'Angola', |
| 272 | self::anguilla->name => 'Anguilla', |
| 273 | self::antarctica->name => 'Antarctica', |
| 274 | self::antiguaAndBarbuda->name => 'Antigua and Barbuda', |
| 275 | self::argentina->name => 'Argentina', |
| 276 | self::armenia->name => 'Armenia', |
| 277 | self::aruba->name => 'Aruba', |
| 278 | self::australia->name => 'Australia', |
| 279 | self::austria->name => 'Austria', |
| 280 | self::azerbaijan->name => 'Azerbaijan', |
| 281 | self::bahrain->name => 'Bahrain', |
| 282 | self::bahamas->name => 'Bahamas', |
| 283 | self::bangladesh->name => 'Bangladesh', |
| 284 | self::barbados->name => 'Barbados', |
| 285 | self::belarus->name => 'Belarus', |
| 286 | self::belgium->name => 'Belgium', |
| 287 | self::belize->name => 'Belize', |
| 288 | self::benin->name => 'Benin', |
| 289 | self::bermuda->name => 'Bermuda', |
| 290 | self::bhutan->name => 'Bhutan', |
| 291 | self::boliviaPlurinationalStateOf->name => 'Bolivia, Plurinational State of', |
| 292 | self::bonaireSintEustatiusAndSaba->name => 'Bonaire, Sint Eustatius and Saba', |
| 293 | self::bosniaAndHerzegovina->name => 'Bosnia and Herzegovina', |
| 294 | self::botswana->name => 'Botswana', |
| 295 | self::bouvetIsland->name => 'Bouvet Island', |
| 296 | self::brazil->name => 'Brazil', |
| 297 | self::britishIndianOceanTerritory->name => 'British Indian Ocean Territory', |
| 298 | self::bruneiDarussalam->name => 'Brunei Darussalam', |
| 299 | self::bulgaria->name => 'Bulgaria', |
| 300 | self::burkinaFaso->name => 'Burkina Faso', |
| 301 | self::burundi->name => 'Burundi', |
| 302 | self::cambodia->name => 'Cambodia', |
| 303 | self::cameroon->name => 'Cameroon', |
| 304 | self::canada->name => 'Canada', |
| 305 | self::capeVerde->name => 'Cape Verde', |
| 306 | self::caymanIslands->name => 'Cayman Islands', |
| 307 | self::centralAfricanRepublic->name => 'Central African Republic', |
| 308 | self::chad->name => 'Chad', |
| 309 | self::chile->name => 'Chile', |
| 310 | self::china->name => 'China', |
| 311 | self::christmasIsland->name => 'Christmas Island', |
| 312 | self::cocosKeelingIslands->name => 'Cocos (Keeling) Islands', |
| 313 | self::colombia->name => 'Colombia', |
| 314 | self::comoros->name => 'Comoros', |
| 315 | self::congo->name => 'Congo', |
| 316 | self::congoTheDemocraticRepublicOfThe->name => 'Congo, the Democratic Republic of the', |
| 317 | self::cookIslands->name => 'Cook Islands', |
| 318 | self::costaRica->name => 'Costa Rica', |
| 319 | self::coteDivoire->name => 'Côte d\'Ivoire', |
| 320 | self::croatia->name => 'Croatia', |
| 321 | self::cuba->name => 'Cuba', |
| 322 | self::curacao->name => 'Curaçao', |
| 323 | self::cyprus->name => 'Cyprus', |
| 324 | self::czechRepublic->name => 'Czech Republic', |
| 325 | self::denmark->name => 'Denmark', |
| 326 | self::djibouti->name => 'Djibouti', |
| 327 | self::dominica->name => 'Dominica', |
| 328 | self::dominicanRepublic->name => 'Dominican Republic', |
| 329 | self::ecuador->name => 'Ecuador', |
| 330 | self::egypt->name => 'Egypt', |
| 331 | self::elSalvador->name => 'El Salvador', |
| 332 | self::equatorialGuinea->name => 'Equatorial Guinea', |
| 333 | self::eritrea->name => 'Eritrea', |
| 334 | self::estonia->name => 'Estonia', |
| 335 | self::ethiopia->name => 'Ethiopia', |
| 336 | self::falklandIslandsMalvinas->name => 'Falkland Islands (Malvinas)', |
| 337 | self::faroeIslands->name => 'Faroe Islands', |
| 338 | self::fiji->name => 'Fiji', |
| 339 | self::finland->name => 'Finland', |
| 340 | self::france->name => 'France', |
| 341 | self::frenchGuiana->name => 'French Guiana', |
| 342 | self::frenchPolynesia->name => 'French Polynesia', |
| 343 | self::frenchSouthernTerritories->name => 'French Southern Territories', |
| 344 | self::gabon->name => 'Gabon', |
| 345 | self::gambia->name => 'Gambia', |
| 346 | self::georgia->name => 'Georgia', |
| 347 | self::germany->name => 'Germany', |
| 348 | self::ghana->name => 'Ghana', |
| 349 | self::gibraltar->name => 'Gibraltar', |
| 350 | self::greece->name => 'Greece', |
| 351 | self::greenland->name => 'Greenland', |
| 352 | self::grenada->name => 'Grenada', |
| 353 | self::guadeloupe->name => 'Guadeloupe', |
| 354 | self::guam->name => 'Guam', |
| 355 | self::guatemala->name => 'Guatemala', |
| 356 | self::guernsey->name => 'Guernsey', |
| 357 | self::guinea->name => 'Guinea', |
| 358 | self::guineaBissau->name => 'GuineaBissau', |
| 359 | self::guyana->name => 'Guyana', |
| 360 | self::haiti->name => 'Haiti', |
| 361 | self::heardIslandAndMcdonaldIslands->name => 'Heard Island and McDonald Islands', |
| 362 | self::holySeeVaticanCityState->name => 'Holy See (Vatican City State)', |
| 363 | self::honduras->name => 'Honduras', |
| 364 | self::hongKong->name => 'Hong Kong', |
| 365 | self::hungary->name => 'Hungary', |
| 366 | self::iceland->name => 'Iceland', |
| 367 | self::india->name => 'India', |
| 368 | self::indonesia->name => 'Indonesia', |
| 369 | self::iranIslamicRepublicOf->name => 'Iran, Islamic Republic of', |
| 370 | self::iraq->name => 'Iraq', |
| 371 | self::ireland->name => 'Ireland', |
| 372 | self::isleOfMan->name => 'Isle of Man', |
| 373 | self::israel->name => 'Israel', |
| 374 | self::italy->name => 'Italy', |
| 375 | self::jamaica->name => 'Jamaica', |
| 376 | self::japan->name => 'Japan', |
| 377 | self::jersey->name => 'Jersey', |
| 378 | self::jordan->name => 'Jordan', |
| 379 | self::kazakhstan->name => 'Kazakhstan', |
| 380 | self::kenya->name => 'Kenya', |
| 381 | self::kiribati->name => 'Kiribati', |
| 382 | self::koreaDemocraticPeoplesRepublicOf->name => 'Korea, Democratic People\'s Republic of', |
| 383 | self::koreaRepublicOf->name => 'Korea, Republic of', |
| 384 | self::kuwait->name => 'Kuwait', |
| 385 | self::kyrgyzstan->name => 'Kyrgyzstan', |
| 386 | self::laoPeoplesDemocraticRepublic->name => 'Lao People\'s Democratic Republic', |
| 387 | self::latvia->name => 'Latvia', |
| 388 | self::lebanon->name => 'Lebanon', |
| 389 | self::lesotho->name => 'Lesotho', |
| 390 | self::liberia->name => 'Liberia', |
| 391 | self::libya->name => 'Libya', |
| 392 | self::liechtenstein->name => 'Liechtenstein', |
| 393 | self::lithuania->name => 'Lithuania', |
| 394 | self::luxembourg->name => 'Luxembourg', |
| 395 | self::macao->name => 'Macao', |
| 396 | self::macedoniaTheFormerYugoslavRepublicOf->name => 'Macedonia, the Former Yugoslav Republic of', |
| 397 | self::madagascar->name => 'Madagascar', |
| 398 | self::malawi->name => 'Malawi', |
| 399 | self::malaysia->name => 'Malaysia', |
| 400 | self::maldives->name => 'Maldives', |
| 401 | self::mali->name => 'Mali', |
| 402 | self::malta->name => 'Malta', |
| 403 | self::marshallIslands->name => 'Marshall Islands', |
| 404 | self::martinique->name => 'Martinique', |
| 405 | self::mauritania->name => 'Mauritania', |
| 406 | self::mauritius->name => 'Mauritius', |
| 407 | self::mayotte->name => 'Mayotte', |
| 408 | self::mexico->name => 'Mexico', |
| 409 | self::micronesiaFederatedStatesOf->name => 'Micronesia, Federated States of', |
| 410 | self::moldovaRepublicOf->name => 'Moldova, Republic of', |
| 411 | self::monaco->name => 'Monaco', |
| 412 | self::mongolia->name => 'Mongolia', |
| 413 | self::montenegro->name => 'Montenegro', |
| 414 | self::montserrat->name => 'Montserrat', |
| 415 | self::morocco->name => 'Morocco', |
| 416 | self::mozambique->name => 'Mozambique', |
| 417 | self::myanmar->name => 'Myanmar', |
| 418 | self::namibia->name => 'Namibia', |
| 419 | self::nauru->name => 'Nauru', |
| 420 | self::nepal->name => 'Nepal', |
| 421 | self::netherlands->name => 'Netherlands', |
| 422 | self::newCaledonia->name => 'New Caledonia', |
| 423 | self::newZealand->name => 'New Zealand', |
| 424 | self::nicaragua->name => 'Nicaragua', |
| 425 | self::niger->name => 'Niger', |
| 426 | self::nigeria->name => 'Nigeria', |
| 427 | self::niue->name => 'Niue', |
| 428 | self::norfolkIsland->name => 'Norfolk Island', |
| 429 | self::northernMarianaIslands->name => 'Northern Mariana Islands', |
| 430 | self::norway->name => 'Norway', |
| 431 | self::oman->name => 'Oman', |
| 432 | self::pakistan->name => 'Pakistan', |
| 433 | self::palau->name => 'Palau', |
| 434 | self::palestineStateOf->name => 'Palestine, State of', |
| 435 | self::panama->name => 'Panama', |
| 436 | self::papuaNewGuinea->name => 'Papua New Guinea', |
| 437 | self::paraguay->name => 'Paraguay', |
| 438 | self::peru->name => 'Peru', |
| 439 | self::philippines->name => 'Philippines', |
| 440 | self::pitcairn->name => 'Pitcairn', |
| 441 | self::poland->name => 'Poland', |
| 442 | self::portugal->name => 'Portugal', |
| 443 | self::puertoRico->name => 'Puerto Rico', |
| 444 | self::qatar->name => 'Qatar', |
| 445 | self::reunion->name => 'Réunion', |
| 446 | self::romania->name => 'Romania', |
| 447 | self::russianFederation->name => 'Russian Federation', |
| 448 | self::rwanda->name => 'Rwanda', |
| 449 | self::saintBarthelemy->name => 'Saint Barthélemy', |
| 450 | self::saintHelenaAscensionAndTristanDaCunha->name => 'Saint Helena, Ascension and Tristan da Cunha', |
| 451 | self::saintKittsAndNevis->name => 'Saint Kitts and Nevis', |
| 452 | self::saintLucia->name => 'Saint Lucia', |
| 453 | self::saintMartinFrenchPart->name => 'Saint Martin (French part)', |
| 454 | self::saintPierreAndMiquelon->name => 'Saint Pierre and Miquelon', |
| 455 | self::saintVincentAndTheGrenadines->name => 'Saint Vincent and the Grenadines', |
| 456 | self::samoa->name => 'Samoa', |
| 457 | self::sanMarino->name => 'San Marino', |
| 458 | self::saoTomeAndPrincipe->name => 'Sao Tome and Principe', |
| 459 | self::saudiArabia->name => 'Saudi Arabia', |
| 460 | self::senegal->name => 'Senegal', |
| 461 | self::serbia->name => 'Serbia', |
| 462 | self::seychelles->name => 'Seychelles', |
| 463 | self::sierraLeone->name => 'Sierra Leone', |
| 464 | self::singapore->name => 'Singapore', |
| 465 | self::sintMaartenDutchPart->name => 'Sint Maarten (Dutch part)', |
| 466 | self::slovakia->name => 'Slovakia', |
| 467 | self::slovenia->name => 'Slovenia', |
| 468 | self::solomonIslands->name => 'Solomon Islands', |
| 469 | self::somalia->name => 'Somalia', |
| 470 | self::southAfrica->name => 'South Africa', |
| 471 | self::southGeorgiaAndTheSouthSandwichIslands->name => 'South Georgia and the South Sandwich Islands', |
| 472 | self::southSudan->name => 'South Sudan', |
| 473 | self::spain->name => 'Spain', |
| 474 | self::sriLanka->name => 'Sri Lanka', |
| 475 | self::sudan->name => 'Sudan', |
| 476 | self::suriname->name => 'Suriname', |
| 477 | self::svalbardAndJanMayen->name => 'Svalbard and Jan Mayen', |
| 478 | self::swaziland->name => 'Swaziland', |
| 479 | self::sweden->name => 'Sweden', |
| 480 | self::switzerland->name => 'Switzerland', |
| 481 | self::syrianArabRepublic->name => 'Syrian Arab Republic', |
| 482 | self::taiwanProvinceOfChina->name => 'Taiwan, Province of China', |
| 483 | self::tajikistan->name => 'Tajikistan', |
| 484 | self::tanzaniaUnitedRepublicOf->name => 'Tanzania, United Republic of', |
| 485 | self::thailand->name => 'Thailand', |
| 486 | self::timorLeste->name => 'TimorLeste', |
| 487 | self::togo->name => 'Togo', |
| 488 | self::tokelau->name => 'Tokelau', |
| 489 | self::tonga->name => 'Tonga', |
| 490 | self::trinidadAndTobago->name => 'Trinidad and Tobago', |
| 491 | self::tunisia->name => 'Tunisia', |
| 492 | self::turkey->name => 'Turkey', |
| 493 | self::turkmenistan->name => 'Turkmenistan', |
| 494 | self::turksAndCaicosIslands->name => 'Turks and Caicos Islands', |
| 495 | self::tuvalu->name => 'Tuvalu', |
| 496 | self::uganda->name => 'Uganda', |
| 497 | self::ukraine->name => 'Ukraine', |
| 498 | self::unitedArabEmirates->name => 'United Arab Emirates', |
| 499 | self::unitedKingdom->name => 'United Kingdom', |
| 500 | self::unitedStates->name => 'United States', |
| 501 | self::unitedStatesMinorOutlyingIslands->name => 'United States Minor Outlying Islands', |
| 502 | self::uruguay->name => 'Uruguay', |
| 503 | self::uzbekistan->name => 'Uzbekistan', |
| 504 | self::vanuatu->name => 'Vanuatu', |
| 505 | self::venezuelaBolivarianRepublicOf->name => 'Venezuela, Bolivarian Republic of', |
| 506 | self::vietNam->name => 'Viet Nam', |
| 507 | self::virginIslandsBritish->name => 'Virgin Islands, British', |
| 508 | self::virginIslandsUs->name => 'Virgin Islands, U.S.', |
| 509 | self::wallisAndFutuna->name => 'Wallis and Futuna', |
| 510 | self::westernSahara->name => 'Western Sahara', |
| 511 | self::yemen->name => 'Yemen', |
| 512 | self::zambia->name => 'Zambia', |
| 513 | self::zimbabwe->name => 'Zimbabwe' |
| 514 | ]; |
| 515 | |
| 516 | /** |
| 517 | * Get valid countries label. |
| 518 | * |
| 519 | * @return array<string> |
| 520 | */ |
| 521 | public static function getValidCountriesLabel(): array |
| 522 | { |
| 523 | return collect(self::getValidCountries())->map(function (self $country) { |
| 524 | return $country->label(); |
| 525 | })->all(); |
| 526 | } |
| 527 | |
| 528 | /** |
| 529 | * Get valid countries value. |
| 530 | * |
| 531 | * @return array<string|integer> |
| 532 | */ |
| 533 | public static function getValidCountriesValues(): array |
| 534 | { |
| 535 | return collect(self::getValidCountries())->map(function (self $country) { |
| 536 | return $country->value(); |
| 537 | })->all(); |
| 538 | } |
| 539 | |
| 540 | /** |
| 541 | * Get Alpha 2 ISO code of valid countries |
| 542 | * |
| 543 | * @return array |
| 544 | */ |
| 545 | public static function getValidIsoAplha2Codes(): array |
| 546 | { |
| 547 | return \array_values(self::isoCodes()); |
| 548 | } |
| 549 | |
| 550 | /** |
| 551 | * Get valid countries |
| 552 | * |
| 553 | * @return array |
| 554 | */ |
| 555 | public static function getValidCountries(): array |
| 556 | { |
| 557 | return [ |
| 558 | Country::belgium, |
| 559 | Country::luxembourg, |
| 560 | Country::france, |
| 561 | Country::guadeloupe, |
| 562 | Country::martinique, |
| 563 | Country::frenchGuiana, |
| 564 | Country::reunion, |
| 565 | Country::saintPierreAndMiquelon, |
| 566 | Country::mayotte, |
| 567 | Country::saintBarthelemy, |
| 568 | Country::saintMartinFrenchPart, |
| 569 | Country::wallisAndFutuna, |
| 570 | Country::frenchPolynesia, |
| 571 | Country::newCaledonia |
| 572 | ]; |
| 573 | } |
| 574 | |
| 575 | /** |
| 576 | * Enum classes |
| 577 | * |
| 578 | * @return array |
| 579 | */ |
| 580 | protected static function isoCodes(): array |
| 581 | { |
| 582 | return [ |
| 583 | 'france' => 'FR', |
| 584 | 'belgium' => 'BE', |
| 585 | 'luxembourg' => 'LU', |
| 586 | 'guadeloupe' => 'GP', |
| 587 | 'martinique' => 'MQ', |
| 588 | 'frenchGuiana' => 'GF', |
| 589 | 'reunion' => 'RE', |
| 590 | 'saintPierreAndMiquelon' => 'PM', |
| 591 | 'mayotte' => 'YT', |
| 592 | 'saintBarthelemy' => 'BL', |
| 593 | 'saintMartinFrenchPart' => 'MF', |
| 594 | 'wallisAndFutuna' => 'WF', |
| 595 | 'frenchPolynesia' => 'PF', |
| 596 | 'newCaledonia' => 'NC', |
| 597 | ]; |
| 598 | } |
| 599 | |
| 600 | /** |
| 601 | * @param string $attribute |
| 602 | * @return integer|string|null |
| 603 | */ |
| 604 | public function get(string $attribute): int|string|null |
| 605 | { |
| 606 | if ($attribute === 'iso') { |
| 607 | return $this->isoCodes()[$this->name] ?? null; |
| 608 | } |
| 609 | return $this->{$attribute}; |
| 610 | } |
| 611 | } |