diff --git a/composer.json b/composer.json index e1d8ce1d2..9caba967a 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ "doctrine/dbal": "^3.9.1", "egulias/email-validator": "^4.0.4", "fusonic/opengraph": "^2.3.0", - "giggsey/libphonenumber-for-php-lite": "^8.13.48", + "giggsey/libphonenumber-for-php-lite": "^9.0.9", "guzzlehttp/guzzle": "^7.9.3", "icewind/searchdav": "^3.2.0", "icewind/streams": "^0.7.8", diff --git a/composer.lock b/composer.lock index 35ba3c68d..347a47740 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f8d55e30de09b86df0171acfbecdc465", + "content-hash": "eb06f8384bc134dc1ffdb6a0f4ebbc2e", "packages": [ { "name": "aws/aws-crt-php", @@ -983,16 +983,16 @@ }, { "name": "giggsey/libphonenumber-for-php-lite", - "version": "8.13.48", + "version": "9.0.9", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "76a4df0f53684fa4175d15aee1cee5f1047a17f7" + "reference": "d7ae8dd1186b54ce1451aec437346dd772321492" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/76a4df0f53684fa4175d15aee1cee5f1047a17f7", - "reference": "76a4df0f53684fa4175d15aee1cee5f1047a17f7", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/d7ae8dd1186b54ce1451aec437346dd772321492", + "reference": "d7ae8dd1186b54ce1451aec437346dd772321492", "shasum": "" }, "require": { @@ -1004,18 +1004,19 @@ }, "require-dev": { "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^3.12", - "infection/infection": "^0.28", - "pear/pear-core-minimal": "^1.10.11", - "pear/pear_exception": "^1.0.2", - "pear/versioncontrol_git": "^0.7", - "phing/phing": "^2.17.4", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.2", - "phpunit/phpunit": "^10.5", - "symfony/console": "^6.0", - "symfony/var-exporter": "^6.0" + "friendsofphp/php-cs-fixer": "^3.71", + "infection/infection": "^0.28.0", + "nette/php-generator": "^4.1", + "php-coveralls/php-coveralls": "^2.7", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.7", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpstan/phpstan-phpunit": "^2.0.4", + "phpstan/phpstan-strict-rules": "^2.0.3", + "phpunit/phpunit": "^10.5.45", + "symfony/console": "^6.4", + "symfony/filesystem": "^6.4", + "symfony/process": "^6.4" }, "suggest": { "giggsey/libphonenumber-for-php": "Use libphonenumber-for-php for geocoding, carriers, timezones and matching" @@ -1023,19 +1024,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { "libphonenumber\\": "src/" - }, - "exclude-from-classmap": [ - "/src/data/", - "/src/carrier/data/", - "/src/geocoding/data/", - "/src/timezone/data/" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1062,7 +1057,7 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", "source": "https://github.com/giggsey/libphonenumber-for-php-lite" }, - "time": "2024-10-22T09:03:14+00:00" + "time": "2025-07-08T08:38:23+00:00" }, { "name": "guzzlehttp/guzzle", diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php index c197bb1ca..2a24ef0a4 100644 --- a/composer/autoload_classmap.php +++ b/composer/autoload_classmap.php @@ -3837,11 +3837,9 @@ 'kornrunner\\Blurhash\\DC' => $vendorDir . '/kornrunner/blurhash/src/DC.php', 'libphonenumber\\CountryCodeSource' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/CountryCodeSource.php', 'libphonenumber\\CountryCodeToRegionCodeMap' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/CountryCodeToRegionCodeMap.php', - 'libphonenumber\\DefaultMetadataLoader' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/DefaultMetadataLoader.php', 'libphonenumber\\MatchType' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/MatchType.php', 'libphonenumber\\Matcher' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/Matcher.php', 'libphonenumber\\MatcherAPIInterface' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/MatcherAPIInterface.php', - 'libphonenumber\\MetadataLoaderInterface' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/MetadataLoaderInterface.php', 'libphonenumber\\MetadataSourceInterface' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/MetadataSourceInterface.php', 'libphonenumber\\MultiFileMetadataSourceImpl' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/MultiFileMetadataSourceImpl.php', 'libphonenumber\\NumberFormat' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php', @@ -3858,6 +3856,501 @@ 'libphonenumber\\ShortNumberInfo' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/ShortNumberInfo.php', 'libphonenumber\\ShortNumbersRegionCodeSet' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php', 'libphonenumber\\ValidationResult' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/ValidationResult.php', + 'libphonenumber\\data\\PhoneNumberMetadata_800' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_800.php', + 'libphonenumber\\data\\PhoneNumberMetadata_808' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php', + 'libphonenumber\\data\\PhoneNumberMetadata_870' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php', + 'libphonenumber\\data\\PhoneNumberMetadata_878' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php', + 'libphonenumber\\data\\PhoneNumberMetadata_881' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php', + 'libphonenumber\\data\\PhoneNumberMetadata_882' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php', + 'libphonenumber\\data\\PhoneNumberMetadata_883' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php', + 'libphonenumber\\data\\PhoneNumberMetadata_888' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php', + 'libphonenumber\\data\\PhoneNumberMetadata_979' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ER' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ES' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ET' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ID' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ME' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ML' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_OM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_QA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ST' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_US' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_WF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_WS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_XK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_YE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_YT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php', + 'libphonenumber\\data\\ShortNumberMetadata_AC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php', + 'libphonenumber\\data\\ShortNumberMetadata_AD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php', + 'libphonenumber\\data\\ShortNumberMetadata_AE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php', + 'libphonenumber\\data\\ShortNumberMetadata_AF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php', + 'libphonenumber\\data\\ShortNumberMetadata_AG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php', + 'libphonenumber\\data\\ShortNumberMetadata_AI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php', + 'libphonenumber\\data\\ShortNumberMetadata_AL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php', + 'libphonenumber\\data\\ShortNumberMetadata_AM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php', + 'libphonenumber\\data\\ShortNumberMetadata_AO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php', + 'libphonenumber\\data\\ShortNumberMetadata_AR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php', + 'libphonenumber\\data\\ShortNumberMetadata_AS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php', + 'libphonenumber\\data\\ShortNumberMetadata_AT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php', + 'libphonenumber\\data\\ShortNumberMetadata_AU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php', + 'libphonenumber\\data\\ShortNumberMetadata_AW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php', + 'libphonenumber\\data\\ShortNumberMetadata_AX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php', + 'libphonenumber\\data\\ShortNumberMetadata_AZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php', + 'libphonenumber\\data\\ShortNumberMetadata_BB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php', + 'libphonenumber\\data\\ShortNumberMetadata_BD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php', + 'libphonenumber\\data\\ShortNumberMetadata_BE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php', + 'libphonenumber\\data\\ShortNumberMetadata_BF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php', + 'libphonenumber\\data\\ShortNumberMetadata_BG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php', + 'libphonenumber\\data\\ShortNumberMetadata_BH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php', + 'libphonenumber\\data\\ShortNumberMetadata_BI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php', + 'libphonenumber\\data\\ShortNumberMetadata_BJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php', + 'libphonenumber\\data\\ShortNumberMetadata_BM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php', + 'libphonenumber\\data\\ShortNumberMetadata_BN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php', + 'libphonenumber\\data\\ShortNumberMetadata_BO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php', + 'libphonenumber\\data\\ShortNumberMetadata_BQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php', + 'libphonenumber\\data\\ShortNumberMetadata_BS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php', + 'libphonenumber\\data\\ShortNumberMetadata_BT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php', + 'libphonenumber\\data\\ShortNumberMetadata_BW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php', + 'libphonenumber\\data\\ShortNumberMetadata_BY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php', + 'libphonenumber\\data\\ShortNumberMetadata_BZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_CA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php', + 'libphonenumber\\data\\ShortNumberMetadata_CC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php', + 'libphonenumber\\data\\ShortNumberMetadata_CD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php', + 'libphonenumber\\data\\ShortNumberMetadata_CF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php', + 'libphonenumber\\data\\ShortNumberMetadata_CG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php', + 'libphonenumber\\data\\ShortNumberMetadata_CH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php', + 'libphonenumber\\data\\ShortNumberMetadata_CI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php', + 'libphonenumber\\data\\ShortNumberMetadata_CK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php', + 'libphonenumber\\data\\ShortNumberMetadata_CL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php', + 'libphonenumber\\data\\ShortNumberMetadata_CM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php', + 'libphonenumber\\data\\ShortNumberMetadata_CN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php', + 'libphonenumber\\data\\ShortNumberMetadata_CO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php', + 'libphonenumber\\data\\ShortNumberMetadata_CR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php', + 'libphonenumber\\data\\ShortNumberMetadata_CU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php', + 'libphonenumber\\data\\ShortNumberMetadata_CV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php', + 'libphonenumber\\data\\ShortNumberMetadata_CW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php', + 'libphonenumber\\data\\ShortNumberMetadata_CX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php', + 'libphonenumber\\data\\ShortNumberMetadata_CY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php', + 'libphonenumber\\data\\ShortNumberMetadata_CZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_DE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php', + 'libphonenumber\\data\\ShortNumberMetadata_DJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_DK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php', + 'libphonenumber\\data\\ShortNumberMetadata_DM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php', + 'libphonenumber\\data\\ShortNumberMetadata_DO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php', + 'libphonenumber\\data\\ShortNumberMetadata_DZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_EC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php', + 'libphonenumber\\data\\ShortNumberMetadata_EE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php', + 'libphonenumber\\data\\ShortNumberMetadata_EG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php', + 'libphonenumber\\data\\ShortNumberMetadata_EH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php', + 'libphonenumber\\data\\ShortNumberMetadata_ER' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php', + 'libphonenumber\\data\\ShortNumberMetadata_ES' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php', + 'libphonenumber\\data\\ShortNumberMetadata_ET' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php', + 'libphonenumber\\data\\ShortNumberMetadata_FI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php', + 'libphonenumber\\data\\ShortNumberMetadata_FJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_FK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php', + 'libphonenumber\\data\\ShortNumberMetadata_FM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php', + 'libphonenumber\\data\\ShortNumberMetadata_FO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php', + 'libphonenumber\\data\\ShortNumberMetadata_FR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php', + 'libphonenumber\\data\\ShortNumberMetadata_GA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php', + 'libphonenumber\\data\\ShortNumberMetadata_GB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php', + 'libphonenumber\\data\\ShortNumberMetadata_GD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php', + 'libphonenumber\\data\\ShortNumberMetadata_GE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php', + 'libphonenumber\\data\\ShortNumberMetadata_GF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php', + 'libphonenumber\\data\\ShortNumberMetadata_GG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php', + 'libphonenumber\\data\\ShortNumberMetadata_GH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php', + 'libphonenumber\\data\\ShortNumberMetadata_GI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php', + 'libphonenumber\\data\\ShortNumberMetadata_GL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php', + 'libphonenumber\\data\\ShortNumberMetadata_GM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php', + 'libphonenumber\\data\\ShortNumberMetadata_GN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php', + 'libphonenumber\\data\\ShortNumberMetadata_GP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php', + 'libphonenumber\\data\\ShortNumberMetadata_GR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php', + 'libphonenumber\\data\\ShortNumberMetadata_GT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php', + 'libphonenumber\\data\\ShortNumberMetadata_GU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php', + 'libphonenumber\\data\\ShortNumberMetadata_GW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php', + 'libphonenumber\\data\\ShortNumberMetadata_GY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php', + 'libphonenumber\\data\\ShortNumberMetadata_HK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php', + 'libphonenumber\\data\\ShortNumberMetadata_HN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php', + 'libphonenumber\\data\\ShortNumberMetadata_HR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php', + 'libphonenumber\\data\\ShortNumberMetadata_HT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php', + 'libphonenumber\\data\\ShortNumberMetadata_HU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php', + 'libphonenumber\\data\\ShortNumberMetadata_ID' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php', + 'libphonenumber\\data\\ShortNumberMetadata_IE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php', + 'libphonenumber\\data\\ShortNumberMetadata_IL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php', + 'libphonenumber\\data\\ShortNumberMetadata_IM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php', + 'libphonenumber\\data\\ShortNumberMetadata_IN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php', + 'libphonenumber\\data\\ShortNumberMetadata_IQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_IR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php', + 'libphonenumber\\data\\ShortNumberMetadata_IS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php', + 'libphonenumber\\data\\ShortNumberMetadata_IT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php', + 'libphonenumber\\data\\ShortNumberMetadata_JE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php', + 'libphonenumber\\data\\ShortNumberMetadata_JM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php', + 'libphonenumber\\data\\ShortNumberMetadata_JO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php', + 'libphonenumber\\data\\ShortNumberMetadata_JP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php', + 'libphonenumber\\data\\ShortNumberMetadata_KE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php', + 'libphonenumber\\data\\ShortNumberMetadata_KG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php', + 'libphonenumber\\data\\ShortNumberMetadata_KH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php', + 'libphonenumber\\data\\ShortNumberMetadata_KI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php', + 'libphonenumber\\data\\ShortNumberMetadata_KM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php', + 'libphonenumber\\data\\ShortNumberMetadata_KN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php', + 'libphonenumber\\data\\ShortNumberMetadata_KP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php', + 'libphonenumber\\data\\ShortNumberMetadata_KR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php', + 'libphonenumber\\data\\ShortNumberMetadata_KW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php', + 'libphonenumber\\data\\ShortNumberMetadata_KY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php', + 'libphonenumber\\data\\ShortNumberMetadata_KZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_LA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php', + 'libphonenumber\\data\\ShortNumberMetadata_LB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php', + 'libphonenumber\\data\\ShortNumberMetadata_LC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php', + 'libphonenumber\\data\\ShortNumberMetadata_LI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php', + 'libphonenumber\\data\\ShortNumberMetadata_LK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php', + 'libphonenumber\\data\\ShortNumberMetadata_LR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php', + 'libphonenumber\\data\\ShortNumberMetadata_LS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php', + 'libphonenumber\\data\\ShortNumberMetadata_LT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php', + 'libphonenumber\\data\\ShortNumberMetadata_LU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php', + 'libphonenumber\\data\\ShortNumberMetadata_LV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php', + 'libphonenumber\\data\\ShortNumberMetadata_LY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php', + 'libphonenumber\\data\\ShortNumberMetadata_MA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php', + 'libphonenumber\\data\\ShortNumberMetadata_MC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php', + 'libphonenumber\\data\\ShortNumberMetadata_MD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php', + 'libphonenumber\\data\\ShortNumberMetadata_ME' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php', + 'libphonenumber\\data\\ShortNumberMetadata_MF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php', + 'libphonenumber\\data\\ShortNumberMetadata_MG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php', + 'libphonenumber\\data\\ShortNumberMetadata_MH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php', + 'libphonenumber\\data\\ShortNumberMetadata_MK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php', + 'libphonenumber\\data\\ShortNumberMetadata_ML' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php', + 'libphonenumber\\data\\ShortNumberMetadata_MM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php', + 'libphonenumber\\data\\ShortNumberMetadata_MN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php', + 'libphonenumber\\data\\ShortNumberMetadata_MO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php', + 'libphonenumber\\data\\ShortNumberMetadata_MP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php', + 'libphonenumber\\data\\ShortNumberMetadata_MQ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_MR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php', + 'libphonenumber\\data\\ShortNumberMetadata_MS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php', + 'libphonenumber\\data\\ShortNumberMetadata_MT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php', + 'libphonenumber\\data\\ShortNumberMetadata_MU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php', + 'libphonenumber\\data\\ShortNumberMetadata_MV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php', + 'libphonenumber\\data\\ShortNumberMetadata_MW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php', + 'libphonenumber\\data\\ShortNumberMetadata_MX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php', + 'libphonenumber\\data\\ShortNumberMetadata_MY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php', + 'libphonenumber\\data\\ShortNumberMetadata_MZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_NA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php', + 'libphonenumber\\data\\ShortNumberMetadata_NC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php', + 'libphonenumber\\data\\ShortNumberMetadata_NE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php', + 'libphonenumber\\data\\ShortNumberMetadata_NF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php', + 'libphonenumber\\data\\ShortNumberMetadata_NG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php', + 'libphonenumber\\data\\ShortNumberMetadata_NI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php', + 'libphonenumber\\data\\ShortNumberMetadata_NL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php', + 'libphonenumber\\data\\ShortNumberMetadata_NO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php', + 'libphonenumber\\data\\ShortNumberMetadata_NP' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php', + 'libphonenumber\\data\\ShortNumberMetadata_NR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php', + 'libphonenumber\\data\\ShortNumberMetadata_NU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php', + 'libphonenumber\\data\\ShortNumberMetadata_NZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_OM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php', + 'libphonenumber\\data\\ShortNumberMetadata_PA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php', + 'libphonenumber\\data\\ShortNumberMetadata_PE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php', + 'libphonenumber\\data\\ShortNumberMetadata_PF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php', + 'libphonenumber\\data\\ShortNumberMetadata_PG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php', + 'libphonenumber\\data\\ShortNumberMetadata_PH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php', + 'libphonenumber\\data\\ShortNumberMetadata_PK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php', + 'libphonenumber\\data\\ShortNumberMetadata_PL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php', + 'libphonenumber\\data\\ShortNumberMetadata_PM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php', + 'libphonenumber\\data\\ShortNumberMetadata_PR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php', + 'libphonenumber\\data\\ShortNumberMetadata_PS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php', + 'libphonenumber\\data\\ShortNumberMetadata_PT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php', + 'libphonenumber\\data\\ShortNumberMetadata_PW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php', + 'libphonenumber\\data\\ShortNumberMetadata_PY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php', + 'libphonenumber\\data\\ShortNumberMetadata_QA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php', + 'libphonenumber\\data\\ShortNumberMetadata_RE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php', + 'libphonenumber\\data\\ShortNumberMetadata_RO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php', + 'libphonenumber\\data\\ShortNumberMetadata_RS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php', + 'libphonenumber\\data\\ShortNumberMetadata_RU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php', + 'libphonenumber\\data\\ShortNumberMetadata_RW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php', + 'libphonenumber\\data\\ShortNumberMetadata_SA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php', + 'libphonenumber\\data\\ShortNumberMetadata_SB' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php', + 'libphonenumber\\data\\ShortNumberMetadata_SC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php', + 'libphonenumber\\data\\ShortNumberMetadata_SD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php', + 'libphonenumber\\data\\ShortNumberMetadata_SE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php', + 'libphonenumber\\data\\ShortNumberMetadata_SG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php', + 'libphonenumber\\data\\ShortNumberMetadata_SH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php', + 'libphonenumber\\data\\ShortNumberMetadata_SI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php', + 'libphonenumber\\data\\ShortNumberMetadata_SJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_SK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php', + 'libphonenumber\\data\\ShortNumberMetadata_SL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php', + 'libphonenumber\\data\\ShortNumberMetadata_SM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php', + 'libphonenumber\\data\\ShortNumberMetadata_SN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php', + 'libphonenumber\\data\\ShortNumberMetadata_SO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php', + 'libphonenumber\\data\\ShortNumberMetadata_SR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php', + 'libphonenumber\\data\\ShortNumberMetadata_SS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php', + 'libphonenumber\\data\\ShortNumberMetadata_ST' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php', + 'libphonenumber\\data\\ShortNumberMetadata_SV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php', + 'libphonenumber\\data\\ShortNumberMetadata_SX' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php', + 'libphonenumber\\data\\ShortNumberMetadata_SY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php', + 'libphonenumber\\data\\ShortNumberMetadata_SZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_TC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php', + 'libphonenumber\\data\\ShortNumberMetadata_TD' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php', + 'libphonenumber\\data\\ShortNumberMetadata_TG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php', + 'libphonenumber\\data\\ShortNumberMetadata_TH' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php', + 'libphonenumber\\data\\ShortNumberMetadata_TJ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_TL' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php', + 'libphonenumber\\data\\ShortNumberMetadata_TM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php', + 'libphonenumber\\data\\ShortNumberMetadata_TN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php', + 'libphonenumber\\data\\ShortNumberMetadata_TO' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php', + 'libphonenumber\\data\\ShortNumberMetadata_TR' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php', + 'libphonenumber\\data\\ShortNumberMetadata_TT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php', + 'libphonenumber\\data\\ShortNumberMetadata_TV' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php', + 'libphonenumber\\data\\ShortNumberMetadata_TW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php', + 'libphonenumber\\data\\ShortNumberMetadata_TZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_UA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php', + 'libphonenumber\\data\\ShortNumberMetadata_UG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php', + 'libphonenumber\\data\\ShortNumberMetadata_US' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php', + 'libphonenumber\\data\\ShortNumberMetadata_UY' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php', + 'libphonenumber\\data\\ShortNumberMetadata_UZ' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_VA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php', + 'libphonenumber\\data\\ShortNumberMetadata_VC' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php', + 'libphonenumber\\data\\ShortNumberMetadata_VE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php', + 'libphonenumber\\data\\ShortNumberMetadata_VG' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php', + 'libphonenumber\\data\\ShortNumberMetadata_VI' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php', + 'libphonenumber\\data\\ShortNumberMetadata_VN' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php', + 'libphonenumber\\data\\ShortNumberMetadata_VU' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php', + 'libphonenumber\\data\\ShortNumberMetadata_WF' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php', + 'libphonenumber\\data\\ShortNumberMetadata_WS' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php', + 'libphonenumber\\data\\ShortNumberMetadata_XK' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php', + 'libphonenumber\\data\\ShortNumberMetadata_YE' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php', + 'libphonenumber\\data\\ShortNumberMetadata_YT' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZA' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZM' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZW' => $vendorDir . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php', 'ownCloud\\TarStreamer\\TarHeader' => $vendorDir . '/deepdiver1975/tarstreamer/src/TarHeader.php', 'ownCloud\\TarStreamer\\TarStreamer' => $vendorDir . '/deepdiver1975/tarstreamer/src/TarStreamer.php', 'phpseclib\\Crypt\\AES' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/AES.php', diff --git a/composer/autoload_static.php b/composer/autoload_static.php index 2e8d15339..e23b579d6 100644 --- a/composer/autoload_static.php +++ b/composer/autoload_static.php @@ -4370,11 +4370,9 @@ class ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652 'kornrunner\\Blurhash\\DC' => __DIR__ . '/..' . '/kornrunner/blurhash/src/DC.php', 'libphonenumber\\CountryCodeSource' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/CountryCodeSource.php', 'libphonenumber\\CountryCodeToRegionCodeMap' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/CountryCodeToRegionCodeMap.php', - 'libphonenumber\\DefaultMetadataLoader' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/DefaultMetadataLoader.php', 'libphonenumber\\MatchType' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/MatchType.php', 'libphonenumber\\Matcher' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/Matcher.php', 'libphonenumber\\MatcherAPIInterface' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/MatcherAPIInterface.php', - 'libphonenumber\\MetadataLoaderInterface' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/MetadataLoaderInterface.php', 'libphonenumber\\MetadataSourceInterface' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/MetadataSourceInterface.php', 'libphonenumber\\MultiFileMetadataSourceImpl' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/MultiFileMetadataSourceImpl.php', 'libphonenumber\\NumberFormat' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php', @@ -4391,6 +4389,501 @@ class ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652 'libphonenumber\\ShortNumberInfo' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/ShortNumberInfo.php', 'libphonenumber\\ShortNumbersRegionCodeSet' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php', 'libphonenumber\\ValidationResult' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/ValidationResult.php', + 'libphonenumber\\data\\PhoneNumberMetadata_800' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_800.php', + 'libphonenumber\\data\\PhoneNumberMetadata_808' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php', + 'libphonenumber\\data\\PhoneNumberMetadata_870' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php', + 'libphonenumber\\data\\PhoneNumberMetadata_878' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php', + 'libphonenumber\\data\\PhoneNumberMetadata_881' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php', + 'libphonenumber\\data\\PhoneNumberMetadata_882' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php', + 'libphonenumber\\data\\PhoneNumberMetadata_883' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php', + 'libphonenumber\\data\\PhoneNumberMetadata_888' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php', + 'libphonenumber\\data\\PhoneNumberMetadata_979' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_AZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_BZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_CZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_DZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_EH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ER' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ES' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ET' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_FR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_GY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_HU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ID' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_IT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_JP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_KZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_LY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ME' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ML' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_MZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_NZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_OM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_PY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_QA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_RW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ST' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_SZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php', + 'libphonenumber\\data\\PhoneNumberMetadata_TZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_US' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php', + 'libphonenumber\\data\\PhoneNumberMetadata_UZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php', + 'libphonenumber\\data\\PhoneNumberMetadata_VU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php', + 'libphonenumber\\data\\PhoneNumberMetadata_WF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php', + 'libphonenumber\\data\\PhoneNumberMetadata_WS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php', + 'libphonenumber\\data\\PhoneNumberMetadata_XK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php', + 'libphonenumber\\data\\PhoneNumberMetadata_YE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php', + 'libphonenumber\\data\\PhoneNumberMetadata_YT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php', + 'libphonenumber\\data\\PhoneNumberMetadata_ZW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php', + 'libphonenumber\\data\\ShortNumberMetadata_AC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php', + 'libphonenumber\\data\\ShortNumberMetadata_AD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php', + 'libphonenumber\\data\\ShortNumberMetadata_AE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php', + 'libphonenumber\\data\\ShortNumberMetadata_AF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php', + 'libphonenumber\\data\\ShortNumberMetadata_AG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php', + 'libphonenumber\\data\\ShortNumberMetadata_AI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php', + 'libphonenumber\\data\\ShortNumberMetadata_AL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php', + 'libphonenumber\\data\\ShortNumberMetadata_AM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php', + 'libphonenumber\\data\\ShortNumberMetadata_AO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php', + 'libphonenumber\\data\\ShortNumberMetadata_AR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php', + 'libphonenumber\\data\\ShortNumberMetadata_AS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php', + 'libphonenumber\\data\\ShortNumberMetadata_AT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php', + 'libphonenumber\\data\\ShortNumberMetadata_AU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php', + 'libphonenumber\\data\\ShortNumberMetadata_AW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php', + 'libphonenumber\\data\\ShortNumberMetadata_AX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php', + 'libphonenumber\\data\\ShortNumberMetadata_AZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php', + 'libphonenumber\\data\\ShortNumberMetadata_BB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php', + 'libphonenumber\\data\\ShortNumberMetadata_BD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php', + 'libphonenumber\\data\\ShortNumberMetadata_BE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php', + 'libphonenumber\\data\\ShortNumberMetadata_BF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php', + 'libphonenumber\\data\\ShortNumberMetadata_BG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php', + 'libphonenumber\\data\\ShortNumberMetadata_BH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php', + 'libphonenumber\\data\\ShortNumberMetadata_BI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php', + 'libphonenumber\\data\\ShortNumberMetadata_BJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php', + 'libphonenumber\\data\\ShortNumberMetadata_BM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php', + 'libphonenumber\\data\\ShortNumberMetadata_BN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php', + 'libphonenumber\\data\\ShortNumberMetadata_BO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php', + 'libphonenumber\\data\\ShortNumberMetadata_BQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_BR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php', + 'libphonenumber\\data\\ShortNumberMetadata_BS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php', + 'libphonenumber\\data\\ShortNumberMetadata_BT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php', + 'libphonenumber\\data\\ShortNumberMetadata_BW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php', + 'libphonenumber\\data\\ShortNumberMetadata_BY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php', + 'libphonenumber\\data\\ShortNumberMetadata_BZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_CA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php', + 'libphonenumber\\data\\ShortNumberMetadata_CC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php', + 'libphonenumber\\data\\ShortNumberMetadata_CD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php', + 'libphonenumber\\data\\ShortNumberMetadata_CF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php', + 'libphonenumber\\data\\ShortNumberMetadata_CG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php', + 'libphonenumber\\data\\ShortNumberMetadata_CH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php', + 'libphonenumber\\data\\ShortNumberMetadata_CI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php', + 'libphonenumber\\data\\ShortNumberMetadata_CK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php', + 'libphonenumber\\data\\ShortNumberMetadata_CL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php', + 'libphonenumber\\data\\ShortNumberMetadata_CM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php', + 'libphonenumber\\data\\ShortNumberMetadata_CN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php', + 'libphonenumber\\data\\ShortNumberMetadata_CO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php', + 'libphonenumber\\data\\ShortNumberMetadata_CR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php', + 'libphonenumber\\data\\ShortNumberMetadata_CU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php', + 'libphonenumber\\data\\ShortNumberMetadata_CV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php', + 'libphonenumber\\data\\ShortNumberMetadata_CW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php', + 'libphonenumber\\data\\ShortNumberMetadata_CX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php', + 'libphonenumber\\data\\ShortNumberMetadata_CY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php', + 'libphonenumber\\data\\ShortNumberMetadata_CZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_DE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php', + 'libphonenumber\\data\\ShortNumberMetadata_DJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_DK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php', + 'libphonenumber\\data\\ShortNumberMetadata_DM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php', + 'libphonenumber\\data\\ShortNumberMetadata_DO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php', + 'libphonenumber\\data\\ShortNumberMetadata_DZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_EC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php', + 'libphonenumber\\data\\ShortNumberMetadata_EE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php', + 'libphonenumber\\data\\ShortNumberMetadata_EG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php', + 'libphonenumber\\data\\ShortNumberMetadata_EH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php', + 'libphonenumber\\data\\ShortNumberMetadata_ER' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php', + 'libphonenumber\\data\\ShortNumberMetadata_ES' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php', + 'libphonenumber\\data\\ShortNumberMetadata_ET' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php', + 'libphonenumber\\data\\ShortNumberMetadata_FI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php', + 'libphonenumber\\data\\ShortNumberMetadata_FJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_FK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php', + 'libphonenumber\\data\\ShortNumberMetadata_FM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php', + 'libphonenumber\\data\\ShortNumberMetadata_FO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php', + 'libphonenumber\\data\\ShortNumberMetadata_FR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php', + 'libphonenumber\\data\\ShortNumberMetadata_GA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php', + 'libphonenumber\\data\\ShortNumberMetadata_GB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php', + 'libphonenumber\\data\\ShortNumberMetadata_GD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php', + 'libphonenumber\\data\\ShortNumberMetadata_GE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php', + 'libphonenumber\\data\\ShortNumberMetadata_GF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php', + 'libphonenumber\\data\\ShortNumberMetadata_GG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php', + 'libphonenumber\\data\\ShortNumberMetadata_GH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php', + 'libphonenumber\\data\\ShortNumberMetadata_GI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php', + 'libphonenumber\\data\\ShortNumberMetadata_GL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php', + 'libphonenumber\\data\\ShortNumberMetadata_GM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php', + 'libphonenumber\\data\\ShortNumberMetadata_GN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php', + 'libphonenumber\\data\\ShortNumberMetadata_GP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php', + 'libphonenumber\\data\\ShortNumberMetadata_GR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php', + 'libphonenumber\\data\\ShortNumberMetadata_GT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php', + 'libphonenumber\\data\\ShortNumberMetadata_GU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php', + 'libphonenumber\\data\\ShortNumberMetadata_GW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php', + 'libphonenumber\\data\\ShortNumberMetadata_GY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php', + 'libphonenumber\\data\\ShortNumberMetadata_HK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php', + 'libphonenumber\\data\\ShortNumberMetadata_HN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php', + 'libphonenumber\\data\\ShortNumberMetadata_HR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php', + 'libphonenumber\\data\\ShortNumberMetadata_HT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php', + 'libphonenumber\\data\\ShortNumberMetadata_HU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php', + 'libphonenumber\\data\\ShortNumberMetadata_ID' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php', + 'libphonenumber\\data\\ShortNumberMetadata_IE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php', + 'libphonenumber\\data\\ShortNumberMetadata_IL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php', + 'libphonenumber\\data\\ShortNumberMetadata_IM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php', + 'libphonenumber\\data\\ShortNumberMetadata_IN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php', + 'libphonenumber\\data\\ShortNumberMetadata_IQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_IR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php', + 'libphonenumber\\data\\ShortNumberMetadata_IS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php', + 'libphonenumber\\data\\ShortNumberMetadata_IT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php', + 'libphonenumber\\data\\ShortNumberMetadata_JE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php', + 'libphonenumber\\data\\ShortNumberMetadata_JM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php', + 'libphonenumber\\data\\ShortNumberMetadata_JO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php', + 'libphonenumber\\data\\ShortNumberMetadata_JP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php', + 'libphonenumber\\data\\ShortNumberMetadata_KE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php', + 'libphonenumber\\data\\ShortNumberMetadata_KG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php', + 'libphonenumber\\data\\ShortNumberMetadata_KH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php', + 'libphonenumber\\data\\ShortNumberMetadata_KI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php', + 'libphonenumber\\data\\ShortNumberMetadata_KM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php', + 'libphonenumber\\data\\ShortNumberMetadata_KN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php', + 'libphonenumber\\data\\ShortNumberMetadata_KP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php', + 'libphonenumber\\data\\ShortNumberMetadata_KR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php', + 'libphonenumber\\data\\ShortNumberMetadata_KW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php', + 'libphonenumber\\data\\ShortNumberMetadata_KY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php', + 'libphonenumber\\data\\ShortNumberMetadata_KZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_LA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php', + 'libphonenumber\\data\\ShortNumberMetadata_LB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php', + 'libphonenumber\\data\\ShortNumberMetadata_LC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php', + 'libphonenumber\\data\\ShortNumberMetadata_LI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php', + 'libphonenumber\\data\\ShortNumberMetadata_LK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php', + 'libphonenumber\\data\\ShortNumberMetadata_LR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php', + 'libphonenumber\\data\\ShortNumberMetadata_LS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php', + 'libphonenumber\\data\\ShortNumberMetadata_LT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php', + 'libphonenumber\\data\\ShortNumberMetadata_LU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php', + 'libphonenumber\\data\\ShortNumberMetadata_LV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php', + 'libphonenumber\\data\\ShortNumberMetadata_LY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php', + 'libphonenumber\\data\\ShortNumberMetadata_MA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php', + 'libphonenumber\\data\\ShortNumberMetadata_MC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php', + 'libphonenumber\\data\\ShortNumberMetadata_MD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php', + 'libphonenumber\\data\\ShortNumberMetadata_ME' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php', + 'libphonenumber\\data\\ShortNumberMetadata_MF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php', + 'libphonenumber\\data\\ShortNumberMetadata_MG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php', + 'libphonenumber\\data\\ShortNumberMetadata_MH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php', + 'libphonenumber\\data\\ShortNumberMetadata_MK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php', + 'libphonenumber\\data\\ShortNumberMetadata_ML' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php', + 'libphonenumber\\data\\ShortNumberMetadata_MM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php', + 'libphonenumber\\data\\ShortNumberMetadata_MN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php', + 'libphonenumber\\data\\ShortNumberMetadata_MO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php', + 'libphonenumber\\data\\ShortNumberMetadata_MP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php', + 'libphonenumber\\data\\ShortNumberMetadata_MQ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php', + 'libphonenumber\\data\\ShortNumberMetadata_MR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php', + 'libphonenumber\\data\\ShortNumberMetadata_MS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php', + 'libphonenumber\\data\\ShortNumberMetadata_MT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php', + 'libphonenumber\\data\\ShortNumberMetadata_MU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php', + 'libphonenumber\\data\\ShortNumberMetadata_MV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php', + 'libphonenumber\\data\\ShortNumberMetadata_MW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php', + 'libphonenumber\\data\\ShortNumberMetadata_MX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php', + 'libphonenumber\\data\\ShortNumberMetadata_MY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php', + 'libphonenumber\\data\\ShortNumberMetadata_MZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_NA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php', + 'libphonenumber\\data\\ShortNumberMetadata_NC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php', + 'libphonenumber\\data\\ShortNumberMetadata_NE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php', + 'libphonenumber\\data\\ShortNumberMetadata_NF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php', + 'libphonenumber\\data\\ShortNumberMetadata_NG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php', + 'libphonenumber\\data\\ShortNumberMetadata_NI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php', + 'libphonenumber\\data\\ShortNumberMetadata_NL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php', + 'libphonenumber\\data\\ShortNumberMetadata_NO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php', + 'libphonenumber\\data\\ShortNumberMetadata_NP' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php', + 'libphonenumber\\data\\ShortNumberMetadata_NR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php', + 'libphonenumber\\data\\ShortNumberMetadata_NU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php', + 'libphonenumber\\data\\ShortNumberMetadata_NZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_OM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php', + 'libphonenumber\\data\\ShortNumberMetadata_PA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php', + 'libphonenumber\\data\\ShortNumberMetadata_PE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php', + 'libphonenumber\\data\\ShortNumberMetadata_PF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php', + 'libphonenumber\\data\\ShortNumberMetadata_PG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php', + 'libphonenumber\\data\\ShortNumberMetadata_PH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php', + 'libphonenumber\\data\\ShortNumberMetadata_PK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php', + 'libphonenumber\\data\\ShortNumberMetadata_PL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php', + 'libphonenumber\\data\\ShortNumberMetadata_PM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php', + 'libphonenumber\\data\\ShortNumberMetadata_PR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php', + 'libphonenumber\\data\\ShortNumberMetadata_PS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php', + 'libphonenumber\\data\\ShortNumberMetadata_PT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php', + 'libphonenumber\\data\\ShortNumberMetadata_PW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php', + 'libphonenumber\\data\\ShortNumberMetadata_PY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php', + 'libphonenumber\\data\\ShortNumberMetadata_QA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php', + 'libphonenumber\\data\\ShortNumberMetadata_RE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php', + 'libphonenumber\\data\\ShortNumberMetadata_RO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php', + 'libphonenumber\\data\\ShortNumberMetadata_RS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php', + 'libphonenumber\\data\\ShortNumberMetadata_RU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php', + 'libphonenumber\\data\\ShortNumberMetadata_RW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php', + 'libphonenumber\\data\\ShortNumberMetadata_SA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php', + 'libphonenumber\\data\\ShortNumberMetadata_SB' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php', + 'libphonenumber\\data\\ShortNumberMetadata_SC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php', + 'libphonenumber\\data\\ShortNumberMetadata_SD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php', + 'libphonenumber\\data\\ShortNumberMetadata_SE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php', + 'libphonenumber\\data\\ShortNumberMetadata_SG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php', + 'libphonenumber\\data\\ShortNumberMetadata_SH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php', + 'libphonenumber\\data\\ShortNumberMetadata_SI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php', + 'libphonenumber\\data\\ShortNumberMetadata_SJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_SK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php', + 'libphonenumber\\data\\ShortNumberMetadata_SL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php', + 'libphonenumber\\data\\ShortNumberMetadata_SM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php', + 'libphonenumber\\data\\ShortNumberMetadata_SN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php', + 'libphonenumber\\data\\ShortNumberMetadata_SO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php', + 'libphonenumber\\data\\ShortNumberMetadata_SR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php', + 'libphonenumber\\data\\ShortNumberMetadata_SS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php', + 'libphonenumber\\data\\ShortNumberMetadata_ST' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php', + 'libphonenumber\\data\\ShortNumberMetadata_SV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php', + 'libphonenumber\\data\\ShortNumberMetadata_SX' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php', + 'libphonenumber\\data\\ShortNumberMetadata_SY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php', + 'libphonenumber\\data\\ShortNumberMetadata_SZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_TC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php', + 'libphonenumber\\data\\ShortNumberMetadata_TD' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php', + 'libphonenumber\\data\\ShortNumberMetadata_TG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php', + 'libphonenumber\\data\\ShortNumberMetadata_TH' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php', + 'libphonenumber\\data\\ShortNumberMetadata_TJ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php', + 'libphonenumber\\data\\ShortNumberMetadata_TL' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php', + 'libphonenumber\\data\\ShortNumberMetadata_TM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php', + 'libphonenumber\\data\\ShortNumberMetadata_TN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php', + 'libphonenumber\\data\\ShortNumberMetadata_TO' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php', + 'libphonenumber\\data\\ShortNumberMetadata_TR' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php', + 'libphonenumber\\data\\ShortNumberMetadata_TT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php', + 'libphonenumber\\data\\ShortNumberMetadata_TV' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php', + 'libphonenumber\\data\\ShortNumberMetadata_TW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php', + 'libphonenumber\\data\\ShortNumberMetadata_TZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_UA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php', + 'libphonenumber\\data\\ShortNumberMetadata_UG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php', + 'libphonenumber\\data\\ShortNumberMetadata_US' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php', + 'libphonenumber\\data\\ShortNumberMetadata_UY' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php', + 'libphonenumber\\data\\ShortNumberMetadata_UZ' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php', + 'libphonenumber\\data\\ShortNumberMetadata_VA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php', + 'libphonenumber\\data\\ShortNumberMetadata_VC' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php', + 'libphonenumber\\data\\ShortNumberMetadata_VE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php', + 'libphonenumber\\data\\ShortNumberMetadata_VG' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php', + 'libphonenumber\\data\\ShortNumberMetadata_VI' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php', + 'libphonenumber\\data\\ShortNumberMetadata_VN' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php', + 'libphonenumber\\data\\ShortNumberMetadata_VU' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php', + 'libphonenumber\\data\\ShortNumberMetadata_WF' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php', + 'libphonenumber\\data\\ShortNumberMetadata_WS' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php', + 'libphonenumber\\data\\ShortNumberMetadata_XK' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php', + 'libphonenumber\\data\\ShortNumberMetadata_YE' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php', + 'libphonenumber\\data\\ShortNumberMetadata_YT' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZA' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZM' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php', + 'libphonenumber\\data\\ShortNumberMetadata_ZW' => __DIR__ . '/..' . '/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php', 'ownCloud\\TarStreamer\\TarHeader' => __DIR__ . '/..' . '/deepdiver1975/tarstreamer/src/TarHeader.php', 'ownCloud\\TarStreamer\\TarStreamer' => __DIR__ . '/..' . '/deepdiver1975/tarstreamer/src/TarStreamer.php', 'phpseclib\\Crypt\\AES' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/Crypt/AES.php', diff --git a/composer/installed.json b/composer/installed.json index d5830cf54..53ec75480 100644 --- a/composer/installed.json +++ b/composer/installed.json @@ -1019,17 +1019,17 @@ }, { "name": "giggsey/libphonenumber-for-php-lite", - "version": "8.13.48", - "version_normalized": "8.13.48.0", + "version": "9.0.9", + "version_normalized": "9.0.9.0", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "76a4df0f53684fa4175d15aee1cee5f1047a17f7" + "reference": "d7ae8dd1186b54ce1451aec437346dd772321492" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/76a4df0f53684fa4175d15aee1cee5f1047a17f7", - "reference": "76a4df0f53684fa4175d15aee1cee5f1047a17f7", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/d7ae8dd1186b54ce1451aec437346dd772321492", + "reference": "d7ae8dd1186b54ce1451aec437346dd772321492", "shasum": "" }, "require": { @@ -1041,40 +1041,35 @@ }, "require-dev": { "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^3.12", - "infection/infection": "^0.28", - "pear/pear-core-minimal": "^1.10.11", - "pear/pear_exception": "^1.0.2", - "pear/versioncontrol_git": "^0.7", - "phing/phing": "^2.17.4", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.2", - "phpunit/phpunit": "^10.5", - "symfony/console": "^6.0", - "symfony/var-exporter": "^6.0" + "friendsofphp/php-cs-fixer": "^3.71", + "infection/infection": "^0.28.0", + "nette/php-generator": "^4.1", + "php-coveralls/php-coveralls": "^2.7", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.7", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpstan/phpstan-phpunit": "^2.0.4", + "phpstan/phpstan-strict-rules": "^2.0.3", + "phpunit/phpunit": "^10.5.45", + "symfony/console": "^6.4", + "symfony/filesystem": "^6.4", + "symfony/process": "^6.4" }, "suggest": { "giggsey/libphonenumber-for-php": "Use libphonenumber-for-php for geocoding, carriers, timezones and matching" }, - "time": "2024-10-22T09:03:14+00:00", + "time": "2025-07-08T08:38:23+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { "libphonenumber\\": "src/" - }, - "exclude-from-classmap": [ - "/src/data/", - "/src/carrier/data/", - "/src/geocoding/data/", - "/src/timezone/data/" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ diff --git a/composer/installed.php b/composer/installed.php index e10456bb1..ffc779714 100644 --- a/composer/installed.php +++ b/composer/installed.php @@ -137,9 +137,9 @@ 'dev_requirement' => false, ), 'giggsey/libphonenumber-for-php-lite' => array( - 'pretty_version' => '8.13.48', - 'version' => '8.13.48.0', - 'reference' => '76a4df0f53684fa4175d15aee1cee5f1047a17f7', + 'pretty_version' => '9.0.9', + 'version' => '9.0.9.0', + 'reference' => 'd7ae8dd1186b54ce1451aec437346dd772321492', 'type' => 'library', 'install_path' => __DIR__ . '/../giggsey/libphonenumber-for-php-lite', 'aliases' => array(), diff --git a/giggsey/libphonenumber-for-php-lite/METADATA-VERSION.php b/giggsey/libphonenumber-for-php-lite/METADATA-VERSION.php index f1d1bb043..21d44fbc1 100644 --- a/giggsey/libphonenumber-for-php-lite/METADATA-VERSION.php +++ b/giggsey/libphonenumber-for-php-lite/METADATA-VERSION.php @@ -1,8 +1,11 @@ + */ public const COUNTRY_CODE_TO_REGION_CODE_MAP = [ 1 => [ 'US', @@ -43,663 +51,219 @@ class CountryCodeToRegionCodeMap 'VG', 'VI', ], - 7 => [ - 'RU', - 'KZ', - ], - 20 => [ - 'EG', - ], - 27 => [ - 'ZA', - ], - 30 => [ - 'GR', - ], - [ - 'NL', - ], - [ - 'BE', - ], - [ - 'FR', - ], - [ - 'ES', - ], - 36 => [ - 'HU', - ], - 39 => [ - 'IT', - 'VA', - ], - [ - 'RO', - ], - [ - 'CH', - ], - 43 => [ - 'AT', - ], - [ - 'GB', - 'GG', - 'IM', - 'JE', - ], - [ - 'DK', - ], - [ - 'SE', - ], - [ - 'NO', - 'SJ', - ], - [ - 'PL', - ], - [ - 'DE', - ], - 51 => [ - 'PE', - ], - [ - 'MX', - ], - [ - 'CU', - ], - [ - 'AR', - ], - [ - 'BR', - ], - [ - 'CL', - ], - [ - 'CO', - ], - [ - 'VE', - ], - 60 => [ - 'MY', - ], - [ - 'AU', - 'CC', - 'CX', - ], - [ - 'ID', - ], - [ - 'PH', - ], - [ - 'NZ', - ], - [ - 'SG', - ], - [ - 'TH', - ], - 81 => [ - 'JP', - ], - [ - 'KR', - ], - 84 => [ - 'VN', - ], - 86 => [ - 'CN', - ], - 90 => [ - 'TR', - ], - [ - 'IN', - ], - [ - 'PK', - ], - [ - 'AF', - ], - [ - 'LK', - ], - [ - 'MM', - ], - 98 => [ - 'IR', - ], - 211 => [ - 'SS', - ], - [ - 'MA', - 'EH', - ], - [ - 'DZ', - ], - 216 => [ - 'TN', - ], - 218 => [ - 'LY', - ], - 220 => [ - 'GM', - ], - [ - 'SN', - ], - [ - 'MR', - ], - [ - 'ML', - ], - [ - 'GN', - ], - [ - 'CI', - ], - [ - 'BF', - ], - [ - 'NE', - ], - [ - 'TG', - ], - [ - 'BJ', - ], - [ - 'MU', - ], - [ - 'LR', - ], - [ - 'SL', - ], - [ - 'GH', - ], - [ - 'NG', - ], - [ - 'TD', - ], - [ - 'CF', - ], - [ - 'CM', - ], - [ - 'CV', - ], - [ - 'ST', - ], - [ - 'GQ', - ], - [ - 'GA', - ], - [ - 'CG', - ], - [ - 'CD', - ], - [ - 'AO', - ], - [ - 'GW', - ], - [ - 'IO', - ], - [ - 'AC', - ], - [ - 'SC', - ], - [ - 'SD', - ], - [ - 'RW', - ], - [ - 'ET', - ], - [ - 'SO', - ], - [ - 'DJ', - ], - [ - 'KE', - ], - [ - 'TZ', - ], - [ - 'UG', - ], - [ - 'BI', - ], - [ - 'MZ', - ], - 260 => [ - 'ZM', - ], - [ - 'MG', - ], - [ - 'RE', - 'YT', - ], - [ - 'ZW', - ], - [ - 'NA', - ], - [ - 'MW', - ], - [ - 'LS', - ], - [ - 'BW', - ], - [ - 'SZ', - ], - [ - 'KM', - ], - 290 => [ - 'SH', - 'TA', - ], - [ - 'ER', - ], - 297 => [ - 'AW', - ], - [ - 'FO', - ], - [ - 'GL', - ], - 350 => [ - 'GI', - ], - [ - 'PT', - ], - [ - 'LU', - ], - [ - 'IE', - ], - [ - 'IS', - ], - [ - 'AL', - ], - [ - 'MT', - ], - [ - 'CY', - ], - [ - 'FI', - 'AX', - ], - [ - 'BG', - ], - 370 => [ - 'LT', - ], - [ - 'LV', - ], - [ - 'EE', - ], - [ - 'MD', - ], - [ - 'AM', - ], - [ - 'BY', - ], - [ - 'AD', - ], - [ - 'MC', - ], - [ - 'SM', - ], - 380 => [ - 'UA', - ], - [ - 'RS', - ], - [ - 'ME', - ], - [ - 'XK', - ], - 385 => [ - 'HR', - ], - [ - 'SI', - ], - [ - 'BA', - ], - 389 => [ - 'MK', - ], - 420 => [ - 'CZ', - ], - [ - 'SK', - ], - 423 => [ - 'LI', - ], - 500 => [ - 'FK', - ], - [ - 'BZ', - ], - [ - 'GT', - ], - [ - 'SV', - ], - [ - 'HN', - ], - [ - 'NI', - ], - [ - 'CR', - ], - [ - 'PA', - ], - [ - 'PM', - ], - [ - 'HT', - ], - 590 => [ - 'GP', - 'BL', - 'MF', - ], - [ - 'BO', - ], - [ - 'GY', - ], - [ - 'EC', - ], - [ - 'GF', - ], - [ - 'PY', - ], - [ - 'MQ', - ], - [ - 'SR', - ], - [ - 'UY', - ], - [ - 'CW', - 'BQ', - ], - 670 => [ - 'TL', - ], - 672 => [ - 'NF', - ], - [ - 'BN', - ], - [ - 'NR', - ], - [ - 'PG', - ], - [ - 'TO', - ], - [ - 'SB', - ], - [ - 'VU', - ], - [ - 'FJ', - ], - [ - 'PW', - ], - [ - 'WF', - ], - [ - 'CK', - ], - [ - 'NU', - ], - 685 => [ - 'WS', - ], - [ - 'KI', - ], - [ - 'NC', - ], - [ - 'TV', - ], - [ - 'PF', - ], - [ - 'TK', - ], - [ - 'FM', - ], - [ - 'MH', - ], - 800 => [ - '001', - ], - 808 => [ - '001', - ], - 850 => [ - 'KP', - ], - 852 => [ - 'HK', - ], - [ - 'MO', - ], - 855 => [ - 'KH', - ], - [ - 'LA', - ], - 870 => [ - '001', - ], - 878 => [ - '001', - ], - 880 => [ - 'BD', - ], - [ - '001', - ], - [ - '001', - ], - [ - '001', - ], - 886 => [ - 'TW', - ], - 888 => [ - '001', - ], - 960 => [ - 'MV', - ], - [ - 'LB', - ], - [ - 'JO', - ], - [ - 'SY', - ], - [ - 'IQ', - ], - [ - 'KW', - ], - [ - 'SA', - ], - [ - 'YE', - ], - [ - 'OM', - ], - 970 => [ - 'PS', - ], - [ - 'AE', - ], - [ - 'IL', - ], - [ - 'BH', - ], - [ - 'QA', - ], - [ - 'BT', - ], - [ - 'MN', - ], - [ - 'NP', - ], - 979 => [ - '001', - ], - 992 => [ - 'TJ', - ], - [ - 'TM', - ], - [ - 'AZ', - ], - [ - 'GE', - ], - [ - 'KG', - ], - 998 => [ - 'UZ', - ], + 7 => ['RU', 'KZ'], + 20 => ['EG'], + 27 => ['ZA'], + 30 => ['GR'], + 31 => ['NL'], + 32 => ['BE'], + 33 => ['FR'], + 34 => ['ES'], + 36 => ['HU'], + 39 => ['IT', 'VA'], + 40 => ['RO'], + 41 => ['CH'], + 43 => ['AT'], + 44 => ['GB', 'GG', 'IM', 'JE'], + 45 => ['DK'], + 46 => ['SE'], + 47 => ['NO', 'SJ'], + 48 => ['PL'], + 49 => ['DE'], + 51 => ['PE'], + 52 => ['MX'], + 53 => ['CU'], + 54 => ['AR'], + 55 => ['BR'], + 56 => ['CL'], + 57 => ['CO'], + 58 => ['VE'], + 60 => ['MY'], + 61 => ['AU', 'CC', 'CX'], + 62 => ['ID'], + 63 => ['PH'], + 64 => ['NZ'], + 65 => ['SG'], + 66 => ['TH'], + 81 => ['JP'], + 82 => ['KR'], + 84 => ['VN'], + 86 => ['CN'], + 90 => ['TR'], + 91 => ['IN'], + 92 => ['PK'], + 93 => ['AF'], + 94 => ['LK'], + 95 => ['MM'], + 98 => ['IR'], + 211 => ['SS'], + 212 => ['MA', 'EH'], + 213 => ['DZ'], + 216 => ['TN'], + 218 => ['LY'], + 220 => ['GM'], + 221 => ['SN'], + 222 => ['MR'], + 223 => ['ML'], + 224 => ['GN'], + 225 => ['CI'], + 226 => ['BF'], + 227 => ['NE'], + 228 => ['TG'], + 229 => ['BJ'], + 230 => ['MU'], + 231 => ['LR'], + 232 => ['SL'], + 233 => ['GH'], + 234 => ['NG'], + 235 => ['TD'], + 236 => ['CF'], + 237 => ['CM'], + 238 => ['CV'], + 239 => ['ST'], + 240 => ['GQ'], + 241 => ['GA'], + 242 => ['CG'], + 243 => ['CD'], + 244 => ['AO'], + 245 => ['GW'], + 246 => ['IO'], + 247 => ['AC'], + 248 => ['SC'], + 249 => ['SD'], + 250 => ['RW'], + 251 => ['ET'], + 252 => ['SO'], + 253 => ['DJ'], + 254 => ['KE'], + 255 => ['TZ'], + 256 => ['UG'], + 257 => ['BI'], + 258 => ['MZ'], + 260 => ['ZM'], + 261 => ['MG'], + 262 => ['RE', 'YT'], + 263 => ['ZW'], + 264 => ['NA'], + 265 => ['MW'], + 266 => ['LS'], + 267 => ['BW'], + 268 => ['SZ'], + 269 => ['KM'], + 290 => ['SH', 'TA'], + 291 => ['ER'], + 297 => ['AW'], + 298 => ['FO'], + 299 => ['GL'], + 350 => ['GI'], + 351 => ['PT'], + 352 => ['LU'], + 353 => ['IE'], + 354 => ['IS'], + 355 => ['AL'], + 356 => ['MT'], + 357 => ['CY'], + 358 => ['FI', 'AX'], + 359 => ['BG'], + 370 => ['LT'], + 371 => ['LV'], + 372 => ['EE'], + 373 => ['MD'], + 374 => ['AM'], + 375 => ['BY'], + 376 => ['AD'], + 377 => ['MC'], + 378 => ['SM'], + 380 => ['UA'], + 381 => ['RS'], + 382 => ['ME'], + 383 => ['XK'], + 385 => ['HR'], + 386 => ['SI'], + 387 => ['BA'], + 389 => ['MK'], + 420 => ['CZ'], + 421 => ['SK'], + 423 => ['LI'], + 500 => ['FK'], + 501 => ['BZ'], + 502 => ['GT'], + 503 => ['SV'], + 504 => ['HN'], + 505 => ['NI'], + 506 => ['CR'], + 507 => ['PA'], + 508 => ['PM'], + 509 => ['HT'], + 590 => ['GP', 'BL', 'MF'], + 591 => ['BO'], + 592 => ['GY'], + 593 => ['EC'], + 594 => ['GF'], + 595 => ['PY'], + 596 => ['MQ'], + 597 => ['SR'], + 598 => ['UY'], + 599 => ['CW', 'BQ'], + 670 => ['TL'], + 672 => ['NF'], + 673 => ['BN'], + 674 => ['NR'], + 675 => ['PG'], + 676 => ['TO'], + 677 => ['SB'], + 678 => ['VU'], + 679 => ['FJ'], + 680 => ['PW'], + 681 => ['WF'], + 682 => ['CK'], + 683 => ['NU'], + 685 => ['WS'], + 686 => ['KI'], + 687 => ['NC'], + 688 => ['TV'], + 689 => ['PF'], + 690 => ['TK'], + 691 => ['FM'], + 692 => ['MH'], + 800 => ['001'], + 808 => ['001'], + 850 => ['KP'], + 852 => ['HK'], + 853 => ['MO'], + 855 => ['KH'], + 856 => ['LA'], + 870 => ['001'], + 878 => ['001'], + 880 => ['BD'], + 881 => ['001'], + 882 => ['001'], + 883 => ['001'], + 886 => ['TW'], + 888 => ['001'], + 960 => ['MV'], + 961 => ['LB'], + 962 => ['JO'], + 963 => ['SY'], + 964 => ['IQ'], + 965 => ['KW'], + 966 => ['SA'], + 967 => ['YE'], + 968 => ['OM'], + 970 => ['PS'], + 971 => ['AE'], + 972 => ['IL'], + 973 => ['BH'], + 974 => ['QA'], + 975 => ['BT'], + 976 => ['MN'], + 977 => ['NP'], + 979 => ['001'], + 992 => ['TJ'], + 993 => ['TM'], + 994 => ['AZ'], + 995 => ['GE'], + 996 => ['KG'], + 998 => ['UZ'], ]; - } diff --git a/giggsey/libphonenumber-for-php-lite/src/DefaultMetadataLoader.php b/giggsey/libphonenumber-for-php-lite/src/DefaultMetadataLoader.php deleted file mode 100644 index 2d1a2c192..000000000 --- a/giggsey/libphonenumber-for-php-lite/src/DefaultMetadataLoader.php +++ /dev/null @@ -1,13 +0,0 @@ - + * @var array */ protected array $groups = []; private int $searchIndex = 0; - /** - */ public function __construct(string $pattern, string $subject) { $this->pattern = str_replace('/', '\/', $pattern); $this->subject = $subject; } - /** - */ protected function doMatch(string $type = 'find', int $offset = 0): bool { $final_pattern = '(?:' . $this->pattern . ')'; @@ -97,7 +94,7 @@ public function find(?int $offset = null): bool public function groupCount(): ?int { - if (empty($this->groups)) { + if ($this->groups === []) { return null; } @@ -123,8 +120,11 @@ public function end(?int $group = null): ?int return $this->groups[$group][1] + mb_strlen($this->groups[$group][0]); } - public function start(int $group = 0): ?int + public function start(?int $group = null): mixed { + if ($group === null) { + $group = 0; + } if (!isset($this->groups[$group])) { return null; } @@ -142,7 +142,7 @@ public function replaceAll(string $replacement): string return preg_replace('/' . $this->pattern . '/x', $replacement, $this->subject); } - public function reset(string $input = ''): self + public function reset(string $input = ''): static { $this->subject = $input; diff --git a/giggsey/libphonenumber-for-php-lite/src/MetadataLoaderInterface.php b/giggsey/libphonenumber-for-php-lite/src/MetadataLoaderInterface.php deleted file mode 100644 index f1b9d2910..000000000 --- a/giggsey/libphonenumber-for-php-lite/src/MetadataLoaderInterface.php +++ /dev/null @@ -1,18 +0,0 @@ -currentFilePrefix = $currentFilePrefix; - } + public function __construct( + protected readonly string $currentFilePrefix = __NAMESPACE__ . '\data\PhoneNumberMetadata_' + ) {} - /** - * - */ public function getMetadataForRegion(string $regionCode): PhoneMetadata { $regionCode = strtoupper($regionCode); - if (!array_key_exists($regionCode, $this->regionToMetadataMap)) { + if (!isset($this->regionToMetadataMap[$regionCode])) { // The regionCode here will be valid and won't be '001', so we don't need to worry about // what to pass in for the country calling code. - $this->loadMetadataFromFile($this->currentFilePrefix, $regionCode, 0, $this->metadataLoader); + $this->loadMetadataFromFile($this->currentFilePrefix, $regionCode, 0); } return $this->regionToMetadataMap[$regionCode]; } - /** - * - */ public function getMetadataForNonGeographicalRegion(int $countryCallingCode): PhoneMetadata { - if (!array_key_exists($countryCallingCode, $this->countryCodeToNonGeographicalMetadataMap)) { - $this->loadMetadataFromFile($this->currentFilePrefix, PhoneNumberUtil::REGION_CODE_FOR_NON_GEO_ENTITY, $countryCallingCode, $this->metadataLoader); + if (!isset($this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode])) { + $this->loadMetadataFromFile($this->currentFilePrefix, PhoneNumberUtil::REGION_CODE_FOR_NON_GEO_ENTITY, $countryCallingCode); } return $this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode]; } /** + * @throws RuntimeException */ - public function loadMetadataFromFile(string $filePrefix, string $regionCode, int $countryCallingCode, MetadataLoaderInterface $metadataLoader): void + public function loadMetadataFromFile(string $filePrefix, string $regionCode, int $countryCallingCode): void { $regionCode = strtoupper($regionCode); $isNonGeoRegion = PhoneNumberUtil::REGION_CODE_FOR_NON_GEO_ENTITY === $regionCode; - $fileName = $filePrefix . '_' . ($isNonGeoRegion ? $countryCallingCode : $regionCode) . '.php'; - if (!is_readable($fileName)) { - throw new \RuntimeException('missing metadata: ' . $fileName); + + $class = $filePrefix . ($isNonGeoRegion ? $countryCallingCode : ucfirst($regionCode)); + + if (!class_exists($class)) { + throw new RuntimeException('missing metadata: ' . $class); + } + + $metadata = new $class(); + + if (!$metadata instanceof PhoneMetadata) { + throw new RuntimeException('invalid metadata: ' . $class); } - $data = $metadataLoader->loadMetadata($fileName); - $metadata = new PhoneMetadata(); - $metadata->fromArray($data); if ($isNonGeoRegion) { $this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode] = $metadata; } else { diff --git a/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php b/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php index f13ecd0ba..a36153efd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php +++ b/giggsey/libphonenumber-for-php-lite/src/NumberFormat.php @@ -6,17 +6,16 @@ /** * Number Format - * @interal - * @phpstan-type NumberFormatArray array{pattern:string|null,format:string|null,leadingDigitsPatterns:array,nationalPrefixFormattingRule?:string,domesticCarrierCodeFormattingRule?:string,nationalPrefixOptionalWhenFormatting?:bool} + * @internal */ class NumberFormat { - protected ?string $pattern; + protected string $pattern = ''; protected bool $hasPattern = false; - protected ?string $format; + protected string $format = ''; protected bool $hasFormat = false; /** - * @var array + * @var array */ protected array $leadingDigitsPattern = []; protected string $nationalPrefixFormattingRule = ''; @@ -26,46 +25,17 @@ class NumberFormat protected string $domesticCarrierCodeFormattingRule = ''; protected bool $hasDomesticCarrierCodeFormattingRule = false; - public function __construct() - { - $this->clear(); - } - - /** - */ - public function clear(): NumberFormat - { - $this->hasPattern = false; - $this->pattern = null; - - $this->hasFormat = false; - $this->format = null; - - $this->leadingDigitsPattern = []; - - $this->hasNationalPrefixFormattingRule = false; - $this->nationalPrefixFormattingRule = ''; - - $this->hasNationalPrefixOptionalWhenFormatting = false; - $this->nationalPrefixOptionalWhenFormatting = false; - - $this->hasDomesticCarrierCodeFormattingRule = false; - $this->domesticCarrierCodeFormattingRule = ''; - - return $this; - } - public function hasPattern(): bool { return $this->hasPattern; } - public function getPattern(): ?string + public function getPattern(): string { return $this->pattern; } - public function setPattern(string $value): NumberFormat + public function setPattern(string $value): static { $this->hasPattern = true; $this->pattern = $value; @@ -83,10 +53,12 @@ public function getNationalPrefixOptionalWhenFormatting(): bool return $this->nationalPrefixOptionalWhenFormatting; } - public function setNationalPrefixOptionalWhenFormatting(bool $nationalPrefixOptionalWhenFormatting): void + public function setNationalPrefixOptionalWhenFormatting(bool $nationalPrefixOptionalWhenFormatting): static { $this->hasNationalPrefixOptionalWhenFormatting = true; $this->nationalPrefixOptionalWhenFormatting = $nationalPrefixOptionalWhenFormatting; + + return $this; } public function hasFormat(): bool @@ -94,12 +66,12 @@ public function hasFormat(): bool return $this->hasFormat; } - public function getFormat(): ?string + public function getFormat(): string { return $this->format; } - public function setFormat(string $value): NumberFormat + public function setFormat(string $value): static { $this->hasFormat = true; $this->format = $value; @@ -108,7 +80,7 @@ public function setFormat(string $value): NumberFormat } /** - * @return string[] + * @return array */ public function leadingDigitPatterns(): array { @@ -125,7 +97,16 @@ public function getLeadingDigitsPattern(int $index): string return $this->leadingDigitsPattern[$index]; } - public function addLeadingDigitsPattern(string $value): NumberFormat + /** + * @param array $patterns + */ + public function setLeadingDigitsPattern(array $patterns): static + { + $this->leadingDigitsPattern = $patterns; + return $this; + } + + public function addLeadingDigitsPattern(string $value): static { $this->leadingDigitsPattern[] = $value; @@ -142,7 +123,7 @@ public function getNationalPrefixFormattingRule(): string return $this->nationalPrefixFormattingRule; } - public function setNationalPrefixFormattingRule(string $value): NumberFormat + public function setNationalPrefixFormattingRule(string $value): static { $this->hasNationalPrefixFormattingRule = true; $this->nationalPrefixFormattingRule = $value; @@ -150,7 +131,7 @@ public function setNationalPrefixFormattingRule(string $value): NumberFormat return $this; } - public function clearNationalPrefixFormattingRule(): NumberFormat + public function clearNationalPrefixFormattingRule(): static { $this->nationalPrefixFormattingRule = ''; @@ -167,7 +148,7 @@ public function getDomesticCarrierCodeFormattingRule(): string return $this->domesticCarrierCodeFormattingRule; } - public function setDomesticCarrierCodeFormattingRule(string $value): NumberFormat + public function setDomesticCarrierCodeFormattingRule(string $value): static { $this->hasDomesticCarrierCodeFormattingRule = true; $this->domesticCarrierCodeFormattingRule = $value; @@ -175,7 +156,7 @@ public function setDomesticCarrierCodeFormattingRule(string $value): NumberForma return $this; } - public function mergeFrom(NumberFormat $other): NumberFormat + public function mergeFrom(NumberFormat $other): static { if ($other->hasPattern()) { $this->setPattern($other->getPattern()); @@ -199,55 +180,4 @@ public function mergeFrom(NumberFormat $other): NumberFormat return $this; } - - /** - * @internal - * @return NumberFormatArray - */ - public function toArray(): array - { - $output = []; - $output['pattern'] = $this->getPattern(); - $output['format'] = $this->getFormat(); - - $output['leadingDigitsPatterns'] = $this->leadingDigitPatterns(); - - if ($this->hasNationalPrefixFormattingRule()) { - $output['nationalPrefixFormattingRule'] = $this->getNationalPrefixFormattingRule(); - } - - if ($this->hasDomesticCarrierCodeFormattingRule()) { - $output['domesticCarrierCodeFormattingRule'] = $this->getDomesticCarrierCodeFormattingRule(); - } - - if ($this->hasNationalPrefixOptionalWhenFormatting() && $this->getNationalPrefixOptionalWhenFormatting() !== false) { - $output['nationalPrefixOptionalWhenFormatting'] = $this->getNationalPrefixOptionalWhenFormatting(); - } - - return $output; - } - - /** - * @internal - * @param NumberFormatArray $input - */ - public function fromArray(array $input): void - { - $this->setPattern($input['pattern']); - $this->setFormat($input['format']); - foreach ($input['leadingDigitsPatterns'] as $leadingDigitsPattern) { - $this->addLeadingDigitsPattern($leadingDigitsPattern); - } - - if (isset($input['nationalPrefixFormattingRule']) && $input['nationalPrefixFormattingRule'] !== '') { - $this->setNationalPrefixFormattingRule($input['nationalPrefixFormattingRule']); - } - if (isset($input['domesticCarrierCodeFormattingRule']) && $input['domesticCarrierCodeFormattingRule'] !== '') { - $this->setDomesticCarrierCodeFormattingRule($input['domesticCarrierCodeFormattingRule']); - } - - if (isset($input['nationalPrefixOptionalWhenFormatting'])) { - $this->setNationalPrefixOptionalWhenFormatting($input['nationalPrefixOptionalWhenFormatting']); - } - } } diff --git a/giggsey/libphonenumber-for-php-lite/src/NumberParseException.php b/giggsey/libphonenumber-for-php-lite/src/NumberParseException.php index 7a91c6252..b2f8f735b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/NumberParseException.php +++ b/giggsey/libphonenumber-for-php-lite/src/NumberParseException.php @@ -4,10 +4,14 @@ namespace libphonenumber; +use Exception; +use Stringable; +use Throwable; + /** * Generic exception class for errors encountered when parsing phone numbers. */ -class NumberParseException extends \Exception implements \Stringable +class NumberParseException extends Exception implements Stringable { /** * The country code supplied did not belong to a supported country or non-geographical entity. @@ -38,7 +42,7 @@ class NumberParseException extends \Exception implements \Stringable protected int $errorType; - public function __construct(int $errorType, string $message, ?\Throwable $previous = null) + public function __construct(int $errorType, string $message, ?Throwable $previous = null) { parent::__construct($message, $errorType, $previous); $this->message = $message; diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneMetadata.php b/giggsey/libphonenumber-for-php-lite/src/PhoneMetadata.php index 33471bc82..aa6251483 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneMetadata.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneMetadata.php @@ -4,24 +4,35 @@ namespace libphonenumber; +use function count; + /** * Class PhoneMetadata * @package libphonenumber * @internal Used internally, and can change at any time - * @phpstan-import-type PhoneNumberDescArray from PhoneNumberDesc - * @phpstan-import-type NumberFormatArray from NumberFormat - * @phpstan-type PhoneMetadataArray array{generalDesc?:PhoneNumberDescArray,fixedLine?:PhoneNumberDescArray,mobile?:PhoneNumberDescArray,tollFree?:PhoneNumberDescArray,premiumRate?:PhoneNumberDescArray,sharedCost?:PhoneNumberDescArray,personalNumber?:PhoneNumberDescArray,voip?:PhoneNumberDescArray,pager?:PhoneNumberDescArray,uan?:PhoneNumberDescArray,emergency?:PhoneNumberDescArray,voicemail?:PhoneNumberDescArray,shortCode?:PhoneNumberDescArray,standardRate?:PhoneNumberDescArray,carrierSpecific?:PhoneNumberDescArray,smsServices?:PhoneNumberDescArray,noInternationalDialling?:PhoneNumberDescArray,id:string|null,countryCode?:int,internationalPrefix?:string,preferredInternationalPrefix?:string,nationalPrefix?:string,preferredExtnPrefix?:string,nationalPrefixForParsing?:string,nationalPrefixTransformRule?:string,sameMobileAndFixedLinePattern?:bool,numberFormat:NumberFormatArray[],intlNumberFormat?:NumberFormatArray[],mainCountryForCode?:bool,leadingDigits?:string,mobileNumberPortableRegion?:bool} */ class PhoneMetadata { - protected ?string $id = null; - protected ?int $countryCode = null; - protected string $leadingDigits; - protected string $internationalPrefix; - protected ?string $preferredInternationalPrefix = null; + /** + * @var string|null + */ + protected const ID = null; + /** + * @var int|null + */ + protected const COUNTRY_CODE = null; + /** + * @var string|null + */ + protected const LEADING_DIGITS = null; + /** + * @var string|null + */ + protected const NATIONAL_PREFIX = null; protected ?string $nationalPrefixForParsing = null; + protected ?string $internationalPrefix = null; + protected ?string $preferredInternationalPrefix = null; protected ?string $nationalPrefixTransformRule = null; - protected ?string $nationalPrefix = null; protected ?string $preferredExtnPrefix = null; protected bool $mainCountryForCode = false; protected bool $mobileNumberPortableRegion = false; @@ -52,16 +63,6 @@ class PhoneMetadata */ protected array $intlNumberFormat = []; - public function hasId(): bool - { - return isset($this->id); - } - - public function hasMainCountryForCode(): bool - { - return isset($this->mainCountryForCode); - } - public function isMainCountryForCode(): bool { return $this->mainCountryForCode; @@ -72,25 +73,11 @@ public function getMainCountryForCode(): bool return $this->mainCountryForCode; } - public function setMainCountryForCode(bool $value): PhoneMetadata - { - $this->mainCountryForCode = $value; - return $this; - } - - public function clearMainCountryForCode(): PhoneMetadata - { - $this->mainCountryForCode = false; - return $this; - } - public function numberFormatSize(): int { - return \count($this->numberFormat); + return count($this->numberFormat); } - /** - */ public function getNumberFormat(int $index): NumberFormat { return $this->numberFormat[$index]; @@ -98,7 +85,7 @@ public function getNumberFormat(int $index): NumberFormat public function intlNumberFormatSize(): int { - return \count($this->intlNumberFormat); + return count($this->intlNumberFormat); } public function getIntlNumberFormat(int $index): NumberFormat @@ -106,152 +93,9 @@ public function getIntlNumberFormat(int $index): NumberFormat return $this->intlNumberFormat[$index]; } - public function clearIntlNumberFormat(): PhoneMetadata - { - $this->intlNumberFormat = []; - return $this; - } - - /** - * @internal - * @return PhoneMetadataArray - */ - public function toArray(): array - { - $output = []; - - $output['id'] = $this->getId(); - - if ($this->hasCountryCode()) { - $output['countryCode'] = $this->getCountryCode(); - } - - if ($this->hasGeneralDesc()) { - $output['generalDesc'] = $this->getGeneralDesc()->toArray(); - } - - if ($this->hasFixedLine()) { - $output['fixedLine'] = $this->getFixedLine()->toArray(); - } - - if ($this->hasMobile()) { - $output['mobile'] = $this->getMobile()->toArray(); - } - - if ($this->hasTollFree()) { - $output['tollFree'] = $this->getTollFree()->toArray(); - } - - if ($this->hasPremiumRate()) { - $output['premiumRate'] = $this->getPremiumRate()->toArray(); - } - - if ($this->hasSharedCost()) { - $output['sharedCost'] = $this->getSharedCost()->toArray(); - } - - if ($this->hasPersonalNumber()) { - $output['personalNumber'] = $this->getPersonalNumber()->toArray(); - } - - if ($this->hasVoip()) { - $output['voip'] = $this->getVoip()->toArray(); - } - - if ($this->hasPager()) { - $output['pager'] = $this->getPager()->toArray(); - } - - if ($this->hasUan()) { - $output['uan'] = $this->getUan()->toArray(); - } - - if ($this->hasEmergency()) { - $output['emergency'] = $this->getEmergency()->toArray(); - } - - if ($this->hasVoicemail()) { - $output['voicemail'] = $this->getVoicemail()->toArray(); - } - - if ($this->hasShortCode()) { - $output['shortCode'] = $this->getShortCode()->toArray(); - } - - if ($this->hasStandardRate()) { - $output['standardRate'] = $this->getStandardRate()->toArray(); - } - - if ($this->hasCarrierSpecific()) { - $output['carrierSpecific'] = $this->getCarrierSpecific()->toArray(); - } - - if ($this->hasSmsServices()) { - $output['smsServices'] = $this->getSmsServices()->toArray(); - } - - if ($this->hasNoInternationalDialling()) { - $output['noInternationalDialling'] = $this->getNoInternationalDialling()->toArray(); - } - - if ($this->hasInternationalPrefix()) { - $output['internationalPrefix'] = $this->getInternationalPrefix(); - } - - if ($this->hasPreferredInternationalPrefix()) { - $output['preferredInternationalPrefix'] = $this->getPreferredInternationalPrefix(); - } - - if ($this->hasNationalPrefix()) { - $output['nationalPrefix'] = $this->getNationalPrefix(); - } - - if ($this->hasPreferredExtnPrefix()) { - $output['preferredExtnPrefix'] = $this->getPreferredExtnPrefix(); - } - - if ($this->hasNationalPrefixForParsing()) { - $output['nationalPrefixForParsing'] = $this->getNationalPrefixForParsing(); - } - - if ($this->hasNationalPrefixTransformRule()) { - $output['nationalPrefixTransformRule'] = $this->getNationalPrefixTransformRule(); - } - - if ($this->hasSameMobileAndFixedLinePattern() && $this->getSameMobileAndFixedLinePattern() !== false) { - $output['sameMobileAndFixedLinePattern'] = $this->getSameMobileAndFixedLinePattern(); - } - - $output['numberFormat'] = []; - foreach ($this->numberFormats() as $numberFormat) { - $output['numberFormat'][] = $numberFormat->toArray(); - } - - if (!empty($this->intlNumberFormats())) { - $output['intlNumberFormat'] = []; - foreach ($this->intlNumberFormats() as $intlNumberFormat) { - $output['intlNumberFormat'][] = $intlNumberFormat->toArray(); - } - } - - if ($this->getMainCountryForCode() !== false) { - $output['mainCountryForCode'] = $this->getMainCountryForCode(); - } - - if ($this->hasLeadingDigits()) { - $output['leadingDigits'] = $this->getLeadingDigits(); - } - - if ($this->hasMobileNumberPortableRegion() && $this->isMobileNumberPortableRegion() !== false) { - $output['mobileNumberPortableRegion'] = $this->isMobileNumberPortableRegion(); - } - - return $output; - } - public function hasGeneralDesc(): bool { - return isset($this->generalDesc); + return $this->generalDesc !== null; } public function getGeneralDesc(): ?PhoneNumberDesc @@ -259,15 +103,9 @@ public function getGeneralDesc(): ?PhoneNumberDesc return $this->generalDesc; } - public function setGeneralDesc(PhoneNumberDesc $value): PhoneMetadata - { - $this->generalDesc = $value; - return $this; - } - public function hasFixedLine(): bool { - return isset($this->fixedLine); + return $this->fixedLine !== null; } public function getFixedLine(): ?PhoneNumberDesc @@ -275,15 +113,9 @@ public function getFixedLine(): ?PhoneNumberDesc return $this->fixedLine; } - public function setFixedLine(PhoneNumberDesc $value): PhoneMetadata - { - $this->fixedLine = $value; - return $this; - } - public function hasMobile(): bool { - return isset($this->mobile); + return $this->mobile !== null; } public function getMobile(): ?PhoneNumberDesc @@ -291,127 +123,44 @@ public function getMobile(): ?PhoneNumberDesc return $this->mobile; } - public function setMobile(PhoneNumberDesc $value): PhoneMetadata - { - $this->mobile = $value; - return $this; - } - - public function hasTollFree(): bool - { - return isset($this->tollFree); - } - public function getTollFree(): ?PhoneNumberDesc { return $this->tollFree; } - public function setTollFree(PhoneNumberDesc $value): PhoneMetadata - { - $this->tollFree = $value; - return $this; - } - - public function hasPremiumRate(): bool - { - return isset($this->premiumRate); - } - public function getPremiumRate(): ?PhoneNumberDesc { return $this->premiumRate; } - public function setPremiumRate(PhoneNumberDesc $value): PhoneMetadata - { - $this->premiumRate = $value; - return $this; - } - - public function hasSharedCost(): bool - { - return isset($this->sharedCost); - } - public function getSharedCost(): ?PhoneNumberDesc { return $this->sharedCost; } - public function setSharedCost(PhoneNumberDesc $value): PhoneMetadata - { - $this->sharedCost = $value; - return $this; - } - - public function hasPersonalNumber(): bool - { - return isset($this->personalNumber); - } - public function getPersonalNumber(): ?PhoneNumberDesc { return $this->personalNumber; } - public function setPersonalNumber(PhoneNumberDesc $value): PhoneMetadata - { - $this->personalNumber = $value; - return $this; - } - - public function hasVoip(): bool - { - return isset($this->voip); - } - public function getVoip(): ?PhoneNumberDesc { return $this->voip; } - public function setVoip(PhoneNumberDesc $value): PhoneMetadata - { - $this->voip = $value; - return $this; - } - - public function hasPager(): bool - { - return isset($this->pager); - } - public function getPager(): ?PhoneNumberDesc { return $this->pager; } - public function setPager(PhoneNumberDesc $value): PhoneMetadata - { - $this->pager = $value; - return $this; - } - - public function hasUan(): bool - { - return isset($this->uan); - } - public function getUan(): ?PhoneNumberDesc { return $this->uan; } - public function setUan(PhoneNumberDesc $value): PhoneMetadata - { - $this->uan = $value; - return $this; - } - public function hasEmergency(): bool { - return isset($this->emergency); + return $this->emergency !== null; } public function getEmergency(): ?PhoneNumberDesc @@ -419,156 +168,57 @@ public function getEmergency(): ?PhoneNumberDesc return $this->emergency; } - public function setEmergency(PhoneNumberDesc $value): PhoneMetadata - { - $this->emergency = $value; - return $this; - } - - public function hasVoicemail(): bool - { - return isset($this->voicemail); - } - public function getVoicemail(): ?PhoneNumberDesc { return $this->voicemail; } - public function setVoicemail(PhoneNumberDesc $value): PhoneMetadata - { - $this->voicemail = $value; - return $this; - } - - public function hasShortCode(): bool - { - return isset($this->short_code); - } - public function getShortCode(): ?PhoneNumberDesc { return $this->short_code; } - public function setShortCode(PhoneNumberDesc $value): PhoneMetadata - { - $this->short_code = $value; - return $this; - } - - public function hasStandardRate(): bool - { - return isset($this->standard_rate); - } public function getStandardRate(): ?PhoneNumberDesc { return $this->standard_rate; } - public function setStandardRate(PhoneNumberDesc $value): PhoneMetadata - { - $this->standard_rate = $value; - return $this; - } - - public function hasCarrierSpecific(): bool - { - return isset($this->carrierSpecific); - } - public function getCarrierSpecific(): ?PhoneNumberDesc { return $this->carrierSpecific; } - public function setCarrierSpecific(PhoneNumberDesc $value): PhoneMetadata - { - $this->carrierSpecific = $value; - return $this; - } - - public function hasSmsServices(): bool - { - return isset($this->smsServices); - } - public function getSmsServices(): ?PhoneNumberDesc { return $this->smsServices; } - public function setSmsServices(PhoneNumberDesc $value): PhoneMetadata - { - $this->smsServices = $value; - return $this; - } - - public function hasNoInternationalDialling(): bool - { - return isset($this->noInternationalDialling); - } - public function getNoInternationalDialling(): ?PhoneNumberDesc { return $this->noInternationalDialling; } - public function setNoInternationalDialling(PhoneNumberDesc $value): PhoneMetadata - { - $this->noInternationalDialling = $value; - return $this; - } public function getId(): ?string { - return $this->id; - } - - public function setId(string $value): PhoneMetadata - { - $this->id = $value; - return $this; - } - - /** @phpstan-assert-if-true !null $this->getCountryCode() */ - public function hasCountryCode(): bool - { - return isset($this->countryCode); + return static::ID; } public function getCountryCode(): ?int { - return $this->countryCode; - } - - public function setCountryCode(int $value): PhoneMetadata - { - $this->countryCode = $value; - return $this; + return static::COUNTRY_CODE; } - public function hasInternationalPrefix(): bool - { - return isset($this->internationalPrefix); - } - - public function getInternationalPrefix(): string + public function getInternationalPrefix(): ?string { return $this->internationalPrefix; } - public function setInternationalPrefix(string $value): PhoneMetadata - { - $this->internationalPrefix = $value; - return $this; - } - /** @phpstan-assert-if-true !null $this->getPreferredInternationalPrefix() */ public function hasPreferredInternationalPrefix(): bool { - return isset($this->preferredInternationalPrefix); + return ($this->preferredInternationalPrefix !== null); } public function getPreferredInternationalPrefix(): ?string @@ -576,33 +226,19 @@ public function getPreferredInternationalPrefix(): ?string return $this->preferredInternationalPrefix; } - public function setPreferredInternationalPrefix(string $value): PhoneMetadata - { - $this->preferredInternationalPrefix = $value; - return $this; - } - - /** @phpstan-assert-if-true !null $this->getNationalPrefix() */ public function hasNationalPrefix(): bool { - return isset($this->nationalPrefix); + return static::NATIONAL_PREFIX !== null; } public function getNationalPrefix(): ?string { - return $this->nationalPrefix; - } - - public function setNationalPrefix(string $value): PhoneMetadata - { - $this->nationalPrefix = $value; - return $this; + return static::NATIONAL_PREFIX; } - /** @phpstan-assert-if-true !null $this->getPreferredExtnPrefix() */ public function hasPreferredExtnPrefix(): bool { - return isset($this->preferredExtnPrefix); + return $this->preferredExtnPrefix !== null; } public function getPreferredExtnPrefix(): ?string @@ -610,16 +246,9 @@ public function getPreferredExtnPrefix(): ?string return $this->preferredExtnPrefix; } - public function setPreferredExtnPrefix(string $value): PhoneMetadata - { - $this->preferredExtnPrefix = $value; - return $this; - } - - /** @phpstan-assert-if-true !null $this->getNationalPrefixForParsing() */ public function hasNationalPrefixForParsing(): bool { - return isset($this->nationalPrefixForParsing); + return $this->nationalPrefixForParsing !== null; } public function getNationalPrefixForParsing(): ?string @@ -627,45 +256,16 @@ public function getNationalPrefixForParsing(): ?string return $this->nationalPrefixForParsing; } - public function setNationalPrefixForParsing(string $value): PhoneMetadata - { - $this->nationalPrefixForParsing = $value; - return $this; - } - - /** @phpstan-assert-if-true !null $this->getNationalPrefixTransformRule() */ - public function hasNationalPrefixTransformRule(): bool - { - return isset($this->nationalPrefixTransformRule); - } - public function getNationalPrefixTransformRule(): ?string { return $this->nationalPrefixTransformRule; } - public function setNationalPrefixTransformRule(string $value): PhoneMetadata - { - $this->nationalPrefixTransformRule = $value; - return $this; - } - - public function hasSameMobileAndFixedLinePattern(): bool - { - return isset($this->sameMobileAndFixedLinePattern); - } - public function getSameMobileAndFixedLinePattern(): bool { return $this->sameMobileAndFixedLinePattern; } - public function setSameMobileAndFixedLinePattern(bool $value): PhoneMetadata - { - $this->sameMobileAndFixedLinePattern = $value; - return $this; - } - /** * @return NumberFormat[] */ @@ -684,23 +284,12 @@ public function intlNumberFormats(): array public function hasLeadingDigits(): bool { - return isset($this->leadingDigits); - } - - public function getLeadingDigits(): string - { - return $this->leadingDigits; - } - - public function setLeadingDigits(string $value): PhoneMetadata - { - $this->leadingDigits = $value; - return $this; + return static::LEADING_DIGITS !== null; } - public function hasMobileNumberPortableRegion(): bool + public function getLeadingDigits(): ?string { - return isset($this->mobileNumberPortableRegion); + return static::LEADING_DIGITS; } public function isMobileNumberPortableRegion(): bool @@ -708,205 +297,9 @@ public function isMobileNumberPortableRegion(): bool return $this->mobileNumberPortableRegion; } - public function setMobileNumberPortableRegion(bool $value): PhoneMetadata - { - $this->mobileNumberPortableRegion = $value; - return $this; - } - - public function clearPreferredInternationalPrefix(): PhoneMetadata - { - unset($this->preferredInternationalPrefix); - return $this; - } - - public function clearNationalPrefix(): PhoneMetadata + public function setInternationalPrefix(string $value): static { - unset($this->nationalPrefix); - return $this; - } - - public function clearPreferredExtnPrefix(): PhoneMetadata - { - unset($this->preferredExtnPrefix); - return $this; - } - - public function clearNationalPrefixTransformRule(): PhoneMetadata - { - unset($this->nationalPrefixTransformRule); - return $this; - } - - public function clearSameMobileAndFixedLinePattern(): PhoneMetadata - { - $this->sameMobileAndFixedLinePattern = false; - return $this; - } - - public function clearMobileNumberPortableRegion(): PhoneMetadata - { - $this->mobileNumberPortableRegion = false; - return $this; - } - - /** - * @interal - * @param PhoneMetadataArray $input - */ - public function fromArray(array $input): PhoneMetadata - { - if (isset($input['generalDesc'])) { - $desc = new PhoneNumberDesc(); - $this->setGeneralDesc($desc->fromArray($input['generalDesc'])); - } - - if (isset($input['fixedLine'])) { - $desc = new PhoneNumberDesc(); - $this->setFixedLine($desc->fromArray($input['fixedLine'])); - } - - if (isset($input['mobile'])) { - $desc = new PhoneNumberDesc(); - $this->setMobile($desc->fromArray($input['mobile'])); - } - - if (isset($input['tollFree'])) { - $desc = new PhoneNumberDesc(); - $this->setTollFree($desc->fromArray($input['tollFree'])); - } - - if (isset($input['premiumRate'])) { - $desc = new PhoneNumberDesc(); - $this->setPremiumRate($desc->fromArray($input['premiumRate'])); - } - - if (isset($input['sharedCost'])) { - $desc = new PhoneNumberDesc(); - $this->setSharedCost($desc->fromArray($input['sharedCost'])); - } - - if (isset($input['personalNumber'])) { - $desc = new PhoneNumberDesc(); - $this->setPersonalNumber($desc->fromArray($input['personalNumber'])); - } - - if (isset($input['voip'])) { - $desc = new PhoneNumberDesc(); - $this->setVoip($desc->fromArray($input['voip'])); - } - - if (isset($input['pager'])) { - $desc = new PhoneNumberDesc(); - $this->setPager($desc->fromArray($input['pager'])); - } - - if (isset($input['uan'])) { - $desc = new PhoneNumberDesc(); - $this->setUan($desc->fromArray($input['uan'])); - } - - if (isset($input['emergency'])) { - $desc = new PhoneNumberDesc(); - $this->setEmergency($desc->fromArray($input['emergency'])); - } - - if (isset($input['voicemail'])) { - $desc = new PhoneNumberDesc(); - $this->setVoicemail($desc->fromArray($input['voicemail'])); - } - - if (isset($input['shortCode'])) { - $desc = new PhoneNumberDesc(); - $this->setShortCode($desc->fromArray($input['shortCode'])); - } - - if (isset($input['standardRate'])) { - $desc = new PhoneNumberDesc(); - $this->setStandardRate($desc->fromArray($input['standardRate'])); - } - - if (isset($input['carrierSpecific'])) { - $desc = new PhoneNumberDesc(); - $this->setCarrierSpecific($desc->fromArray($input['carrierSpecific'])); - } - - if (isset($input['smsServices'])) { - $desc = new PhoneNumberDesc(); - $this->setSmsServices($desc->fromArray($input['smsServices'])); - } - - if (isset($input['noInternationalDialling'])) { - $desc = new PhoneNumberDesc(); - $this->setNoInternationalDialling($desc->fromArray($input['noInternationalDialling'])); - } - - $this->setId($input['id']); - - if (isset($input['countryCode'])) { - $this->setCountryCode($input['countryCode']); - } - - if (isset($input['internationalPrefix'])) { - $this->setInternationalPrefix($input['internationalPrefix']); - } - - if (isset($input['preferredInternationalPrefix'])) { - $this->setPreferredInternationalPrefix($input['preferredInternationalPrefix']); - } - - if (isset($input['nationalPrefix'])) { - $this->setNationalPrefix($input['nationalPrefix']); - } - - if (isset($input['preferredExtnPrefix'])) { - $this->setPreferredExtnPrefix($input['preferredExtnPrefix']); - } - - if (isset($input['nationalPrefixForParsing'])) { - $this->setNationalPrefixForParsing($input['nationalPrefixForParsing']); - } - - if (isset($input['nationalPrefixTransformRule'])) { - $this->setNationalPrefixTransformRule($input['nationalPrefixTransformRule']); - } - - foreach ($input['numberFormat'] ?? [] as $numberFormatElt) { - $numberFormat = new NumberFormat(); - $numberFormat->fromArray($numberFormatElt); - $this->addNumberFormat($numberFormat); - } - - foreach ($input['intlNumberFormat'] ?? [] as $intlNumberFormatElt) { - $numberFormat = new NumberFormat(); - $numberFormat->fromArray($intlNumberFormatElt); - $this->addIntlNumberFormat($numberFormat); - } - - if (isset($input['mainCountryForCode'])) { - $this->setMainCountryForCode($input['mainCountryForCode']); - } - - if (isset($input['leadingDigits'])) { - $this->setLeadingDigits($input['leadingDigits']); - } - - if (isset($input['mobileNumberPortableRegion'])) { - $this->setMobileNumberPortableRegion($input['mobileNumberPortableRegion']); - } - - return $this; - } - - public function addNumberFormat(NumberFormat $value): PhoneMetadata - { - $this->numberFormat[] = $value; - return $this; - } - - public function addIntlNumberFormat(NumberFormat $value): PhoneMetadata - { - $this->intlNumberFormat[] = $value; + $this->internationalPrefix = $value; return $this; } } diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneNumber.php b/giggsey/libphonenumber-for-php-lite/src/PhoneNumber.php index b1bf58913..0d5de5d3c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneNumber.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneNumber.php @@ -4,13 +4,20 @@ namespace libphonenumber; -class PhoneNumber implements \Serializable, \Stringable +use Serializable; + +/** + * It is not recommended to create PhoneNumber objects directly, instead you should + * use PhoneNumberUtil::parse() to parse the number and return a PhoneNumber object + * @no-named-arguments + */ +class PhoneNumber implements Serializable { /** * The country calling code for this number, as defined by the International Telecommunication Union * (ITU). For example, this would be 1 for NANPA countries, and 33 for France. */ - protected int $countryCode = 0; + protected ?int $countryCode = null; /** * National (significant) Number is defined in International Telecommunication Union (ITU) * Recommendation E.164. It is a language/country-neutral representation of a phone number at a @@ -53,12 +60,8 @@ class PhoneNumber implements \Serializable, \Stringable /** * The source from which the country_code is derived. This is not set in the general parsing method, * but in the method that parses and keeps raw_input. New fields could be added upon request. - * - * @see CountryCodeSource - * - * This must be one of the CountryCodeSource constants. */ - protected int $countryCodeSource = CountryCodeSource::UNSPECIFIED; + protected ?CountryCodeSource $countryCodeSource = CountryCodeSource::UNSPECIFIED; /** * The carrier selection code that is preferred when calling this phone number domestically. This * also includes codes that need to be dialed in some countries when calling from landlines to @@ -76,16 +79,8 @@ class PhoneNumber implements \Serializable, \Stringable * The number of leading zeros of this phone number. */ protected int $numberOfLeadingZeros = 1; - private bool $hasCountryCode = false; - /** - * Clears this phone number. - * - * This effectively resets this phone number to the state of a new instance. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clear(): PhoneNumber + public function clear(): static { $this->clearCountryCode(); $this->clearNationalNumber(); @@ -98,91 +93,50 @@ public function clear(): PhoneNumber return $this; } - /** - * Clears the country code of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearCountryCode(): PhoneNumber + public function clearCountryCode(): static { - $this->countryCode = 0; - $this->hasCountryCode = false; + $this->countryCode = null; return $this; } - /** - * Clears the national number of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearNationalNumber(): PhoneNumber + public function clearNationalNumber(): static { $this->nationalNumber = null; return $this; } - /** - * Clears the extension of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearExtension(): PhoneNumber + public function clearExtension(): static { $this->extension = null; return $this; } - /** - * Clears the italian leading zero information of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearItalianLeadingZero(): PhoneNumber + public function clearItalianLeadingZero(): static { $this->italianLeadingZero = null; return $this; } - /** - * Clears the number of leading zeros of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearNumberOfLeadingZeros(): PhoneNumber + public function clearNumberOfLeadingZeros(): static { $this->hasNumberOfLeadingZeros = false; $this->numberOfLeadingZeros = 1; return $this; } - /** - * Clears the raw input of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearRawInput(): PhoneNumber + public function clearRawInput(): static { $this->rawInput = null; return $this; } - /** - * Clears the country code source of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearCountryCodeSource(): PhoneNumber + public function clearCountryCodeSource(): static { $this->countryCodeSource = CountryCodeSource::UNSPECIFIED; return $this; } - /** - * Clears the preferred domestic carrier code of this phone number. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function clearPreferredDomesticCarrierCode(): PhoneNumber + public function clearPreferredDomesticCarrierCode(): static { $this->preferredDomesticCarrierCode = null; return $this; @@ -190,12 +144,8 @@ public function clearPreferredDomesticCarrierCode(): PhoneNumber /** * Merges the information from another phone number into this phone number. - * - * @param PhoneNumber $other The phone number to copy. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. */ - public function mergeFrom(PhoneNumber $other): PhoneNumber + public function mergeFrom(PhoneNumber $other): static { if ($other->hasCountryCode()) { $this->setCountryCode($other->getCountryCode()); @@ -224,114 +174,60 @@ public function mergeFrom(PhoneNumber $other): PhoneNumber return $this; } - /** - * Returns whether this phone number has a country code set. - * - * @return bool True if a country code is set, false otherwise. - */ public function hasCountryCode(): bool { - return $this->hasCountryCode; + return $this->countryCode !== null; } - public function getCountryCode(): int + public function getCountryCode(): ?int { return $this->countryCode; } - /** - * Sets the country code of this phone number. - * - * @param int $value The country code. - * - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setCountryCode(int $value): PhoneNumber + public function setCountryCode(int $value): static { - $this->hasCountryCode = true; $this->countryCode = $value; return $this; } - /** - * Returns whether this phone number has a national number set. - * - * @return bool True if a national number is set, false otherwise. - */ public function hasNationalNumber(): bool { return $this->nationalNumber !== null; } - /** - * Returns the national number of this phone number. - * - * @return string|null The national number, or null if not set. - */ public function getNationalNumber(): ?string { return $this->nationalNumber; } - /** - * Sets the national number of this phone number. - * - * @param string $value The national number. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setNationalNumber(string $value): PhoneNumber + public function setNationalNumber(string $value): static { $this->nationalNumber = $value; return $this; } - /** - * Returns whether this phone number has an extension set. - * - * @return bool True if an extension is set, false otherwise. - */ public function hasExtension(): bool { - return $this->extension !== null; + return isset($this->extension) && $this->extension !== ''; } - /** - * Returns the extension of this phone number. - * - * @return string|null The extension, or null if not set. - */ public function getExtension(): ?string { return $this->extension; } - /** - * Sets the extension of this phone number. - * - * @param string $value The extension. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setExtension(string $value): PhoneNumber + public function setExtension(string $value): static { $this->extension = $value; return $this; } - /** - * Returns whether this phone number has the italian leading zero information set. - */ public function hasItalianLeadingZero(): bool { - return $this->italianLeadingZero !== null; + return isset($this->italianLeadingZero); } - /** - * Sets whether this phone number uses an italian leading zero. - * - * @param bool $value True to use italian leading zero, false otherwise. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setItalianLeadingZero(bool $value): PhoneNumber + public function setItalianLeadingZero(bool $value): static { $this->italianLeadingZero = $value; return $this; @@ -340,137 +236,73 @@ public function setItalianLeadingZero(bool $value): PhoneNumber /** * Returns whether this phone number uses an italian leading zero. * - * @return bool|null True if it uses an italian leading zero, false if it does not, null if not set. + * @return bool|null True if it uses an italian leading zero, false it it does not, null if not set. */ public function isItalianLeadingZero(): ?bool { - return $this->italianLeadingZero; + return $this->italianLeadingZero ?? null; } - /** - * Returns whether this phone number has a number of leading zeros set. - * - * @return bool True if a number of leading zeros is set, false otherwise. - */ public function hasNumberOfLeadingZeros(): bool { return $this->hasNumberOfLeadingZeros; } - /** - * Returns the number of leading zeros of this phone number. - * - * @return int The number of leading zeros. - */ public function getNumberOfLeadingZeros(): int { return $this->numberOfLeadingZeros; } - /** - * Sets the number of leading zeros of this phone number. - * - * @param int $value The number of leading zeros. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setNumberOfLeadingZeros(int $value): PhoneNumber + public function setNumberOfLeadingZeros(int $value): static { $this->hasNumberOfLeadingZeros = true; $this->numberOfLeadingZeros = $value; return $this; } - /** - * Returns whether this phone number has a raw input. - * - * @return bool True if a raw input is set, false otherwise. - */ public function hasRawInput(): bool { - return $this->rawInput !== null; + return isset($this->rawInput); } - /** - * Returns the raw input of this phone number. - * - * @return string|null The raw input, or null if not set. - */ public function getRawInput(): ?string { return $this->rawInput; } - /** - * Sets the raw input of this phone number. - * - * @param string $value The raw input. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setRawInput(string $value): PhoneNumber + public function setRawInput(string $value): static { $this->rawInput = $value; return $this; } - /** - * Returns whether this phone number has a country code source. - * - * @return bool True if a country code source is set, false otherwise. - */ public function hasCountryCodeSource(): bool { return $this->countryCodeSource !== CountryCodeSource::UNSPECIFIED; } - /** - * Returns the country code source of this phone number. - * - * @return int|null A CountryCodeSource constant, or null if not set. - */ - public function getCountryCodeSource(): ?int + public function getCountryCodeSource(): ?CountryCodeSource { return $this->countryCodeSource; } - /** - * Sets the country code source of this phone number. - * - * @param int $value A CountryCodeSource constant. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setCountryCodeSource(int $value): PhoneNumber + public function setCountryCodeSource(CountryCodeSource $value): static { $this->countryCodeSource = $value; return $this; } - /** - * Returns whether this phone number has a preferred domestic carrier code. - * - * @return bool True if a preferred domestic carrier code is set, false otherwise. - */ public function hasPreferredDomesticCarrierCode(): bool { - return $this->preferredDomesticCarrierCode !== null; + return isset($this->preferredDomesticCarrierCode); } - /** - * Returns the preferred domestic carrier code of this phone number. - * - * @return string|null The preferred domestic carrier code, or null if not set. - */ public function getPreferredDomesticCarrierCode(): ?string { return $this->preferredDomesticCarrierCode; } - /** - * Sets the preferred domestic carrier code of this phone number. - * - * @param string $value The preferred domestic carrier code. - * @return PhoneNumber This PhoneNumber instance, for chaining method calls. - */ - public function setPreferredDomesticCarrierCode(string $value): PhoneNumber + public function setPreferredDomesticCarrierCode(string $value): static { $this->preferredDomesticCarrierCode = $value; return $this; @@ -516,7 +348,7 @@ public function __toString(): string $outputString .= ' Extension: ' . $this->extension; } if ($this->hasCountryCodeSource()) { - $outputString .= ' Country Code Source: ' . $this->countryCodeSource; + $outputString .= ' Country Code Source: ' . $this->countryCodeSource->name; } if ($this->hasPreferredDomesticCarrierCode()) { $outputString .= ' Preferred Domestic Carrier Code: ' . $this->preferredDomesticCarrierCode; @@ -524,17 +356,11 @@ public function __toString(): string return $outputString; } - /** - * - */ public function serialize(): ?string { return serialize($this->__serialize()); } - /** - * @return array{?int,?string,?string,?bool,int,?string,int,?string} - */ public function __serialize(): array { return [ @@ -549,16 +375,13 @@ public function __serialize(): array ]; } - /** - * - */ - public function unserialize($data) + public function unserialize($data): void { $this->__unserialize(unserialize($data, ['allowed_classes' => [__CLASS__]])); } /** - * @param array{int,?string,?string,?bool,int,?string,int,?string} $data + * @param array{int,string,string,bool|null,int,string|null,CountryCodeSource|null,string|null} $data */ public function __unserialize(array $data): void { @@ -569,10 +392,16 @@ public function __unserialize(array $data): void $this->italianLeadingZero, $this->numberOfLeadingZeros, $this->rawInput, - $this->countryCodeSource, + $countryCodeSource, $this->preferredDomesticCarrierCode ] = $data; + // BC layer to allow this method to unserialize "old" phonenumbers + if (is_int($countryCodeSource)) { + $countryCodeSource = CountryCodeSource::from($countryCodeSource); + } + $this->countryCodeSource = $countryCodeSource; + if ($this->numberOfLeadingZeros > 1) { $this->hasNumberOfLeadingZeros = true; } diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberDesc.php b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberDesc.php index 8005dfb5f..5ba1ec910 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberDesc.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberDesc.php @@ -6,8 +6,7 @@ /** * Phone Number Description - * @interal - * @phpstan-type PhoneNumberDescArray array{pattern?:string,example?:string,posLength?:int[],posLengthLocal?:int[]} + * @internal */ class PhoneNumberDesc { @@ -24,21 +23,6 @@ class PhoneNumberDesc */ protected array $possibleLengthLocalOnly = []; - public function __construct() - { - $this->clear(); - } - - public function clear(): PhoneNumberDesc - { - $this->clearNationalNumberPattern(); - $this->clearPossibleLength(); - $this->clearPossibleLengthLocalOnly(); - $this->clearExampleNumber(); - - return $this; - } - /** * @return int[] */ @@ -50,14 +34,15 @@ public function getPossibleLength(): array /** * @param int[] $possibleLength */ - public function setPossibleLength(array $possibleLength): void + public function setPossibleLength(array $possibleLength): static { $this->possibleLength = $possibleLength; + return $this; } public function addPossibleLength(int $possibleLength): void { - if (!in_array($possibleLength, $this->possibleLength)) { + if (!in_array($possibleLength, $this->possibleLength, true)) { $this->possibleLength[] = $possibleLength; } } @@ -78,14 +63,16 @@ public function getPossibleLengthLocalOnly(): array /** * @param int[] $possibleLengthLocalOnly */ - public function setPossibleLengthLocalOnly(array $possibleLengthLocalOnly): void + public function setPossibleLengthLocalOnly(array $possibleLengthLocalOnly): static { $this->possibleLengthLocalOnly = $possibleLengthLocalOnly; + + return $this; } public function addPossibleLengthLocalOnly(int $possibleLengthLocalOnly): void { - if (!in_array($possibleLengthLocalOnly, $this->possibleLengthLocalOnly)) { + if (!in_array($possibleLengthLocalOnly, $this->possibleLengthLocalOnly, true)) { $this->possibleLengthLocalOnly[] = $possibleLengthLocalOnly; } } @@ -95,6 +82,9 @@ public function clearPossibleLengthLocalOnly(): void $this->possibleLengthLocalOnly = []; } + /** + * @return boolean + */ public function hasNationalNumberPattern(): bool { return $this->hasNationalNumberPattern; @@ -105,7 +95,7 @@ public function getNationalNumberPattern(): string return $this->nationalNumberPattern; } - public function setNationalNumberPattern(string $value): PhoneNumberDesc + public function setNationalNumberPattern(string $value): static { $this->hasNationalNumberPattern = true; $this->nationalNumberPattern = $value; @@ -113,13 +103,6 @@ public function setNationalNumberPattern(string $value): PhoneNumberDesc return $this; } - public function clearNationalNumberPattern(): PhoneNumberDesc - { - $this->hasNationalNumberPattern = false; - $this->nationalNumberPattern = ''; - return $this; - } - public function hasExampleNumber(): bool { return $this->hasExampleNumber; @@ -130,7 +113,7 @@ public function getExampleNumber(): string return $this->exampleNumber; } - public function setExampleNumber(string $value): PhoneNumberDesc + public function setExampleNumber(string $value): static { $this->hasExampleNumber = true; $this->exampleNumber = $value; @@ -138,80 +121,20 @@ public function setExampleNumber(string $value): PhoneNumberDesc return $this; } - public function clearExampleNumber(): self - { - $this->hasExampleNumber = false; - $this->exampleNumber = ''; - - return $this; - } - - public function mergeFrom(PhoneNumberDesc $other): self - { - if ($other->hasNationalNumberPattern()) { - $this->setNationalNumberPattern($other->getNationalNumberPattern()); - } - if ($other->hasExampleNumber()) { - $this->setExampleNumber($other->getExampleNumber()); - } - $this->setPossibleLength($other->getPossibleLength()); - $this->setPossibleLengthLocalOnly($other->getPossibleLengthLocalOnly()); - - return $this; - } - - public function exactlySameAs(PhoneNumberDesc $other): bool - { - return $this->nationalNumberPattern === $other->nationalNumberPattern && - $this->exampleNumber === $other->exampleNumber; - } - - /** - * @internal - * @return PhoneNumberDescArray - */ - public function toArray(): array - { - $data = []; - if ($this->hasNationalNumberPattern()) { - $data['pattern'] = $this->getNationalNumberPattern(); - } - if ($this->hasExampleNumber()) { - $data['example'] = $this->getExampleNumber(); - } - - $possibleLength = $this->getPossibleLength(); - if (!empty($possibleLength)) { - $data['posLength'] = $possibleLength; - } - - $possibleLengthLocalOnly = $this->getPossibleLengthLocalOnly(); - if (!empty($possibleLengthLocalOnly)) { - $data['posLengthLocal'] = $possibleLengthLocalOnly; - } - - return $data; - } + private static self $emptyObject; /** + * Used for metadata as a shortcut to an empty object + * Use the same object to reduce load further * @internal - * @param PhoneNumberDescArray $input */ - public function fromArray(array $input): static + public static function empty(): self { - if (isset($input['pattern']) && $input['pattern'] !== '') { - $this->setNationalNumberPattern($input['pattern']); - } - if (isset($input['example']) && $input['example'] !== '') { - $this->setExampleNumber($input['example']); - } - if (isset($input['posLength'])) { - $this->setPossibleLength($input['posLength']); - } - if (isset($input['posLengthLocal'])) { - $this->setPossibleLengthLocalOnly($input['posLengthLocal']); + if (!isset(self::$emptyObject)) { + self::$emptyObject = (new self()) + ->setPossibleLength([-1]); } - return $this; + return self::$emptyObject; } } diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberFormat.php b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberFormat.php index 014c64530..219204783 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberFormat.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberFormat.php @@ -1,5 +1,7 @@ = 0.'); + throw new InvalidArgumentException('Start index must be >= 0.'); } $this->start = $start; $this->rawString = $rawString; + $this->number = $number; } /** @@ -54,7 +68,7 @@ public function start(): int */ public function end(): int { - return $this->start + \mb_strlen($this->rawString); + return $this->start + mb_strlen($this->rawString); } /** @@ -65,7 +79,7 @@ public function rawString(): string return $this->rawString; } - public function __toString(): string + public function __toString() { return "PhoneNumberMatch [{$this->start()},{$this->end()}) {$this->rawString}"; } diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberType.php b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberType.php index aca23fc26..e0b303e5f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberType.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberType.php @@ -1,71 +1,56 @@ + * The cost of this call is shared between the caller and the recipient, and is hence typically + * less than PREMIUM_RATE calls. See // http://en.wikipedia.org/wiki/Shared_Cost_Service for + * more information. */ - public static function values(): array - { - return [ - self::FIXED_LINE => 'FIXED_LINE', - self::MOBILE => 'MOBILE', - self::FIXED_LINE_OR_MOBILE => 'FIXED_LINE_OR_MOBILE', - self::TOLL_FREE => 'TOLL_FREE', - self::PREMIUM_RATE => 'PREMIUM_RATE', - self::SHARED_COST => 'SHARED_COST', - self::VOIP => 'VOIP', - self::PERSONAL_NUMBER => 'PERSONAL_NUMBER', - self::PAGER => 'PAGER', - self::UAN => 'UAN', - self::UNKNOWN => 'UNKNOWN', - self::EMERGENCY => 'EMERGENCY', - self::VOICEMAIL => 'VOICEMAIL', - self::SHORT_CODE => 'SHORT_CODE', - self::STANDARD_RATE => 'STANDARD_RATE', - ]; - } + case SHARED_COST = 5; + /** + * Voice over IP numbers. This includes TSoIP (Telephony Service over IP). + */ + case VOIP = 6; + /** + * A personal number is associated with a particular person, and may be routed to either a + * MOBILE or FIXED_LINE number. Some more information can be found here: + * http://en.wikipedia.org/wiki/Personal_Numbers + */ + case PERSONAL_NUMBER = 7; + case PAGER = 8; + /** + * Used for "Universal Access Numbers" or "Company Numbers". They may be further routed to + * specific offices, but allow one number to be used for a company. + */ + case UAN = 9; + /** + * A phone number is of type UNKNOWN when it does not fit any of the known patterns for a + * specific region. + */ + case UNKNOWN = 10; + + case EMERGENCY = 27; + case VOICEMAIL = 28; + case SHORT_CODE = 29; + case STANDARD_RATE = 30; } diff --git a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberUtil.php b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberUtil.php index d8880db02..fab9c93c3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/PhoneNumberUtil.php +++ b/giggsey/libphonenumber-for-php-lite/src/PhoneNumberUtil.php @@ -4,6 +4,10 @@ namespace libphonenumber; +use InvalidArgumentException; +use RuntimeException; +use TypeError; + /** * Utility for international phone numbers. Functionality includes formatting, parsing and * validation. @@ -16,6 +20,7 @@ * can be found here: * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html * @phpstan-consistent-constructor + * @no-named-arguments */ class PhoneNumberUtil { @@ -37,13 +42,9 @@ class PhoneNumberUtil * @internal */ public const REGION_CODE_FOR_NON_GEO_ENTITY = '001'; - /** - * @internal - */ - public const META_DATA_FILE_PREFIX = __DIR__ . '/data/PhoneNumberMetadata'; // Region-code for the unknown region. - protected const UNKNOWN_REGION = 'ZZ'; + public const UNKNOWN_REGION = 'ZZ'; protected const NANPA_COUNTRY_CODE = 1; // The PLUS_SIGN signifies the international prefix. @@ -115,8 +116,7 @@ class PhoneNumberUtil + [self::PLUS_SIGN => self::PLUS_SIGN] + ['*' => '*', '#' => '#']; - - protected static ?PhoneNumberUtil $instance = null; + protected static ?PhoneNumberUtil $instance; /** * Only upper-case variants of alpha characters are stored. @@ -188,7 +188,8 @@ class PhoneNumberUtil 54, // Argentina 55, // Brazil 62, // Indonesia: some prefixes only (fixed CMDA wireless) - ] + self::GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES; + 86, // China + ]; /** * For performance reasons, amalgamate both into one map. @@ -199,7 +200,7 @@ class PhoneNumberUtil * Separate map of all symbols that we wish to retain when formatting alpha numbers. This * includes digits, ASCII letters and number grouping symbols such as "-" and " ". * - * @var array + * @var array */ protected static array $ALL_PLUS_NUMBER_GROUPING_SYMBOLS; @@ -261,9 +262,6 @@ class PhoneNumberUtil * Note VALID_PUNCTUATION starts with a -, so must be the first in the range. */ protected static string $VALID_PHONE_NUMBER; - /** - * @var array - */ protected const NUMERIC_CHARACTERS = [ "\xef\xbc\x90" => 0, "\xef\xbc\x91" => 1, @@ -338,9 +336,7 @@ class PhoneNumberUtil * @var string[] */ protected array $nanpaRegions = []; - protected MetadataSourceInterface $metadataSource; - protected MatcherAPIInterface $matcherAPI; /** @@ -352,7 +348,7 @@ protected function __construct(MetadataSourceInterface $metadataSource, array $c $this->metadataSource = $metadataSource; $this->countryCallingCodeToRegionCodeMap = $countryCallingCodeToRegionCodeMap; $this->init(); - $this->matcherAPI = RegexBasedMatcher::create(); + $this->matcherAPI = new RegexBasedMatcher(); static::initExtnPatterns(); static::initExtnPattern(); static::initRFC3966Patterns(); @@ -392,27 +388,15 @@ protected function __construct(MetadataSourceInterface $metadataSource, array $c *

The {@link PhoneNumberUtil} is implemented as a singleton. Therefore, calling getInstance * multiple times will only result in one instance being created. * - * @param array>|null $countryCallingCodeToRegionCodeMap + * @param array $countryCallingCodeToRegionCodeMap * @return PhoneNumberUtil instance */ public static function getInstance( - string $baseFileLocation = self::META_DATA_FILE_PREFIX, - ?array $countryCallingCodeToRegionCodeMap = null, - ?MetadataLoaderInterface $metadataLoader = null, - ?MetadataSourceInterface $metadataSource = null + string $metadataLocation = __NAMESPACE__ . '\data\PhoneNumberMetadata_', + array $countryCallingCodeToRegionCodeMap = CountryCodeToRegionCodeMap::COUNTRY_CODE_TO_REGION_CODE_MAP, ): PhoneNumberUtil { - if (static::$instance === null) { - if ($countryCallingCodeToRegionCodeMap === null) { - $countryCallingCodeToRegionCodeMap = CountryCodeToRegionCodeMap::COUNTRY_CODE_TO_REGION_CODE_MAP; - } - - if ($metadataLoader === null) { - $metadataLoader = new DefaultMetadataLoader(); - } - - if ($metadataSource === null) { - $metadataSource = new MultiFileMetadataSourceImpl($metadataLoader, $baseFileLocation); - } + if (!isset(static::$instance)) { + $metadataSource = new MultiFileMetadataSourceImpl($metadataLocation); static::$instance = new static($metadataSource, $countryCallingCodeToRegionCodeMap); } @@ -440,7 +424,7 @@ protected function init(): void // If the non-geo entity still got added to the set of supported regions it must be because // there are entries that list the non-geo entity alongside normal regions (which is wrong). // If we discover this, remove the non-geo entity from the set of supported regions and log. - $idx_region_code_non_geo_entity = array_search(static::REGION_CODE_FOR_NON_GEO_ENTITY, $this->supportedRegions); + $idx_region_code_non_geo_entity = array_search(static::REGION_CODE_FOR_NON_GEO_ENTITY, $this->supportedRegions, true); if ($idx_region_code_non_geo_entity !== false) { unset($this->supportedRegions[$idx_region_code_non_geo_entity]); } @@ -591,10 +575,10 @@ public static function convertAlphaCharactersInNumber(string $number): string * removeNonMatches is true. * * @param string $number a string of characters representing a phone number - * @param array $normalizationReplacements a mapping of characters to what they should be replaced by in - * the normalized version of the phone number. + * @param array $normalizationReplacements a mapping of characters to what they should be replaced by in + * the normalized version of the phone number. * @param bool $removeNonMatches indicates whether characters that are not able to be replaced. - * should be stripped from the number. If this is false, they will be left unchanged in the number. + * should be stripped from the number. If this is false, they will be left unchanged in the number. * @return string the normalized string version of the phone number. */ protected static function normalizeHelper(string $number, array $normalizationReplacements, bool $removeNonMatches): string @@ -632,7 +616,7 @@ public static function formattingRuleHasFirstGroupOnly(string $nationalPrefixFor * Returns all regions the library has metadata for. * * @return string[] An unordered array of the two-letter region codes for every geographical region the - * library supports + * library supports */ public function getSupportedRegions(): array { @@ -643,7 +627,7 @@ public function getSupportedRegions(): array * Returns all global network calling codes the library has metadata for. * * @return int[] An unordered array of the country calling codes for every non-geographical entity - * the library supports + * the library supports */ public function getSupportedGlobalNetworkCallingCodes(): array { @@ -652,12 +636,12 @@ public function getSupportedGlobalNetworkCallingCodes(): array /** * Returns all country calling codes the library has metadata for, covering both non-geographical - * entities (global network calling codes) and those used for geographical entities. This could be + * entities (global network calling codes) and those used for geographical entities. The could be * used to populate a drop-down box of country calling codes for a phone-number widget, for * instance. * * @return int[] An unordered array of the country calling codes for every geographical and - * non-geographical entity the library supports + * non-geographical entity the library supports */ public function getSupportedCallingCodes(): array { @@ -691,13 +675,12 @@ protected static function descHasData(PhoneNumberDesc $desc): bool /** * Returns the types we have metadata for based on the PhoneMetadata object passed in. - * - * @return array + * @return array */ private function getSupportedTypesForMetadata(PhoneMetadata $metadata): array { $types = []; - foreach (array_keys(PhoneNumberType::values()) as $type) { + foreach (PhoneNumberType::cases() as $type) { if ($type === PhoneNumberType::FIXED_LINE_OR_MOBILE || $type === PhoneNumberType::UNKNOWN) { // Never return FIXED_LINE_OR_MOBILE (it is a convenience type, and represents that a // particular number type can't be determined) or UNKNOWN (the non-type). @@ -719,16 +702,14 @@ private function getSupportedTypesForMetadata(PhoneMetadata $metadata): array * * No types will be returned for invalid or unknown region codes. * - * @return array Array of PhoneNumberType's + * @return array */ public function getSupportedTypesForRegion(string $regionCode): array { - $metadata = $this->getMetadataForRegion($regionCode); - - if ($metadata === null) { + if (!$this->isValidRegionCode($regionCode)) { return []; } - + $metadata = $this->getMetadataForRegion($regionCode); return $this->getSupportedTypesForMetadata($metadata); } @@ -737,7 +718,8 @@ public function getSupportedTypesForRegion(string $regionCode): array * has metadata for. Will not include FIXED_LINE_OR_MOBILE (if numbers for this non-geographical * entity could be classified as FIXED_LINE_OR_MOBILE, both FIXED_LINE and MOBILE would be * present) and UNKNOWN. - * @return array Array of PhoneNumberType's + * + * @return array */ public function getSupportedTypesForNonGeoEntity(int $countryCallingCode): array { @@ -797,12 +779,14 @@ public function getLengthOfGeographicalAreaCode(PhoneNumber $number): int $countryCallingCode = $number->getCountryCode(); - // If a country doesn't use a national prefix, and this number doesn't have an Italian leading // zero, we assume it is a closed dialling plan with no area codes. // Note:this is our general assumption, but there are exceptions which are tracked in // COUNTRIES_WITHOUT_NATIONAL_PREFIX_WITH_AREA_CODES. - if (!$metadata->hasNationalPrefix() && !$number->isItalianLeadingZero() && !in_array($countryCallingCode, static::COUNTRIES_WITHOUT_NATIONAL_PREFIX_WITH_AREA_CODES)) { + if (!$metadata->hasNationalPrefix() + && !$number->isItalianLeadingZero() + && !in_array($countryCallingCode, static::COUNTRIES_WITHOUT_NATIONAL_PREFIX_WITH_AREA_CODES, true) + ) { return 0; } @@ -812,7 +796,7 @@ public function getLengthOfGeographicalAreaCode(PhoneNumber $number): int // Note this is a rough heuristic; it doesn't cover Indonesia well, for example, where area // codes are present for some mobile phones but not for others. We have no better way of // representing this in the metadata at this point. - && in_array($countryCallingCode, static::GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES) + && in_array($countryCallingCode, static::GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES, true) ) { return 0; } @@ -842,7 +826,7 @@ public function getMetadataForRegion(?string $regionCode): ?PhoneMetadata */ protected function isValidRegionCode(?string $regionCode): bool { - return $regionCode !== null && in_array(strtoupper($regionCode), $this->supportedRegions); + return $regionCode !== null && in_array(strtoupper($regionCode), $this->supportedRegions, true); } /** @@ -851,8 +835,8 @@ protected function isValidRegionCode(?string $regionCode): bool * numbers). * * @param PhoneNumber $number the phone number whose origin we want to know - * @return null|string the region where the phone number is from, or null if no region matches this calling - * code + * @return null|string the region where the phone number is from, or null if no region matches this calling + * code */ public function getRegionCodeForNumber(PhoneNumber $number): ?string { @@ -870,7 +854,6 @@ public function getRegionCodeForNumber(PhoneNumber $number): ?string /** * Returns the region code for a number from the list of region codes passing in. - * * @param string[] $regionCodes */ protected function getRegionCodeForNumberFromRegionList(PhoneNumber $number, array $regionCodes): ?string @@ -879,7 +862,6 @@ protected function getRegionCodeForNumberFromRegionList(PhoneNumber $number, arr foreach ($regionCodes as $regionCode) { // If leadingDigits is present, use this. Otherwise, do full validation. // Metadata cannot be null because the region codes come from the country calling code map. - /** @var PhoneMetadata $metadata */ $metadata = $this->getMetadataForRegion($regionCode); if ($metadata->hasLeadingDigits()) { $nbMatches = preg_match( @@ -899,7 +881,7 @@ protected function getRegionCodeForNumberFromRegionList(PhoneNumber $number, arr } /** - * Gets the national significant number of the phone number. Note a national significant number + * Gets the national significant number of the a phone number. Note a national significant number * doesn't contain a national prefix or any formatting. * * @param PhoneNumber $number the phone number for which the national significant number is needed @@ -917,12 +899,7 @@ public function getNationalSignificantNumber(PhoneNumber $number): string return $nationalNumber; } - /** - * Returns the type of number passed in i.e Toll free, premium. - * - * @return int PhoneNumberType constant - */ - protected function getNumberTypeHelper(string $nationalNumber, PhoneMetadata $metadata): int + protected function getNumberTypeHelper(string $nationalNumber, PhoneMetadata $metadata): PhoneNumberType { if (!$this->isNumberMatchingDesc($nationalNumber, $metadata->getGeneralDesc())) { return PhoneNumberType::UNKNOWN; @@ -972,14 +949,17 @@ protected function getNumberTypeHelper(string $nationalNumber, PhoneMetadata $me return PhoneNumberType::UNKNOWN; } - public function isNumberMatchingDesc(string $nationalNumber, PhoneNumberDesc $numberDesc): bool + protected function isNumberMatchingDesc(string $nationalNumber, ?PhoneNumberDesc $numberDesc): bool { + if ($numberDesc === null) { + return false; + } // Check if any possible number lengths are present; if so, we use them to avoid checking the // validation pattern if they don't match. If they are absent, this means they match the general // description, which we have already checked before checking a specific number type. $actualLength = mb_strlen($nationalNumber); $possibleLengths = $numberDesc->getPossibleLength(); - if (count($possibleLengths) > 0 && !in_array($actualLength, $possibleLengths)) { + if (count($possibleLengths) > 0 && !in_array($actualLength, $possibleLengths, true)) { return false; } @@ -1001,10 +981,10 @@ public function isNumberMatchingDesc(string $nationalNumber, PhoneNumberDesc $nu * This version exists since calculating the phone number type is expensive; if we have already * done this, we don't want to do it again. * - * @param PhoneNumber|int $phoneNumberObjOrType A PhoneNumber object, or a PhoneNumberType integer + * @param PhoneNumber|PhoneNumberType $phoneNumberObjOrType A PhoneNumber object, or a PhoneNumberType integer * @param int|null $countryCallingCode Used when passing a PhoneNumberType */ - public function isNumberGeographical(PhoneNumber|int $phoneNumberObjOrType, ?int $countryCallingCode = null): bool + public function isNumberGeographical(PhoneNumber|PhoneNumberType $phoneNumberObjOrType, ?int $countryCallingCode = null): bool { if ($phoneNumberObjOrType instanceof PhoneNumber) { return $this->isNumberGeographical($this->getNumberType($phoneNumberObjOrType), $phoneNumberObjOrType->getCountryCode()); @@ -1012,24 +992,19 @@ public function isNumberGeographical(PhoneNumber|int $phoneNumberObjOrType, ?int return $phoneNumberObjOrType === PhoneNumberType::FIXED_LINE || $phoneNumberObjOrType === PhoneNumberType::FIXED_LINE_OR_MOBILE - || ( - in_array($countryCallingCode, static::GEO_MOBILE_COUNTRIES) - && $phoneNumberObjOrType === PhoneNumberType::MOBILE - ); + || (in_array($countryCallingCode, static::GEO_MOBILE_COUNTRIES, true) + && $phoneNumberObjOrType === PhoneNumberType::MOBILE); } /** * Gets the type of a valid phone number. * * @param PhoneNumber $number the number the phone number that we want to know the type - * @return int PhoneNumberType the type of the phone number, or UNKNOWN if it is invalid + * @return PhoneNumberType the type of the phone number, or PhoneNumberType::UNKNOWN if it is invalid */ - public function getNumberType(PhoneNumber $number): int + public function getNumberType(PhoneNumber $number): PhoneNumberType { $regionCode = $this->getRegionCodeForNumber($number); - if ($regionCode === null) { - return PhoneNumberType::UNKNOWN; - } $metadata = $this->getMetadataForRegionOrCallingCode($number->getCountryCode(), $regionCode); if ($metadata === null) { return PhoneNumberType::UNKNOWN; @@ -1038,7 +1013,7 @@ public function getNumberType(PhoneNumber $number): int return $this->getNumberTypeHelper($nationalSignificantNumber, $metadata); } - protected function getMetadataForRegionOrCallingCode(int $countryCallingCode, string $regionCode): ?PhoneMetadata + protected function getMetadataForRegionOrCallingCode(int $countryCallingCode, ?string $regionCode): ?PhoneMetadata { return static::REGION_CODE_FOR_NON_GEO_ENTITY === $regionCode ? $this->getMetadataForNonGeographicalRegion($countryCallingCode) : $this->getMetadataForRegion($regionCode); @@ -1081,7 +1056,7 @@ public function getMetadataForNonGeographicalRegion(int $countryCallingCode): ?P * * * Refer to the unit tests to see the difference between this function and - * {@link #getLengthOfGeographicalAreaCode}. + * {@see getLengthOfGeographicalAreaCode}. * * @param PhoneNumber $number the PhoneNumber object for which clients want to know the length of the NDC. * @return int the length of NDC of the PhoneNumber object passed in, which could be zero @@ -1133,12 +1108,8 @@ public function getLengthOfNationalDestinationCode(PhoneNumber $number): int * country calling code of 0 or an otherwise invalid country calling code, we cannot work out * which formatting rules to apply so we return the national significant number with no formatting * applied. - * - * @param PhoneNumber $number the phone number to be formatted - * @param int $numberFormat the PhoneNumberFormat the phone number should be formatted into - * @return string the formatted phone number */ - public function format(PhoneNumber $number, int $numberFormat): string + public function format(PhoneNumber $number, PhoneNumberFormat $numberFormat): string { if ($number->getNationalNumber() === '0' && $number->hasRawInput()) { // Unparseable numbers that kept their raw input just use that. @@ -1156,6 +1127,10 @@ public function format(PhoneNumber $number, int $numberFormat): string $countryCallingCode = $number->getCountryCode(); $nationalSignificantNumber = $this->getNationalSignificantNumber($number); + if ($countryCallingCode === null) { + return $nationalSignificantNumber; + } + if ($numberFormat === PhoneNumberFormat::E164) { // Early exit for E164 case (even if the country calling code is invalid) since no formatting // of the national number needs to be applied. Extensions are not formatted. @@ -1175,7 +1150,6 @@ public function format(PhoneNumber $number, int $numberFormat): string $regionCode = $this->getRegionCodeForCountryCode($countryCallingCode); // Metadata cannot be null because the country calling code is valid (which means that the // region code cannot be ZZ and must be one of our supported region codes). - /** @var PhoneMetadata $metadata */ $metadata = $this->getMetadataForRegionOrCallingCode($countryCallingCode, $regionCode); $formattedNumber .= $this->formatNsn($nationalSignificantNumber, $metadata, $numberFormat); $this->maybeAppendFormattedExtension($number, $metadata, $numberFormat, $formattedNumber); @@ -1185,9 +1159,8 @@ public function format(PhoneNumber $number, int $numberFormat): string /** * A helper function that is used by format and formatByPattern. - * @param int $numberFormat PhoneNumberFormat */ - protected function prefixNumberWithCountryCallingCode(int $countryCallingCode, int $numberFormat, string &$formattedNumber): void + protected function prefixNumberWithCountryCallingCode(int $countryCallingCode, PhoneNumberFormat $numberFormat, string &$formattedNumber): void { switch ($numberFormat) { case PhoneNumberFormat::E164: @@ -1199,6 +1172,8 @@ protected function prefixNumberWithCountryCallingCode(int $countryCallingCode, i case PhoneNumberFormat::RFC3966: $formattedNumber = static::RFC3966_PREFIX . static::PLUS_SIGN . $countryCallingCode . '-' . $formattedNumber; return; + case PhoneNumberFormat::NATIONAL: + return; } } @@ -1229,14 +1204,13 @@ public function getRegionCodeForCountryCode(int $countryCallingCode): string * depending on whether it forms part of the NATIONAL format or INTERNATIONAL format. The * numberFormat parameter here is used to specify which format to use for those cases. If a * carrierCode is specified, this will be inserted into the formatted string to replace $CC. - * @param int $numberFormat PhoneNumberFormat */ - protected function formatNsn(string $number, PhoneMetadata $metadata, int $numberFormat, ?string $carrierCode = null): string + protected function formatNsn(string $number, PhoneMetadata $metadata, PhoneNumberFormat $numberFormat, ?string $carrierCode = null): string { $intlNumberFormats = $metadata->intlNumberFormats(); // When the intlNumberFormats exists, we use that to format national number for the // INTERNATIONAL format instead of using the numberDesc.numberFormats. - $availableFormats = (empty($intlNumberFormats) || $numberFormat === PhoneNumberFormat::NATIONAL) + $availableFormats = (count($intlNumberFormats) === 0 || $numberFormat === PhoneNumberFormat::NATIONAL) ? $metadata->numberFormats() : $metadata->intlNumberFormats(); $formattingPattern = $this->chooseFormattingPatternForNumber($availableFormats, $number); @@ -1273,13 +1247,12 @@ public function chooseFormattingPatternForNumber(array $availableFormats, string /** * Note that carrierCode is optional - if null or an empty string, no carrier code replacement * will take place. - * @param int $numberFormat PhoneNumberFormat */ public function formatNsnUsingPattern( string $nationalNumber, NumberFormat $formattingPattern, - int $numberFormat, - ?string $carrierCode = null + PhoneNumberFormat $numberFormat, + ?string $carrierCode = null, ): string { $numberFormatRule = $formattingPattern->getFormat(); $m = new Matcher($formattingPattern->getPattern(), $nationalNumber); @@ -1298,9 +1271,7 @@ public function formatNsnUsingPattern( } else { // Use the national prefix formatting rule instead. $nationalPrefixFormattingRule = $formattingPattern->getNationalPrefixFormattingRule(); - if ($numberFormat === PhoneNumberFormat::NATIONAL && - $nationalPrefixFormattingRule !== '' - ) { + if ($numberFormat === PhoneNumberFormat::NATIONAL && $nationalPrefixFormattingRule !== '') { $firstGroupMatcher = new Matcher(static::FIRST_GROUP_PATTERN, $numberFormatRule); $formattedNationalNumber = $m->replaceAll( $firstGroupMatcher->replaceFirst($nationalPrefixFormattingRule) @@ -1324,10 +1295,8 @@ public function formatNsnUsingPattern( /** * Appends the formatted extension of a phone number to formattedNumber, if the phone number had * an extension specified. - * - * @param int $numberFormat PhoneNumberFormat */ - protected function maybeAppendFormattedExtension(PhoneNumber $number, ?PhoneMetadata $metadata, int $numberFormat, string &$formattedNumber): void + protected function maybeAppendFormattedExtension(PhoneNumber $number, ?PhoneMetadata $metadata, PhoneNumberFormat $numberFormat, string &$formattedNumber): void { if ($number->hasExtension() && $number->getExtension() !== '') { if ($numberFormat === PhoneNumberFormat::RFC3966) { @@ -1357,8 +1326,8 @@ public static function getCountryMobileToken(int $countryCallingCode): string * Checks if the number is a valid vanity (alpha) number such as 800 MICROSOFT. A valid vanity * number will start with at least 3 digits and will have three or more alpha characters. This * does not do region-specific checks - to work out if this number is actually valid for a region, - * it should be parsed and methods such as {@link #isPossibleNumberWithReason} and - * {@link #isValidNumber} should be used. + * it should be parsed and methods such as {@see isPossibleNumberWithReason} and + * {@see isValidNumber} should be used. * * @param string $number the number that needs to be checked * @return bool true if the number is a valid vanity number @@ -1381,7 +1350,7 @@ public function isAlphaNumber(string $number): bool * leading non-number symbols have been removed, such as by the method extractPossibleNumber. * * @param string $number to be checked for viability as a phone number - * @return boolean true if the number could be a phone number of some sort, otherwise false + * @return bool true if the number could be a phone number of some sort, otherwise false */ public static function isViablePhoneNumber(string $number): bool { @@ -1438,18 +1407,18 @@ protected function maybeStripExtension(string &$number): string } /** - * Parses a string and returns it in proto buffer format. This method differs from {@link #parse} + * Parses a string and returns it in proto buffer format. This method differs from {@see parse} * in that it always populates the raw_input field of the protocol buffer with numberToParse as * well as the country_code_source field. * * @param string $numberToParse number that we are attempting to parse. This can contain formatting - * such as +, ( and -, as well as a phone number extension. It can also - * be provided in RFC3966 format. + * such as +, ( and -, as well as a phone number extension. It can also + * be provided in RFC3966 format. * @param string|null $defaultRegion region that we are expecting the number to be from. This is only used - * if the number being parsed is not written in international format. - * The country calling code for the number in this case would be stored - * as that of the default region supplied. - * @return PhoneNumber a phone number proto buffer filled with the parsed number + * if the number being parsed is not written in international format. + * The country calling code for the number in this case would be stored + * as that of the default region supplied. + * @return PhoneNumber a phone number proto buffer filled with the parsed number */ public function parseAndKeepRawInput(string $numberToParse, ?string $defaultRegion, ?PhoneNumber $phoneNumber = null): PhoneNumber { @@ -1471,7 +1440,7 @@ public static function setItalianLeadingZerosForPhoneNumber(string $nationalNumb // Note that if the national number is all "0"s, the last "0" is not counted as a leading // zero. while ($numberOfLeadingZeros < (strlen($nationalNumber) - 1) && - substr($nationalNumber, $numberOfLeadingZeros, 1) === '0') { + $nationalNumber[$numberOfLeadingZeros] === '0') { $numberOfLeadingZeros++; } @@ -1641,9 +1610,10 @@ protected function parseHelper(string $numberToParse, ?string $defaultRegion, bo * Extracts the value of the phone-context parameter of numberToExtractFrom where the index of * ";phone-context=" is the parameter indexOfPhoneContext, following the syntax defined in * RFC3966. + * * @return string|null the extracted string (possibly empty), or null if no phone-context parameter is found. */ - protected function extractPhoneContext(string $numberToExtractFrom, int|false $indexOfPhoneContext): ?string + protected function extractPhoneContext(string $numberToExtractFrom, false|int $indexOfPhoneContext): ?string { // If no phone-context parameter is present if ($indexOfPhoneContext === false) { @@ -1682,7 +1652,7 @@ protected function isPhoneContextValid(?string $phoneContext): bool $domainNamePattern = '/' . static::$RFC3966_DOMAINNAME . '/' . static::REGEX_FLAGS; // Does phone-context value match pattern of global-number-digits or domainname - return preg_match($numberDigitsPattern, $phoneContext) || preg_match($domainNamePattern, $phoneContext); + return preg_match($numberDigitsPattern, $phoneContext) === 1 || preg_match($domainNamePattern, $phoneContext) === 1; } /** @@ -1695,7 +1665,7 @@ protected static function copyCoreFieldsOnly(PhoneNumber $phoneNumberIn): PhoneN $phoneNumber = new PhoneNumber(); $phoneNumber->setCountryCode($phoneNumberIn->getCountryCode()); $phoneNumber->setNationalNumber($phoneNumberIn->getNationalNumber()); - if ($phoneNumberIn->hasExtension() && $phoneNumberIn->getExtension() !== '') { + if ($phoneNumberIn->hasExtension()) { $phoneNumber->setExtension($phoneNumberIn->getExtension()); } if ($phoneNumberIn->isItalianLeadingZero()) { @@ -1717,7 +1687,7 @@ protected function buildNationalNumberForParsing(string $numberToParse, string & $phoneContext = $this->extractPhoneContext($numberToParse, $indexOfPhoneContext); if (!$this->isPhoneContextValid($phoneContext)) { - throw new NumberParseException(NumberParseException::NOT_A_NUMBER, 'The phone-context valid is invalid.'); + throw new NumberParseException(NumberParseException::NOT_A_NUMBER, 'The phone-context value is invalid.'); } if ($phoneContext !== null) { @@ -1734,13 +1704,12 @@ protected function buildNationalNumberForParsing(string $numberToParse, string & // the national number, an optional extension or isdn-subaddress component. Note we also // handle the case when "tel:" is missing, as we have seen in some of the phone number inputs. // In that case, we append everything from the beginning. - $indexOfRfc3966Prefix = strpos($numberToParse, static::RFC3966_PREFIX); $indexOfNationalNumber = ($indexOfRfc3966Prefix !== false) ? $indexOfRfc3966Prefix + strlen(static::RFC3966_PREFIX) : 0; $nationalNumber .= substr( $numberToParse, $indexOfNationalNumber, - $indexOfPhoneContext - $indexOfNationalNumber + (int) $indexOfPhoneContext - $indexOfNationalNumber ); } else { // Extract a possible number from the string passed in (this strips leading characters that @@ -1804,12 +1773,12 @@ public static function extractPossibleNumber(string $number): string * parse starts with a + symbol so that we can attempt to infer the region from the number. * Returns false if it cannot use the region provided and the region cannot be inferred. */ - protected function checkRegionForParsing(?string $numberToParse, ?string $defaultRegion): bool + protected function checkRegionForParsing(string $numberToParse, ?string $defaultRegion): bool { if (!$this->isValidRegionCode($defaultRegion)) { // If the number is null or empty, we can't infer the region. $plusCharsPatternMatcher = new Matcher(static::PLUS_CHARS_PATTERN, $numberToParse); - if ($numberToParse === null || $numberToParse === '' || !$plusCharsPatternMatcher->lookingAt()) { + if ($numberToParse === '' || !$plusCharsPatternMatcher->lookingAt()) { return false; } } @@ -1835,25 +1804,25 @@ protected function checkRegionForParsing(?string $numberToParse, ?string $defaul * code supplied after this does not match that of any known region. * * @param string $number non-normalized telephone number that we wish to extract a country calling - * code from - may begin with '+' + * code from - may begin with '+' * @param PhoneMetadata|null $defaultRegionMetadata metadata about the region this number may be from * @param string $nationalNumber a string buffer to store the national significant number in, in the case - * that a country calling code was extracted. The number is appended to any existing contents. - * If no country calling code was extracted, this will be left unchanged. + * that a country calling code was extracted. The number is appended to any existing contents. + * If no country calling code was extracted, this will be left unchanged. * @param bool $keepRawInput true if the country_code_source and preferred_carrier_code fields of - * phoneNumber should be populated. + * phoneNumber should be populated. * @param PhoneNumber $phoneNumber the PhoneNumber object where the country_code and country_code_source need - * to be populated. Note the country_code is always populated, whereas country_code_source is - * only populated when keepCountryCodeSource is true. + * to be populated. Note the country_code is always populated, whereas country_code_source is + * only populated when keepCountryCodeSource is true. * @return int the country calling code extracted or 0 if none could be extracted * @throws NumberParseException */ public function maybeExtractCountryCode( - string $number, + string $number, ?PhoneMetadata $defaultRegionMetadata, - string &$nationalNumber, - bool $keepRawInput, - PhoneNumber $phoneNumber + string &$nationalNumber, + bool $keepRawInput, + PhoneNumber $phoneNumber ): int { if ($number === '') { return 0; @@ -1902,7 +1871,7 @@ public function maybeExtractCountryCode( $potentialNationalNumber = substr($normalizedNumber, mb_strlen($defaultCountryCodeString)); $generalDesc = $defaultRegionMetadata->getGeneralDesc(); // Don't need the carrier code. - $carrierCode = null; + $carrierCode = ''; $this->maybeStripNationalPrefixAndCarrierCode( $potentialNationalNumber, $defaultRegionMetadata, @@ -1934,14 +1903,14 @@ public function maybeExtractCountryCode( * the resulting number, and indicates if an international prefix was present. * * @param string $number the non-normalized telephone number that we wish to strip any international - * dialing prefix from. + * dialing prefix from. * @param string $possibleIddPrefix string the international direct dialing prefix from the region we - * think this number may be dialed in - * @return int the corresponding CountryCodeSource if an international dialing prefix could be - * removed from the number, otherwise CountryCodeSource.FROM_DEFAULT_COUNTRY if the number did - * not seem to be in international format. + * think this number may be dialed in + * @return CountryCodeSource the corresponding CountryCodeSource if an international dialing prefix could be + * removed from the number, otherwise CountryCodeSource::FROM_DEFAULT_COUNTRY if the number did + * not seem to be in international format. */ - public function maybeStripInternationalPrefixAndNormalize(string &$number, string $possibleIddPrefix): int + public function maybeStripInternationalPrefixAndNormalize(string &$number, string $possibleIddPrefix): CountryCodeSource { if ($number === '') { return CountryCodeSource::FROM_DEFAULT_COUNTRY; @@ -1994,7 +1963,7 @@ public static function normalize(string $number): string * Normalizes a string of characters representing a phone number. This converts wide-ascii and * arabic-indic numerals to European numerals, and strips punctuation and alpha characters. * - * @param string $number a string of characters representing a phone number + * @param $number string a string of characters representing a phone number * @return string the normalized string version of the phone number */ public static function normalizeDigitsOnly(string $number): string @@ -2002,18 +1971,16 @@ public static function normalizeDigitsOnly(string $number): string return static::normalizeDigits($number, false /* strip non-digits */); } - /** - */ public static function normalizeDigits(string $number, bool $keepNonDigits): string { $normalizedDigits = ''; $numberAsArray = preg_split('/(?countryCallingCodeToRegionCodeMap[$potentialCountryCode])) { @@ -2075,12 +2042,12 @@ protected function extractCountryCode(string $fullNumber, string &$nationalNumbe * Strips any national prefix (such as 0, 1) present in the number provided. * * @param string $number the normalized telephone number that we wish to strip any national - * dialing prefix from + * dialing prefix from * @param PhoneMetadata $metadata the metadata for the region that we think this number is from - * @param string|null $carrierCode a place to insert the carrier code if one is extracted + * @param string $carrierCode a place to insert the carrier code if one is extracted * @return bool true if a national prefix or carrier code (or both) could be extracted. */ - public function maybeStripNationalPrefixAndCarrierCode(string &$number, PhoneMetadata $metadata, ?string &$carrierCode): bool + public function maybeStripNationalPrefixAndCarrierCode(string &$number, PhoneMetadata $metadata, string &$carrierCode): bool { $possibleNationalPrefix = $metadata->getNationalPrefixForParsing(); if ($number === '' || $possibleNationalPrefix === null || $possibleNationalPrefix === '') { @@ -2112,7 +2079,7 @@ public function maybeStripNationalPrefixAndCarrierCode(string &$number, PhoneMet )) { return false; } - if ($carrierCode !== null && $numOfGroups > 0 && $prefixMatcher->group($numOfGroups) !== null) { + if ($numOfGroups > 0 && $prefixMatcher->group($numOfGroups) !== null) { $carrierCode .= $prefixMatcher->group(1); } @@ -2134,7 +2101,7 @@ public function maybeStripNationalPrefixAndCarrierCode(string &$number, PhoneMet && !$this->matcherAPI->matchNationalNumber($transformedNumber, $generalDesc, false)) { return false; } - if ($carrierCode !== null && $numOfGroups > 1) { + if ($numOfGroups > 1) { $carrierCode .= $prefixMatcher->group(1); } $number = substr_replace($number, $transformedNumber, 0, mb_strlen($number)); @@ -2152,10 +2119,10 @@ public function maybeStripNationalPrefixAndCarrierCode(string &$number, PhoneMet * connect, the number is not considered possible without it. * * @param PhoneNumber $number The number that needs to be checked - * @param int $type PhoneNumberType The type we are interested in + * @param PhoneNumberType $type PhoneNumberType The type we are interested in * @return bool true if the number is possible for this particular type */ - public function isPossibleNumberForType(PhoneNumber $number, int $type): bool + public function isPossibleNumberForType(PhoneNumber $number, PhoneNumberType $type): bool { $result = $this->isPossibleNumberForTypeWithReason($number, $type); return $result === ValidationResult::IS_POSSIBLE @@ -2165,11 +2132,8 @@ public function isPossibleNumberForType(PhoneNumber $number, int $type): bool /** * Helper method to check a number against possible lengths for this number type, and determine * whether it matches, or is too short or too long. - * - * @param int $type PhoneNumberType - * @return int ValidationResult */ - protected function testNumberLength(string $number, PhoneMetadata $metadata, int $type = PhoneNumberType::UNKNOWN): int + protected function testNumberLength(string $number, PhoneMetadata $metadata, PhoneNumberType $type = PhoneNumberType::UNKNOWN): ValidationResult { $descForType = $this->getNumberDescByType($metadata, $type); // There should always be "possibleLengths" set for every element. This is declared in the XML @@ -2227,7 +2191,7 @@ protected function testNumberLength(string $number, PhoneMetadata $metadata, int // This is safe because there is never an overlap between the possible lengths and the local-only // lengths; this is checked at build time. - if (in_array($actualLength, $localLengths)) { + if (in_array($actualLength, $localLengths, true)) { return ValidationResult::IS_POSSIBLE_LOCAL_ONLY; } @@ -2246,7 +2210,7 @@ protected function testNumberLength(string $number, PhoneMetadata $metadata, int // We skip the first element; we've already checked it. array_shift($possibleLengths); - return in_array($actualLength, $possibleLengths) ? ValidationResult::IS_POSSIBLE : ValidationResult::INVALID_LENGTH; + return in_array($actualLength, $possibleLengths, true) ? ValidationResult::IS_POSSIBLE : ValidationResult::INVALID_LENGTH; } /** @@ -2265,10 +2229,10 @@ public function getRegionCodesForCountryCode(int $countryCallingCode): array * Returns the country calling code for a specific region. For example, this would be 1 for the * United States, and 64 for New Zealand. Assumes the region is already valid. * - * @param string|null $regionCode the region that we want to get the country calling code for + * @param string $regionCode the region that we want to get the country calling code for * @return int the country calling code for the region denoted by regionCode */ - public function getCountryCodeForRegion(?string $regionCode): int + public function getCountryCodeForRegion(string $regionCode): int { if (!$this->isValidRegionCode($regionCode)) { return 0; @@ -2282,13 +2246,13 @@ public function getCountryCodeForRegion(?string $regionCode): int * * @param string $regionCode the region that we want to get the country calling code for * @return int the country calling code for the region denoted by regionCode - * @throws \InvalidArgumentException if the region is invalid + * @throws InvalidArgumentException if the region is invalid */ protected function getCountryCodeForValidRegion(string $regionCode): int { $metadata = $this->getMetadataForRegion($regionCode); if ($metadata === null) { - throw new \InvalidArgumentException('Invalid region code: ' . $regionCode); + throw new InvalidArgumentException('Invalid region code: ' . $regionCode); } return $metadata->getCountryCode(); } @@ -2301,8 +2265,8 @@ protected function getCountryCodeForValidRegion(string $regionCode): int * * @param PhoneNumber $number the phone number to be formatted * @param string $regionCallingFrom the region where the call is being placed - * @param boolean $withFormatting whether the number should be returned with formatting symbols, such as - * spaces and dashes. + * @param bool $withFormatting whether the number should be returned with formatting symbols, such as + * spaces and dashes. * @return string the formatted phone number */ public function formatNumberForMobileDialing(PhoneNumber $number, string $regionCallingFrom, bool $withFormatting): string @@ -2383,11 +2347,11 @@ public function formatNumberForMobileDialing(PhoneNumber $number, string $region * contains an empty string, returns the number in national format without any carrier code. * * @param PhoneNumber $number the phone number to be formatted - * @param string $carrierCode the carrier selection code to be used + * @param string|null $carrierCode the carrier selection code to be used * @return string the formatted phone number in national format for dialing using the carrier as - * specified in the {@code carrierCode} + * specified in the {@code carrierCode} */ - public function formatNationalNumberWithCarrierCode(PhoneNumber $number, string $carrierCode): string + public function formatNationalNumberWithCarrierCode(PhoneNumber $number, ?string $carrierCode): string { $countryCallingCode = $number->getCountryCode(); $nationalSignificantNumber = $this->getNationalSignificantNumber($number); @@ -2424,15 +2388,15 @@ public function formatNationalNumberWithCarrierCode(PhoneNumber $number, string * {@code preferredDomesticCarrierCode}, and the {@code fallbackCarrierCode} contains an empty * string, return the number in national format without any carrier code. * - *

Use {@link #formatNationalNumberWithCarrierCode} instead if the carrier code passed in + *

Use {@see formatNationalNumberWithCarrierCode} instead if the carrier code passed in * should take precedence over the number's {@code preferredDomesticCarrierCode} when formatting. * * @param PhoneNumber $number the phone number to be formatted * @param string $fallbackCarrierCode the carrier selection code to be used, if none is found in the - * phone number itself + * phone number itself * @return string the formatted phone number in national format for dialing using the number's - * {@code preferredDomesticCarrierCode}, or the {@code fallbackCarrierCode} passed in if - * none is found + * {@code preferredDomesticCarrierCode}, or the {@code fallbackCarrierCode} passed in if + * none is found */ public function formatNationalNumberWithPreferredCarrierCode(PhoneNumber $number, string $fallbackCarrierCode): string { @@ -2500,7 +2464,7 @@ public static function normalizeDiallableCharsOnly(string $number): string * * * @param PhoneNumber $number the phone number that needs to be formatted - * @param string $regionCallingFrom the region where the call is being placed + * @param $regionCallingFrom string the region where the call is being placed * @return string the formatted phone number */ public function formatOutOfCountryKeepingAlphaChars(PhoneNumber $number, string $regionCallingFrom): string @@ -2525,7 +2489,7 @@ public function formatOutOfCountryKeepingAlphaChars(PhoneNumber $number, string // trim anything at all. Similarly, if the national number was less than three digits, we don't // trim anything at all. $nationalNumber = $this->getNationalSignificantNumber($number); - if (strlen($nationalNumber) > 3) { + if (mb_strlen($nationalNumber) > 3) { $firstNationalNumberDigit = strpos($rawInput, substr($nationalNumber, 0, 3)); if ($firstNationalNumberDigit !== false) { $rawInput = substr($rawInput, $firstNationalNumberDigit); @@ -2577,13 +2541,16 @@ public function formatOutOfCountryKeepingAlphaChars(PhoneNumber $number, string $regionCode = $this->getRegionCodeForCountryCode($countryCode); // Metadata cannot be null because the country calling code is valid. $metadataForRegion = $this->getMetadataForRegionOrCallingCode($countryCode, $regionCode); + // Strip any extension + $this->maybeStripExtension($formattedNumber); + // Append the formatted extension $this->maybeAppendFormattedExtension( $number, $metadataForRegion, PhoneNumberFormat::INTERNATIONAL, $formattedNumber ); - if (isset($internationalPrefixForFormatting) && $internationalPrefixForFormatting !== '') { + if ($internationalPrefixForFormatting !== null && $internationalPrefixForFormatting !== '') { $formattedNumber = $internationalPrefixForFormatting . ' ' . $countryCode . ' ' . $formattedNumber; } else { // Invalid region entered as country-calling-from (so no metadata was found for it) or the @@ -2612,7 +2579,7 @@ public function formatOutOfCountryKeepingAlphaChars(PhoneNumber $number, string * * @param PhoneNumber $number the phone number to be formatted * @param string $regionCallingFrom the region where the call is being placed - * @return string the formatted phone number + * @return string the formatted phone number */ public function formatOutOfCountryCallingNumber(PhoneNumber $number, string $regionCallingFrom): string { @@ -2689,11 +2656,11 @@ public function formatOutOfCountryCallingNumber(PhoneNumber $number, string $reg /** * Checks if this is a region under the North American Numbering Plan Administration (NANPA). - * @return boolean true if regionCode is one of the regions under NANPA + * @return bool true if regionCode is one of the regions under NANPA */ public function isNANPACountry(string $regionCode): bool { - return in_array(strtoupper($regionCode), $this->nanpaRegions); + return in_array(strtoupper($regionCode), $this->nanpaRegions, true); } /** @@ -2710,7 +2677,7 @@ public function isNANPACountry(string $regionCode): bool * * @param PhoneNumber $number the phone number that needs to be formatted in its original number format * @param string $regionCallingFrom the region whose IDD needs to be prefixed if the original number - * has one + * has one * @return string the formatted phone number in its original number format */ public function formatInOriginalFormat(PhoneNumber $number, string $regionCallingFrom): string @@ -2800,7 +2767,7 @@ public function formatInOriginalFormat(PhoneNumber $number, string $regionCallin $rawInput = $number->getRawInput(); // If no digit is inserted/removed/modified as a result of our formatting, we return the // formatted phone number; otherwise we return the raw input the user entered. - if ($formattedNumber !== null && $rawInput !== '') { + if ($rawInput !== '') { $normalizedFormattedNumber = static::normalizeDiallableCharsOnly($formattedNumber); $normalizedRawInput = static::normalizeDiallableCharsOnly($rawInput); if ($normalizedFormattedNumber !== $normalizedRawInput) { @@ -2810,8 +2777,6 @@ public function formatInOriginalFormat(PhoneNumber $number, string $regionCallin return $formattedNumber; } - /** - */ protected function hasFormattingPatternForNumber(PhoneNumber $number): bool { $countryCallingCode = $number->getCountryCode(); @@ -2836,7 +2801,7 @@ protected function hasFormattingPatternForNumber(PhoneNumber $number): bool * formatting functions to prefix the national prefix when required. * * @param string $regionCode the region that we want to get the dialling prefix for - * @param boolean $stripNonDigits true to strip non-digits from the national dialling prefix + * @param bool $stripNonDigits true to strip non-digits from the national dialling prefix * @return string|null the dialling prefix for the region denoted by regionCode */ public function getNddPrefixForRegion(string $regionCode, bool $stripNonDigits): ?string @@ -2890,16 +2855,11 @@ protected function rawInputContainsNationalPrefix(string $rawInput, string $nati * significant number "789272696". This is valid, while the original string is not diallable. * * @param PhoneNumber $number the phone number that we want to validate - * @return boolean that indicates whether the number is of a valid pattern + * @return bool that indicates whether the number is of a valid pattern */ public function isValidNumber(PhoneNumber $number): bool { $regionCode = $this->getRegionCodeForNumber($number); - - if ($regionCode === null) { - return false; - } - return $this->isValidNumberForRegion($number, $regionCode); } @@ -2910,18 +2870,21 @@ public function isValidNumber(PhoneNumber $number): bool * immediately exits with false. After this, the specific number pattern rules for the region are * examined. This is useful for determining for example whether a particular number is valid for * Canada, rather than just a valid NANPA number. - * Warning: In most cases, you want to use {@link #isValidNumber} instead. For example, this + * Warning: In most cases, you want to use {@see isValidNumber} instead. For example, this * method will mark numbers from British Crown dependencies such as the Isle of Man as invalid for * the region "GB" (United Kingdom), since it has its own region code, "IM", which may be * undesirable. * * @param PhoneNumber $number the phone number that we want to validate - * @param string $regionCode the region that we want to validate the phone number for - * @return boolean that indicates whether the number is of a valid pattern + * @param string|null $regionCode the region that we want to validate the phone number for + * @return bool that indicates whether the number is of a valid pattern */ - public function isValidNumberForRegion(PhoneNumber $number, string $regionCode): bool + public function isValidNumberForRegion(PhoneNumber $number, ?string $regionCode): bool { $countryCode = $number->getCountryCode(); + if ($countryCode === null) { + return false; + } $metadata = $this->getMetadataForRegionOrCallingCode($countryCode, $regionCode); if (($metadata === null) || (static::REGION_CODE_FOR_NON_GEO_ENTITY !== $regionCode && @@ -2947,27 +2910,27 @@ public function isValidNumberForRegion(PhoneNumber $number, string $regionCode): * *

This method will throw a {@link NumberParseException} if the number is not considered to * be a possible number. Note that validation of whether the number is actually a valid number - * for a particular region is not performed. This can be done separately with {@link #isValidNumber}. + * for a particular region is not performed. This can be done separately with {@see isValidNumber}. * *

Note this method canonicalizes the phone number such that different representations can be * easily compared, no matter what form it was originally entered in (e.g. national, * international). If you want to record context about the number being parsed, such as the raw - * input that was entered, how the country code was derived etc. then call {@link - * #parseAndKeepRawInput} instead. + * input that was entered, how the country code was derived etc. then call {@see parseAndKeepRawInput} + * instead. * * @param string $numberToParse number that we are attempting to parse. This can contain formatting - * such as +, ( and -, as well as a phone number extension. + * such as +, ( and -, as well as a phone number extension. * @param string|null $defaultRegion region that we are expecting the number to be from. This is only used - * if the number being parsed is not written in international format. - * The country_code for the number in this case would be stored as that - * of the default region supplied. If the number is guaranteed to - * start with a '+' followed by the country calling code, then - * "ZZ" or null can be supplied. + * if the number being parsed is not written in international format. + * The country_code for the number in this case would be stored as that + * of the default region supplied. If the number is guaranteed to + * start with a '+' followed by the country calling code, then + * "ZZ" or null can be supplied. * @return PhoneNumber a phone number proto buffer filled with the parsed number - * @throws NumberParseException if the string is not considered to be a viable phone number (e.g. - * too few or too many digits) or if no default region was supplied - * and the number is not in international format (does not start - * with +) + * @throws NumberParseException if the string is not considered to be a viable phone number (e.g. + * too few or too many digits) or if no default region was supplied + * and the number is not in international format (does not start + * with +) */ public function parse(string $numberToParse, ?string $defaultRegion = null, ?PhoneNumber $phoneNumber = null, bool $keepRawInput = false): PhoneNumber { @@ -2984,12 +2947,10 @@ public function parse(string $numberToParse, ?string $defaultRegion = null, ?Pho * code, we cannot work out things like whether there should be a national prefix applied, or how * to format extensions, so we return the national significant number with no formatting applied. * - * @param PhoneNumber $number the phone number to be formatted - * @param int $numberFormat the format the phone number should be formatted into * @param NumberFormat[] $userDefinedFormats formatting rules specified by clients - * @return String the formatted phone number + * @return string the formatted phone number */ - public function formatByPattern(PhoneNumber $number, int $numberFormat, array $userDefinedFormats): string + public function formatByPattern(PhoneNumber $number, PhoneNumberFormat $numberFormat, array $userDefinedFormats): string { $countryCallingCode = $number->getCountryCode(); $nationalSignificantNumber = $this->getNationalSignificantNumber($number); @@ -3018,7 +2979,7 @@ public function formatByPattern(PhoneNumber $number, int $numberFormat, array $u $nationalPrefixFormattingRule = $formattingPattern->getNationalPrefixFormattingRule(); if ($nationalPrefixFormattingRule !== '') { $nationalPrefix = $metadata->getNationalPrefix(); - if (isset($nationalPrefix) && $nationalPrefix !== '') { + if ($nationalPrefix !== null && $nationalPrefix !== '') { // Replace $NP with national prefix and $FG with the first group ($1). $nationalPrefixFormattingRule = str_replace( [static::NP_STRING, static::FG_STRING], @@ -3041,10 +3002,10 @@ public function formatByPattern(PhoneNumber $number, int $numberFormat, array $u /** * Gets a valid number for the specified region. * - * @param string $regionCode the region for which an example number is needed + * @param $regionCode string the region for which an example number is needed * @return PhoneNumber|null a valid fixed-line number for the specified region. Returns null when the metadata - * does not contain such information, or the region 001 is passed in. For 001 (representing - * non-geographical numbers), call {@link #getExampleNumberForNonGeoEntity} instead. + * does not contain such information, or the region 001 is passed in. For 001 (representing + * non-geographical numbers), call {@see getExampleNumberForNonGeoEntity} instead. */ public function getExampleNumber(string $regionCode): ?PhoneNumber { @@ -3060,7 +3021,7 @@ public function getExampleNumber(string $regionCode): ?PhoneNumber * * @param string $regionCode The region for which an example number is needed * @return PhoneNumber|null An invalid number for the specified region. Returns null when an unsupported region - * or the region 001 (Earth) is passed in. + * or the region 001 (Earth) is passed in. */ public function getInvalidExampleNumber(string $regionCode): ?PhoneNumber { @@ -3112,19 +3073,23 @@ public function getInvalidExampleNumber(string $regionCode): ?PhoneNumber /** * Gets a valid number for the specified region and number type. * - * @param string|int $regionCodeOrType the region for which an example number is needed - * @param int $type the PhoneNumberType of number that is needed + * @param string|PhoneNumberType $regionCodeOrType the region for which an example number is needed or the + * PhoneNumberType when not passing in $type * @return PhoneNumber|null a valid number for the specified region and type. Returns null when the metadata - * does not contain such information or if an invalid region or region 001 was entered. - * For 001 (representing non-geographical numbers), call - * {@link #getExampleNumberForNonGeoEntity} instead. + * does not contain such information or if an invalid region or region 001 was entered. + * For 001 (representing non-geographical numbers), call + * {@see getExampleNumberForNonGeoEntity} instead. * * If $regionCodeOrType is the only parameter supplied, then a valid number for the specified number type * will be returned that may belong to any country. */ - public function getExampleNumberForType(string|int $regionCodeOrType, ?int $type = null): ?PhoneNumber + public function getExampleNumberForType(string|PhoneNumberType $regionCodeOrType, ?PhoneNumberType $type = null): ?PhoneNumber { - if (is_int($regionCodeOrType) && $type === null) { + if ($type === null) { + if (!$regionCodeOrType instanceof PhoneNumberType) { + throw new TypeError('$regionCodeOrType must be a PhoneNumberType'); + } + /* * Gets a valid number for the specified number type (it may belong to any country). */ @@ -3150,9 +3115,8 @@ public function getExampleNumberForType(string|int $regionCodeOrType, ?int $type return null; } - if (is_int($regionCodeOrType)) { - // This should be a string by now - return null; + if (!is_string($regionCodeOrType)) { + throw new TypeError('$regionCodeOrType must be a string if $type is null'); } // Check the region code is valid. @@ -3170,10 +3134,7 @@ public function getExampleNumberForType(string|int $regionCodeOrType, ?int $type return null; } - /** - * @param int $type PhoneNumberType - */ - protected function getNumberDescByType(PhoneMetadata $metadata, int $type): PhoneNumberDesc + protected function getNumberDescByType(PhoneMetadata $metadata, PhoneNumberType $type): PhoneNumberDesc { return match ($type) { PhoneNumberType::PREMIUM_RATE => $metadata->getPremiumRate(), @@ -3195,8 +3156,8 @@ protected function getNumberDescByType(PhoneMetadata $metadata, int $type): Phon * * @param int $countryCallingCode the country calling code for a non-geographical entity * @return PhoneNumber|null a valid number for the non-geographical entity. Returns null when the metadata - * does not contain such information, or the country calling code passed in does not belong - * to a non-geographical entity. + * does not contain such information, or the country calling code passed in does not belong + * to a non-geographical entity. */ public function getExampleNumberForNonGeoEntity(int $countryCallingCode): ?PhoneNumber { @@ -3243,16 +3204,15 @@ public function getExampleNumberForNonGeoEntity(int $countryCallingCode): ?Phone * the numbers +1 345 657 1234 and 657 1234 are a SHORT_NSN_MATCH. The numbers * +1 345 657 1234 and 345 657 are a NO_MATCH. * - * @param $firstNumberIn PhoneNumber|string First number to compare. If it is a - * string it can contain formatting, and can have country calling code specified - * with + at the start. - * @param $secondNumberIn PhoneNumber|string Second number to compare. If it is a - * string it can contain formatting, and can have country calling code specified - * with + at the start. - * @throws \InvalidArgumentException - * @return int {MatchType} NOT_A_NUMBER, NO_MATCH, + * @param $firstNumberIn string|PhoneNumber First number to compare. If it is a + * string it can contain formatting, and can have country calling code specified + * with + at the start. + * @param $secondNumberIn string|PhoneNumber Second number to compare. If it is a + * string it can contain formatting, and can have country calling code specified + * with + at the start. + * @throws InvalidArgumentException */ - public function isNumberMatch(PhoneNumber|string $firstNumberIn, PhoneNumber|string $secondNumberIn): int + public function isNumberMatch(PhoneNumber|string $firstNumberIn, PhoneNumber|string $secondNumberIn): MatchType { if (is_string($firstNumberIn) && is_string($secondNumberIn)) { try { @@ -3281,8 +3241,6 @@ public function isNumberMatch(PhoneNumber|string $firstNumberIn, PhoneNumber|str return MatchType::NOT_A_NUMBER; } if ($firstNumberIn instanceof PhoneNumber && is_string($secondNumberIn)) { - // First see if the second number has an implicit country calling code, by attempting to parse - // it. try { $secondNumberAsProto = $this->parse($secondNumberIn, static::UNKNOWN_REGION); return $this->isNumberMatch($firstNumberIn, $secondNumberAsProto); @@ -3366,8 +3324,8 @@ protected function isNationalNumberSuffixOfTheOther(PhoneNumber $firstNumber, Ph { $firstNumberNationalNumber = trim((string) $firstNumber->getNationalNumber()); $secondNumberNationalNumber = trim((string) $secondNumber->getNationalNumber()); - return str_ends_with($firstNumberNationalNumber, $secondNumberNationalNumber) || - str_ends_with($secondNumberNationalNumber, $firstNumberNationalNumber); + + return str_ends_with($firstNumberNationalNumber, $secondNumberNationalNumber) || str_ends_with($secondNumberNationalNumber, $firstNumberNationalNumber); } /** @@ -3375,7 +3333,7 @@ protected function isNationalNumberSuffixOfTheOther(PhoneNumber $firstNumber, Ph * invalid, unknown or regions that don't support mobile number portability. * * @param string $regionCode the region for which we want to know whether it supports mobile number - * portability or not. + * portability or not. */ public function isMobileNumberPortableRegion(string $regionCode): bool { @@ -3390,10 +3348,10 @@ public function isMobileNumberPortableRegion(string $regionCode): bool /** * Check whether a phone number is a possible number given a number in the form of a string, and * the region where the number could be dialed from. It provides a more lenient check than - * {@link #isValidNumber}. See {@link #isPossibleNumber(PhoneNumber)} for details. + * {@see isValidNumber}. See {@see isPossibleNumber(PhoneNumber)} for details. * - * Convenience wrapper around {@link #isPossibleNumberWithReason}. Instead of returning the reason - * for failure, this method returns a boolean value. + * Convenience wrapper around {@see isPossibleNumberWithReason}. Instead of returning the reason + * for failure, this method returns a bool value. * For failure, this method returns true if the number is either a possible fully-qualified number * (containing the area code and country code), or if the number could be a possible local number * (with a country code, but missing an area code). Local numbers are considered possible if they @@ -3405,16 +3363,16 @@ public function isMobileNumberPortableRegion(string $regionCode): bool * isPossibleNumber(PhoneNumber $numberObject) * isPossibleNumber(string '+441174960126', string 'GB') * - * @param PhoneNumber|string $number the number that needs to be checked, in the form of a string + * @param string|PhoneNumber $number the number that needs to be checked, in the form of a string * @param string|null $regionDialingFrom the region that we are expecting the number to be dialed from. - * Note this is different from the region where the number belongs. For example, the number - * +1 650 253 0000 is a number that belongs to US. When written in this form, it can be - * dialed from any region. When it is written as 00 1 650 253 0000, it can be dialed from any - * region which uses an international dialling prefix of 00. When it is written as - * 650 253 0000, it can only be dialed from within the US, and when written as 253 0000, it - * can only be dialed from within a smaller area in the US (Mountain View, CA, to be more - * specific). - * @return boolean true if the number is possible + * Note this is different from the region where the number belongs. For example, the number + * +1 650 253 0000 is a number that belongs to US. When written in this form, it can be + * dialed from any region. When it is written as 00 1 650 253 0000, it can be dialed from any + * region which uses an international dialling prefix of 00. When it is written as + * 650 253 0000, it can only be dialed from within the US, and when written as 253 0000, it + * can only be dialed from within a smaller area in the US (Mountain View, CA, to be more + * specific). + * @return bool true if the number is possible */ public function isPossibleNumber(PhoneNumber|string $number, ?string $regionDialingFrom = null): bool { @@ -3434,7 +3392,7 @@ public function isPossibleNumber(PhoneNumber|string $number, ?string $regionDial /** * Check whether a phone number is a possible number. It provides a more lenient check than - * {@link #isValidNumber} in the following sense: + * {@see isValidNumber} in the following sense: *

    *
  1. It only checks the length of phone numbers. In particular, it doesn't check starting * digits of the number. @@ -3450,10 +3408,17 @@ public function isPossibleNumber(PhoneNumber|string $number, ?string $regionDial * length (obviously includes the length of area codes for fixed line numbers), it will * return false for the subscriber-number-only version. *
+ * + * There is a known issue with this + * method: if a number is possible only in a certain region among several regions that share the + * same country calling code, this method will consider only the "main" region. For example, + * +1310xxxx are valid numbers in Canada. However, they are not possible in the US. As a result, + * this method will return IS_POSSIBLE_LOCAL_ONLY for +1310xxxx. + * * @param PhoneNumber $number the number that needs to be checked - * @return int a ValidationResult object which indicates whether the number is possible + * @return ValidationResult object which indicates whether the number is possible */ - public function isPossibleNumberWithReason(PhoneNumber $number): int + public function isPossibleNumberWithReason(PhoneNumber $number): ValidationResult { return $this->isPossibleNumberForTypeWithReason($number, PhoneNumberType::UNKNOWN); } @@ -3461,11 +3426,11 @@ public function isPossibleNumberWithReason(PhoneNumber $number): int /** * Check whether a phone number is a possible number of a particular type. For types that don't * exist in a particular region, this will return a result that isn't so useful; it is recommended - * that you use {@link #getSupportedTypesForRegion} or {@link #getSupportedTypesForNonGeoEntity} + * that you use {@see getSupportedTypesForRegion} or {@see getSupportedTypesForNonGeoEntity} * respectively before calling this method to determine whether you should call it for this number * at all. * - * This provides a more lenient check than {@link #isValidNumber} in the following sense: + * This provides a more lenient check than {@see isValidNumber} in the following sense: * *
    *
  1. It only checks the length of phone numbers. In particular, it doesn't check starting @@ -3480,11 +3445,17 @@ public function isPossibleNumberWithReason(PhoneNumber $number): int * return false for the subscriber-number-only version. *
* + * There is a known issue with this + * method: if a number is possible only in a certain region among several regions that share the + * same country calling code, this method will consider only the "main" region. For example, + * +1310xxxx are valid numbers in Canada. However, they are not possible in the US. As a result, + * this method will return IS_POSSIBLE_LOCAL_ONLY for +1310xxxx. + * * @param PhoneNumber $number the number that needs to be checked - * @param int $type the PhoneNumberType we are interested in - * @return int a ValidationResult object which indicates whether the number is possible + * @param PhoneNumberType $type the PhoneNumberType we are interested in + * @return ValidationResult object which indicates whether the number is possible */ - public function isPossibleNumberForTypeWithReason(PhoneNumber $number, int $type): int + public function isPossibleNumberForTypeWithReason(PhoneNumber $number, PhoneNumberType $type): ValidationResult { $nationalNumber = $this->getNationalSignificantNumber($number); $countryCode = $number->getCountryCode(); @@ -3511,7 +3482,7 @@ public function isPossibleNumberForTypeWithReason(PhoneNumber $number, int $type * the PhoneNumber object passed in will not be modified. * * @param PhoneNumber $number a PhoneNumber object which contains a number that is too long to be valid. - * @return boolean true if a valid phone number can be successfully extracted. + * @return bool true if a valid phone number can be successfully extracted. */ public function truncateTooLongNumber(PhoneNumber $number): bool { @@ -3522,7 +3493,7 @@ public function truncateTooLongNumber(PhoneNumber $number): bool $numberCopy->mergeFrom($number); $nationalNumber = $number->getNationalNumber(); do { - $nationalNumber = substr($nationalNumber, 0, -1); + $nationalNumber = (string) floor((int) $nationalNumber / 10); $numberCopy->setNationalNumber($nationalNumber); if ($nationalNumber === '0' || $this->isPossibleNumberWithReason($numberCopy) === ValidationResult::TOO_SHORT) { return false; diff --git a/giggsey/libphonenumber-for-php-lite/src/RegexBasedMatcher.php b/giggsey/libphonenumber-for-php-lite/src/RegexBasedMatcher.php index 68f787566..a61ea2f57 100644 --- a/giggsey/libphonenumber-for-php-lite/src/RegexBasedMatcher.php +++ b/giggsey/libphonenumber-for-php-lite/src/RegexBasedMatcher.php @@ -11,14 +11,6 @@ */ class RegexBasedMatcher implements MatcherAPIInterface { - public static function create(): static - { - return new static(); - } - - // Keep PHPStan happy (Unsafe usage of new static()) - final public function __construct() {} - /** * Returns whether the given national number (a string containing only decimal digits) matches * the national number pattern defined in the given {@code PhoneNumberDesc} message. diff --git a/giggsey/libphonenumber-for-php-lite/src/ShortNumberCost.php b/giggsey/libphonenumber-for-php-lite/src/ShortNumberCost.php index 9a54a899e..d540423e7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/ShortNumberCost.php +++ b/giggsey/libphonenumber-for-php-lite/src/ShortNumberCost.php @@ -1,15 +1,17 @@ - */ - protected array $regionToMetadataMap = []; /** * @var array */ protected array $countryCallingCodeToRegionCodeMap = []; - /** - * @var array - */ - protected array $countryCodeToNonGeographicalMetadataMap = []; protected const REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT = [ 'BR', 'CL', 'NI', ]; - protected function __construct(MatcherAPIInterface $matcherAPI) - { - $this->matcherAPI = $matcherAPI; - + protected function __construct( + protected MatcherAPIInterface $matcherAPI, + protected MetadataSourceInterface $metadataSource = new MultiFileMetadataSourceImpl(__NAMESPACE__ . '\data\ShortNumberMetadata_'), + ) { // TODO: Create ShortNumberInfo for a given map $this->countryCallingCodeToRegionCodeMap = CountryCodeToRegionCodeMap::COUNTRY_CODE_TO_REGION_CODE_MAP; - $this->currentFilePrefix = __DIR__ . '/data/ShortNumberMetadata'; - // Initialise PhoneNumberUtil to make sure regex's are setup correctly PhoneNumberUtil::getInstance(); } + /** + * Returns the singleton instance of ShortNumberInfo + */ public static function getInstance(): ShortNumberInfo { if (!isset(static::$instance)) { - static::$instance = new self(RegexBasedMatcher::create()); + static::$instance = new self(new RegexBasedMatcher()); } return static::$instance; @@ -77,15 +77,15 @@ protected function getRegionCodesForCountryCode(int $countryCallingCode): array * Helper method to check that the country calling code of the number matches the region it's * being dialed from. */ - protected function regionDialingFromMatchesNumber(PhoneNumber $number, string $regionDialingFrom): bool + protected function regionDialingFromMatchesNumber(PhoneNumber $number, ?string $regionDialingFrom): bool { - if (trim($regionDialingFrom) === '') { + if ($regionDialingFrom === null || $regionDialingFrom === '') { return false; } $regionCodes = $this->getRegionCodesForCountryCode($number->getCountryCode()); - return in_array(strtoupper($regionDialingFrom), $regionCodes); + return in_array(strtoupper($regionDialingFrom), $regionCodes, true); } /** @@ -99,9 +99,9 @@ public function getSupportedRegions(): array /** * Gets a valid short number for the specified region. * - * @param $regionCode string the region for which an example short number is needed + * @param $regionCode String the region for which an example short number is needed * @return string a valid short number for the specified region. Returns an empty string when the - * metadata does not contain such information. + * metadata does not contain such information. */ public function getExampleShortNumber(string $regionCode): string { @@ -122,36 +122,14 @@ public function getMetadataForRegion(string $regionCode): ?PhoneMetadata { $regionCode = strtoupper($regionCode); - if (!in_array($regionCode, ShortNumbersRegionCodeSet::SHORT_NUMBERS_REGION_CODE_SET)) { + if (!in_array($regionCode, ShortNumbersRegionCodeSet::SHORT_NUMBERS_REGION_CODE_SET, true)) { return null; } - if (!isset($this->regionToMetadataMap[$regionCode])) { - // The regionCode here will be valid and won't be '001', so we don't need to worry about - // what to pass in for the country calling code. - $this->loadMetadataFromFile($this->currentFilePrefix, $regionCode, 0); - } - - return $this->regionToMetadataMap[$regionCode] ?? null; - } - - protected function loadMetadataFromFile(string $filePrefix, string $regionCode, int $countryCallingCode): void - { - $isNonGeoRegion = PhoneNumberUtil::REGION_CODE_FOR_NON_GEO_ENTITY === $regionCode; - $fileName = $filePrefix . '_' . ($isNonGeoRegion ? $countryCallingCode : $regionCode) . '.php'; - if (!is_readable($fileName)) { - throw new \Exception('missing metadata: ' . $fileName); - } - - $metadataLoader = new DefaultMetadataLoader(); - $data = $metadataLoader->loadMetadata($fileName); - - $metadata = new PhoneMetadata(); - $metadata->fromArray($data); - if ($isNonGeoRegion) { - $this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode] = $metadata; - } else { - $this->regionToMetadataMap[$regionCode] = $metadata; + try { + return $this->metadataSource->getMetadataForRegion($regionCode); + } catch (RuntimeException) { + return null; } } @@ -159,18 +137,17 @@ protected function loadMetadataFromFile(string $filePrefix, string $regionCode, * Gets a valid short number for the specified cost category. * * @param string $regionCode the region for which an example short number is needed - * @param int $cost the ShortNumberCost category of number that is needed + * @param ShortNumberCost $cost the cost category of number that is needed * @return string a valid short number for the specified region and cost category. Returns an empty string - * when the metadata does not contain such information, or the cost is UNKNOWN_COST. + * when the metadata does not contain such information, or the cost is UNKNOWN_COST. */ - public function getExampleShortNumberForCost(string $regionCode, int $cost): string + public function getExampleShortNumberForCost(string $regionCode, ShortNumberCost $cost): string { $phoneMetadata = $this->getMetadataForRegion($regionCode); if ($phoneMetadata === null) { return ''; } - /** @var PhoneNumberDesc $desc */ $desc = null; switch ($cost) { case ShortNumberCost::TOLL_FREE: @@ -206,15 +183,13 @@ public function getExampleShortNumberForCost(string $regionCode, int $cost): str * * @param string $number the phone number to test * @param string $regionCode the region where the phone number if being dialled - * @return boolean whether the number might be used to connect to an emergency service in the given region + * @return bool whether the number might be used to connect to an emergency service in the given region */ public function connectsToEmergencyNumber(string $number, string $regionCode): bool { return $this->matchesEmergencyNumberHelper($number, $regionCode, true /* allows prefix match */); } - /** - */ protected function matchesEmergencyNumberHelper(string $number, string $regionCode, bool $allowPrefixMatch): bool { $number = PhoneNumberUtil::extractPossibleNumber($number); @@ -236,7 +211,7 @@ protected function matchesEmergencyNumberHelper(string $number, string $regionCo $allowPrefixMatchForRegion = ( $allowPrefixMatch - && !in_array(strtoupper($regionCode), static::REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT) + && !in_array(strtoupper($regionCode), static::REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT, true) ); return $this->matcherAPI->matchNationalNumber($normalizedNumber, $emergencyDesc, $allowPrefixMatchForRegion); @@ -246,12 +221,12 @@ protected function matchesEmergencyNumberHelper(string $number, string $regionCo * Given a valid short number, determines whether it is carrier-specific (however, nothing is * implied about its validity). Carrier-specific numbers may connect to a different end-point, or * not connect at all, depending on the user's carrier. If it is important that the number is - * valid, then its validity must first be checked using {@link #isValidShortNumber} or - * {@link #isValidShortNumberForRegion}. + * valid, then its validity must first be checked using {@see isValidShortNumber} or + * {@see isValidShortNumberForRegion}. * * @param PhoneNumber $number the valid short number to check - * @return boolean whether the short number is carrier-specific, assuming the input was a valid short - * number + * @return bool whether the short number is carrier-specific, assuming the input was a valid short + * number */ public function isCarrierSpecific(PhoneNumber $number): bool { @@ -271,12 +246,12 @@ public function isCarrierSpecific(PhoneNumber $number): bool * given region (however, nothing is implied about its validity). Carrier-specific numbers may * connect to a different end-point, or not connect at all, depending on the user's carrier. If * it is important that the number is valid, then its validity must first be checked using - * {@link #isValidShortNumber} or {@link #isValidShortNumberForRegion}. Returns false if the + * {@see isValidShortNumber} or {@see isValidShortNumberForRegion}. Returns false if the * number doesn't match the region provided. * @param PhoneNumber $number The valid short number to check * @param string $regionDialingFrom The region from which the number is dialed * @return bool Whether the short number is carrier-specific in the provided region, assuming the - * input was a valid short number + * input was a valid short number */ public function isCarrierSpecificForRegion(PhoneNumber $number, string $regionDialingFrom): bool { @@ -296,13 +271,13 @@ public function isCarrierSpecificForRegion(PhoneNumber $number, string $regionDi * implied about its validity). An SMS service is where the primary or only intended usage is to * receive and/or send text messages (SMSs). This includes MMS as MMS numbers downgrade to SMS if * the other party isn't MMS-capable. If it is important that the number is valid, then its - * validity must first be checked using {@link #isValidShortNumber} or {@link - * #isValidShortNumberForRegion}. Returns false if the number doesn't match the region provided. + * validity must first be checked using {@see isValidShortNumber} or {@see isValidShortNumberForRegion}. + * Returns false if the number doesn't match the region provided. * * @param PhoneNumber $number The valid short number to check * @param string $regionDialingFrom The region from which the number is dialed * @return bool Whether the short number is an SMS service in the provided region, assuming the input - * was a valid short number. + * was a valid short number. */ public function isSmsServiceForRegion(PhoneNumber $number, string $regionDialingFrom): bool { @@ -329,7 +304,7 @@ public function isSmsServiceForRegion(PhoneNumber $number, string $regionDialing */ protected function getRegionCodeForShortNumberFromRegionList(PhoneNumber $number, array $regionCodes): ?string { - if ($regionCodes === []) { + if (count($regionCodes) === 0) { return null; } @@ -354,11 +329,11 @@ protected function getRegionCodeForShortNumberFromRegionList(PhoneNumber $number /** * Check whether a short number is a possible number. If a country calling code is shared by * multiple regions, this returns true if it's possible in any of them. This provides a more - * lenient check than {@link #isValidShortNumber}. See {@link - * #IsPossibleShortNumberForRegion(PhoneNumber, String)} for details. + * lenient check than {@see isValidShortNumber}. See {@see isPossibleShortNumberForRegion} + * for details. * * @param $number PhoneNumber the short number to check - * @return boolean whether the number is a possible short number + * @return bool whether the number is a possible short number */ public function isPossibleShortNumber(PhoneNumber $number): bool { @@ -372,7 +347,7 @@ public function isPossibleShortNumber(PhoneNumber $number): bool continue; } - if (in_array($shortNumberLength, $phoneMetadata->getGeneralDesc()->getPossibleLength())) { + if (in_array($shortNumberLength, $phoneMetadata->getGeneralDesc()->getPossibleLength(), true)) { return true; } } @@ -383,11 +358,11 @@ public function isPossibleShortNumber(PhoneNumber $number): bool /** * Check whether a short number is a possible number when dialled from a region, given the number * in the form of a string, and the region where the number is dialled from. This provides a more - * lenient check than {@link #isValidShortNumber}. + * lenient check than {@see isValidShortNumber}. * * @param PhoneNumber $shortNumber The short number to check * @param string $regionDialingFrom Region dialing From - * @return boolean whether the number is a possible short number + * @return bool whether the number is a possible short number */ public function isPossibleShortNumberForRegion(PhoneNumber $shortNumber, string $regionDialingFrom): bool { @@ -402,28 +377,23 @@ public function isPossibleShortNumberForRegion(PhoneNumber $shortNumber, string } $numberLength = strlen($this->getNationalSignificantNumber($shortNumber)); - return in_array($numberLength, $phoneMetadata->getGeneralDesc()->getPossibleLength()); + return in_array($numberLength, $phoneMetadata->getGeneralDesc()->getPossibleLength(), true); } /** * Tests whether a short number matches a valid pattern. If a country calling code is shared by * multiple regions, this returns true if it's valid in any of them. Note that this doesn't verify * the number is actually in use, which is impossible to tell by just looking at the number - * itself. See {@link #isValidShortNumberForRegion(PhoneNumber, String)} for details. + * itself. See {@see isValidShortNumberForRegion(PhoneNumber, String)} for details. * * @param $number PhoneNumber the short number for which we want to test the validity - * @return boolean whether the short number matches a valid pattern + * @return bool whether the short number matches a valid pattern */ public function isValidShortNumber(PhoneNumber $number): bool { $regionCodes = $this->getRegionCodesForCountryCode($number->getCountryCode()); $regionCode = $this->getRegionCodeForShortNumberFromRegionList($number, $regionCodes); - - if ($regionCode === null) { - return false; - } - - if (count($regionCodes) > 1) { + if ($regionCode !== null && count($regionCodes) > 1) { // If a matching region had been found for the phone number from among two or more regions, // then we have already implicitly verified its validity for that region. return true; @@ -438,10 +408,10 @@ public function isValidShortNumber(PhoneNumber $number): bool * itself. * * @param PhoneNumber $number The Short number for which we want to test the validity - * @param string $regionDialingFrom the region from which the number is dialed - * @return boolean whether the short number matches a valid pattern + * @param string|null $regionDialingFrom the region from which the number is dialed + * @return bool whether the short number matches a valid pattern */ - public function isValidShortNumberForRegion(PhoneNumber $number, string $regionDialingFrom): bool + public function isValidShortNumberForRegion(PhoneNumber $number, ?string $regionDialingFrom): bool { if (!$this->regionDialingFromMatchesNumber($number, $regionDialingFrom)) { return false; @@ -481,14 +451,13 @@ public function isValidShortNumberForRegion(PhoneNumber $number, string $regionD * }} * * @param PhoneNumber $number the short number for which we want to know the expected cost category, - * as a string + * as a string * @param string $regionDialingFrom the region from which the number is dialed - * @return int the expected cost category for that region of the short number. Returns UNKNOWN_COST if - * the number does not match a cost category. Note that an invalid number may match any cost - * category. - * @see ShortNumberCost + * @return ShortNumberCost the expected cost category for that region of the short number. Returns ShortNumberCost::UNKNOWN_COST if + * the number does not match a cost category. Note that an invalid number may match any cost + * category. */ - public function getExpectedCostForRegion(PhoneNumber $number, string $regionDialingFrom): int + public function getExpectedCostForRegion(PhoneNumber $number, string $regionDialingFrom): ShortNumberCost { if (!$this->regionDialingFromMatchesNumber($number, $regionDialingFrom)) { return ShortNumberCost::UNKNOWN_COST; @@ -504,7 +473,7 @@ public function getExpectedCostForRegion(PhoneNumber $number, string $regionDial // The possible lengths are not present for a particular sub-type if they match the general // description; for this reason, we check the possible lengths against the general description // first to allow an early exit if possible. - if (!in_array(strlen($shortNumber), $phoneMetadata->getGeneralDesc()->getPossibleLength())) { + if (!in_array(strlen($shortNumber), $phoneMetadata->getGeneralDesc()->getPossibleLength(), true)) { return ShortNumberCost::UNKNOWN_COST; } @@ -533,7 +502,7 @@ public function getExpectedCostForRegion(PhoneNumber $number, string $regionDial /** * Gets the expected cost category of a short number (however, nothing is implied about its * validity). If the country calling code is unique to a region, this method behaves exactly the - * same as {@link #getExpectedCostForRegion(PhoneNumber, String)}. However, if the country calling + * same as {@see getExpectedCostForRegion(PhoneNumber, String)}. However, if the country calling * code is shared by multiple regions, then it returns the highest cost in the sequence * PREMIUM_RATE, UNKNOWN_COST, STANDARD_RATE, TOLL_FREE. The reason for the position of * UNKNOWN_COST in this order is that if a number is UNKNOWN_COST in one region but STANDARD_RATE @@ -547,16 +516,16 @@ public function getExpectedCostForRegion(PhoneNumber $number, string $regionDial *

* * Note: If the region from which the number is dialed is known, it is highly preferable to call - * {@link #getExpectedCostForRegion(PhoneNumber, String)} instead. + * {@see getExpectedCostForRegion(PhoneNumber, String)} instead. * * @param PhoneNumber $number the short number for which we want to know the expected cost category - * @return int the highest expected cost category of the short number in the region(s) with the given - * country calling code - * @see ShortNumberCost + * @return ShortNumberCost the highest expected cost category of the short number in the region(s) with the given + * country calling code */ - public function getExpectedCost(PhoneNumber $number): int + public function getExpectedCost(PhoneNumber $number): ShortNumberCost { $regionCodes = $this->getRegionCodesForCountryCode($number->getCountryCode()); + if ($regionCodes === []) { return ShortNumberCost::UNKNOWN_COST; } @@ -597,7 +566,7 @@ public function getExpectedCost(PhoneNumber $number): int * * @param string $number the phone number to test * @param string $regionCode the region where the phone number is being dialled - * @return boolean whether the number exactly matches an emergency services number in the given region + * @return bool whether the number exactly matches an emergency services number in the given region */ public function isEmergencyNumber(string $number, string $regionCode): bool { @@ -635,7 +604,7 @@ protected function getNationalSignificantNumber(PhoneNumber $number): string */ protected function matchesPossibleNumberAndNationalNumber(string $number, PhoneNumberDesc $numberDesc): bool { - if (count($numberDesc->getPossibleLength()) > 0 && !in_array(strlen($number), $numberDesc->getPossibleLength())) { + if (count($numberDesc->getPossibleLength()) > 0 && !in_array(strlen($number), $numberDesc->getPossibleLength(), true)) { return false; } diff --git a/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php b/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php index 905ee9917..4915b098c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php +++ b/giggsey/libphonenumber-for-php-lite/src/ShortNumbersRegionCodeSet.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 800, - 'generalDesc' => [ - 'pattern' => '(?:00|[1-9]\\d)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:00|[1-9]\\d)\\d{6}', - 'example' => '12345678', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '\\d', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_800 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 800; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:00|[1-9]\d)\d{6}') + ->setPossibleLength([8]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['\d']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:00|[1-9]\d)\d{6}') + ->setExampleNumber('12345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php index 5cc53b5fc..fd26f55b7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_808.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 808, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'pattern' => '[1-9]\\d{7}', - 'example' => '12345678', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_808 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 808; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{7}') + ->setExampleNumber('12345678'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php index c475dae4c..b70bd171b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_870.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 870, - 'generalDesc' => [ - 'pattern' => '7\\d{11}|[35-7]\\d{8}', - 'posLength' => [ - 9, - 12, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}', - 'example' => '301234567', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[35-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_870 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 870; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7\d{11}|[235-7]\d{8}') + ->setPossibleLength([9, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[356]|774[45])\d{8}|7[6-8]\d{7}') + ->setExampleNumber('301234567'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[235-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{8}') + ->setExampleNumber('201234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php index 55adfedd7..d220dfb5b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_878.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 878, - 'generalDesc' => [ - 'pattern' => '10\\d{10}', - 'posLength' => [ - 12, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '10\\d{10}', - 'example' => '101234567890', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_878 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 878; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10\d{10}') + ->setPossibleLength([12]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10\d{10}') + ->setExampleNumber('101234567890'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php index d02151e1f..2d83ad157 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_881.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 881, - 'generalDesc' => [ - 'pattern' => '6\\d{9}|[0-36-9]\\d{8}', - 'posLength' => [ - 9, - 10, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'pattern' => '6\\d{9}|[0-36-9]\\d{8}', - 'example' => '612345678', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[0-37-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{5,6})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_881 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 881; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6\d{9}|[0-36-9]\d{8}') + ->setPossibleLength([9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6\d{9}|[0-36-9]\d{8}') + ->setExampleNumber('612345678'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[0-37-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{5,6})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php index 7bb63a945..6d5b64ddf 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_882.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 882, - 'generalDesc' => [ - 'pattern' => '[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'pattern' => '342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}', - 'example' => '3421234', - 'posLength' => [ - 7, - 8, - 9, - 10, - 12, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}', - 'example' => '390123456789', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'pattern' => '348[57]\\d{7}', - 'example' => '34851234567', - 'posLength' => [ - 11, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '16|342', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '49', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[36]|9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3[23]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '16', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '10|23|3(?:[15]|4[57])|4|51', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '34', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4,5})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-35]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_882 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 882; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[13]\d{6}(?:\d{2,5})?|[19]\d{7}|(?:[25]\d\d|4)\d{7}(?:\d{2})?') + ->setPossibleLength([7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('342\d{4}|(?:337|49)\d{6}|(?:3(?:2|47|7\d{3})|50\d{3})\d{7}') + ->setExampleNumber('3421234') + ->setPossibleLength([7, 8, 9, 10, 12]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['16|342']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['49']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[36]|9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3[23]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['16']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['10|23|3(?:[15]|4[57])|4|51']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['34']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,5})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-35]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\d{4}|6\d{5,10})|(?:345\d|9[89])\d{6}|(?:10|2(?:3|85\d)|3(?:[15]|[69]\d\d)|4[15-8]|51)\d{8}') + ->setExampleNumber('390123456789'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('348[57]\d{7}') + ->setExampleNumber('34851234567') + ->setPossibleLength([11]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php index ccd7c146a..f64c084db 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_883.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 883, - 'generalDesc' => [ - 'pattern' => '(?:[1-4]\\d|51)\\d{6,10}', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}', - 'example' => '510012345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2,8})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[14]|2[24-689]|3[02-689]|51[24-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '510', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '21', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '51[13]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[235]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_883 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 883; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1-4]\d|51)\d{6,10}') + ->setPossibleLength([8, 9, 10, 11, 12]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2,8})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[14]|2[24-689]|3[02-689]|51[24-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['510']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['21']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['51[13]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[235]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:00\d\d|10)|(?:370[1-9]|51\d0)\d)\d{7}|51(?:00\d{5}|[24-9]0\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\d{5,9}') + ->setExampleNumber('510012345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php index 699fdf6e6..836f47e38 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_888.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 888, - 'generalDesc' => [ - 'pattern' => '\\d{11}', - 'posLength' => [ - 11, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '\\d{11}', - 'example' => '12345678901', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_888 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 888; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('\d{11}') + ->setPossibleLength([11]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([]) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('\d{11}') + ->setExampleNumber('12345678901'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php index 2199dd0a8..8a3aa32a2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_979.php @@ -1,4 +1,5 @@ '001', - 'countryCode' => 979, - 'generalDesc' => [ - 'pattern' => '[1359]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'fixedLine' => [ - 'posLength' => [ - -1, - ], - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '[1359]\\d{8}', - 'example' => '123456789', - 'posLengthLocal' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1359]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_979 extends PhoneMetadata +{ + protected const ID = '001'; + protected const COUNTRY_CODE = 979; + + protected ?string $internationalPrefix = ''; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1359]\d{8}') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([9]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1359]\d{8}') + ->setExampleNumber('123456789') + ->setPossibleLengthLocalOnly([8]); + $this->fixedLine = PhoneNumberDesc::empty(); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1359]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php index f6cdc75e1..f5de2bff9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AC.php @@ -1,4 +1,5 @@ 'AC', - 'countryCode' => 247, - 'generalDesc' => [ - 'pattern' => '(?:[01589]\\d|[46])\\d{4}', - 'posLength' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '6[2-467]\\d{3}', - 'example' => '62889', - 'posLength' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '4\\d{4}', - 'example' => '40123', - 'posLength' => [ - 5, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:0[1-9]|[1589]\\d)\\d{4}', - 'example' => '542011', - 'posLength' => [ - 6, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AC extends PhoneMetadata +{ + protected const ID = 'AC'; + protected const COUNTRY_CODE = 247; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[01589]\d|[46])\d{4}') + ->setPossibleLength([5, 6]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4\d{4}') + ->setExampleNumber('40123') + ->setPossibleLength([5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[2-467]\d{3}') + ->setExampleNumber('62889') + ->setPossibleLength([5]); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0[1-9]|[1589]\d)\d{4}') + ->setExampleNumber('542011') + ->setPossibleLength([6]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php index fa5855e32..7c6499717 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AD.php @@ -1,4 +1,5 @@ 'AD', - 'countryCode' => 376, - 'generalDesc' => [ - 'pattern' => '(?:1|6\\d)\\d{7}|[135-9]\\d{5}', - 'posLength' => [ - 6, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '[78]\\d{5}', - 'example' => '712345', - 'posLength' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '690\\d{6}|[356]\\d{5}', - 'example' => '312345', - 'posLength' => [ - 6, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '180[02]\\d{4}', - 'example' => '18001234', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '[19]\\d{5}', - 'example' => '912345', - 'posLength' => [ - 6, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '1800\\d{4}', - 'posLength' => [ - 8, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[135-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AD extends PhoneMetadata +{ + protected const ID = 'AD'; + protected const COUNTRY_CODE = 376; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1|6\d)\d{7}|[135-9]\d{5}') + ->setPossibleLength([6, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('690\d{6}|[356]\d{5}') + ->setExampleNumber('312345') + ->setPossibleLength([6, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{5}') + ->setExampleNumber('912345') + ->setPossibleLength([6]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[78]\d{5}') + ->setExampleNumber('712345') + ->setPossibleLength([6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[135-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180[02]\d{4}') + ->setExampleNumber('18001234') + ->setPossibleLength([8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{4}') + ->setPossibleLength([8]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php index 51e3a548d..ff8bfe1c4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AE.php @@ -1,4 +1,5 @@ 'AE', - 'countryCode' => 971, - 'generalDesc' => [ - 'pattern' => '(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '[2-4679][2-8]\\d{6}', - 'example' => '22345678', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '5[024-68]\\d{7}', - 'example' => '501234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '400\\d{6}|800\\d{2,9}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '900[02]\\d{5}', - 'example' => '900234567', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '700[05]\\d{5}', - 'example' => '700012345', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '600[25]\\d{5}', - 'example' => '600212345', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '60|8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[236]|[479][2-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[479]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AE extends PhoneMetadata +{ + protected const ID = 'AE'; + protected const COUNTRY_CODE = 971; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[4-7]\d|9[0-689])\d{7}|800\d{2,9}|[2-4679]\d{7}') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[024-68]\d{7}') + ->setExampleNumber('501234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[02]\d{5}') + ->setExampleNumber('900234567') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-4679][2-8]\d{6}') + ->setExampleNumber('22345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['60|8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[236]|[479][2-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[479]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('400\d{6}|800\d{2,9}') + ->setExampleNumber('800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700[05]\d{5}') + ->setExampleNumber('700012345') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('600[25]\d{5}') + ->setExampleNumber('600212345') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php index 86be91e20..63ccc027a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AF.php @@ -1,4 +1,5 @@ 'AF', - 'countryCode' => 93, - 'generalDesc' => [ - 'pattern' => '[2-7]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}', - 'example' => '234567890', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7\\d{8}', - 'example' => '701234567', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AF extends PhoneMetadata +{ + protected const ID = 'AF'; + protected const COUNTRY_CODE = 93; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-7]\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7\d{8}') + ->setExampleNumber('701234567') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\d{6}') + ->setExampleNumber('234567890') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php index 3590944e6..edc916533 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AG.php @@ -1,4 +1,5 @@ 'AG', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:268|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}', - 'example' => '2684601234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}', - 'example' => '2684641234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'pattern' => '26848[01]\\d{4}', - 'example' => '2684801234', - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'pattern' => '26840[69]\\d{4}', - 'example' => '2684061234', - 'posLengthLocal' => [ - 7, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([457]\\d{6})$|1', - 'nationalPrefixTransformRule' => '268$1', - 'numberFormat' => [], - 'leadingDigits' => '268', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AG extends PhoneMetadata +{ + protected const ID = 'AG'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '268'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([457]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '268$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:268|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('268(?:464|7(?:1[3-9]|[28]\d|3[0246]|64|7[0-689]))\d{4}') + ->setExampleNumber('2684641234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('268(?:4(?:6[0-38]|84)|56[0-2])\d{4}') + ->setExampleNumber('2684601234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('26848[01]\d{4}') + ->setExampleNumber('2684801234') + ->setPossibleLengthLocalOnly([7]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('26840[69]\d{4}') + ->setExampleNumber('2684061234') + ->setPossibleLengthLocalOnly([7]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php index 6b8cd1cf6..0ba008c4d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AI.php @@ -1,4 +1,5 @@ 'AI', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:264|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '264(?:292|4(?:6[12]|9[78]))\\d{4}', - 'example' => '2644612345', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}', - 'example' => '2642351234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '264724\\d{4}', - 'example' => '2647241234', - 'posLengthLocal' => [ - 7, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2457]\\d{6})$|1', - 'nationalPrefixTransformRule' => '264$1', - 'numberFormat' => [], - 'leadingDigits' => '264', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AI extends PhoneMetadata +{ + protected const ID = 'AI'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '264'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2457]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '264$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:264|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\d{4}') + ->setExampleNumber('2642351234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('264(?:292|4(?:6[12]|9[78]))\d{4}') + ->setExampleNumber('2644612345') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('264724\d{4}') + ->setExampleNumber('2647241234') + ->setPossibleLengthLocalOnly([7]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php index 76fc18b38..f397bd54e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AL.php @@ -1,4 +1,5 @@ 'AL', - 'countryCode' => 355, - 'generalDesc' => [ - 'pattern' => '(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}', - 'example' => '22345678', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '6(?:[78][2-9]|9\\d)\\d{6}', - 'example' => '672123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4}', - 'example' => '8001234', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'pattern' => '900[1-9]\\d\\d', - 'example' => '900123', - 'posLength' => [ - 6, - ], - ], - 'sharedCost' => [ - 'pattern' => '808[1-9]\\d\\d', - 'example' => '808123', - 'posLength' => [ - 6, - ], - ], - 'personalNumber' => [ - 'pattern' => '700[2-9]\\d{4}', - 'example' => '70021234', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '80|9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2358][2-5]|4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[23578]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AL extends PhoneMetadata +{ + protected const ID = 'AL'; + protected const COUNTRY_CODE = 355; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:700\d\d|900)\d{3}|8\d{5,7}|(?:[2-5]|6\d)\d{7}') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6, 7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:[78][2-9]|9\d)\d{6}') + ->setExampleNumber('672123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[1-9]\d\d') + ->setExampleNumber('900123') + ->setPossibleLength([6]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4505[0-2]\d{3}|(?:[2358][16-9]\d[2-9]|4410)\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\d))\d{5}') + ->setExampleNumber('22345678') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['80|9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2358][2-5]|4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[23578]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4}') + ->setExampleNumber('8001234') + ->setPossibleLength([7]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808[1-9]\d\d') + ->setExampleNumber('808123') + ->setPossibleLength([6]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700[2-9]\d{4}') + ->setExampleNumber('70021234') + ->setPossibleLength([8]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php index abb37fceb..8277e0fc7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AM.php @@ -1,4 +1,5 @@ 'AM', - 'countryCode' => 374, - 'generalDesc' => [ - 'pattern' => '(?:[1-489]\\d|55|60|77)\\d{6}', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}', - 'example' => '10123456', - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:33|4[1349]|55|77|88|9[13-9])\\d{6}', - 'example' => '77123456', - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '90[016]\\d{5}', - 'example' => '90012345', - ], - 'sharedCost' => [ - 'pattern' => '80[1-4]\\d{5}', - 'example' => '80112345', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[0-2])\\d{4}', - 'example' => '60271234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]0', - ], - 'nationalPrefixFormattingRule' => '0 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2|3[12]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1|47', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[3-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AM extends PhoneMetadata +{ + protected const ID = 'AM'; + protected const COUNTRY_CODE = 374; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1-489]\d|55|60|77)\d{6}') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:33|4[1349]|55|77|88|9[13-9])\d{6}') + ->setExampleNumber('77123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[016]\d{5}') + ->setExampleNumber('90012345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:1[0-25]|47)\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\d{5}') + ->setExampleNumber('10123456') + ->setPossibleLengthLocalOnly([5, 6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]0']) + ->setNationalPrefixFormattingRule('0 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2|3[12]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1|47']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[3-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[1-4]\d{5}') + ->setExampleNumber('80112345'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\d|9[0-2])\d{4}') + ->setExampleNumber('60271234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php index ee98029ed..20e0778ae 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AO.php @@ -1,4 +1,5 @@ 'AO', - 'countryCode' => 244, - 'generalDesc' => [ - 'pattern' => '[29]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}', - 'example' => '222123456', - ], - 'mobile' => [ - 'pattern' => '9[1-79]\\d{7}', - 'example' => '923123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[29]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AO extends PhoneMetadata +{ + protected const ID = 'AO'; + protected const COUNTRY_CODE = 244; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[29]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[1-79]\d{7}') + ->setExampleNumber('923123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d(?:[0134][25-9]|[25-9]\d)\d{5}') + ->setExampleNumber('222123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[29]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php index c78a2a4df..efd261501 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AR.php @@ -1,4 +1,5 @@ 'AR', - 'countryCode' => 54, - 'generalDesc' => [ - 'pattern' => '(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}', - 'posLength' => [ - 10, - 11, - ], - 'posLengthLocal' => [ - 6, - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|5[3-6]|8[3-68])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|35|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}', - 'example' => '1123456789', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|9(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|5[3-6]|8[3-68]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|35|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}', - 'example' => '91123456789', - 'posLengthLocal' => [ - 6, - 7, - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7,8}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '60[04579]\\d{7}', - 'example' => '6001234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '810\\d{7}', - 'example' => '8101234567', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '810\\d{7}', - 'posLength' => [ - 10, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?', - 'nationalPrefixTransformRule' => '9$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[1-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])', - '2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)', - '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', - '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[68]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$2 15-$3-$4', - 'leadingDigitsPatterns' => [ - '9(?:2[2-469]|3[3-578])', - '9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))', - '9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)', - '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', - '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$2 15-$3-$4', - 'leadingDigitsPatterns' => [ - '91', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$2 15-$3-$4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])', - '2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)', - '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', - '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[68]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3-$4', - 'leadingDigitsPatterns' => [ - '9(?:2[2-469]|3[3-578])', - '9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))', - '9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)', - '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', - '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', - ], - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3-$4', - 'leadingDigitsPatterns' => [ - '91', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3-$4', - 'leadingDigitsPatterns' => [ - '9', - ], - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AR extends PhoneMetadata +{ + protected const ID = 'AR'; + protected const COUNTRY_CODE = 54; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '9$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:11|[89]\d\d)\d{8}|[2368]\d{9}') + ->setPossibleLengthLocalOnly([6, 7, 8]) + ->setPossibleLength([10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46))|3327)[45]\d{5}|9(?:2(?:657|9(?:54|66))|3(?:48[27]|7(?:55|77)|8(?:65|78)))[2-8]\d{5}|9(?:2(?:284|3(?:02|23)|477|622|920)|3(?:4(?:46|89|92)|541))[2-7]\d{5}|(?:675\d|9(?:11[1-8]\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|1[2-7]|3[4-6]|5[3-6]|7[2-6]|8[3-68]))))\d{6}|9(?:2(?:2(?:62|81)|320|9(?:42|83))|3(?:329|4(?:62|7[16])|5(?:43|64)|7(?:18|5[17])))[2-6]\d{5}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\d{5}|9(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|64)|5(?:25|37|4[47]|71)|7(?:35|72)|825))[3-6]\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[035-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[3-5]|8[26])|8(?:2[67]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\d{5}') + ->setExampleNumber('91123456789') + ->setPossibleLengthLocalOnly([6, 7, 8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('60[04579]\d{7}') + ->setExampleNumber('6001234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46))|3327)[45]\d{5}|(?:2(?:657|9(?:54|66))|3(?:48[27]|7(?:55|77)|8(?:65|78)))[2-8]\d{5}|(?:2(?:284|3(?:02|23)|477|622|920)|3(?:4(?:46|89|92)|541))[2-7]\d{5}|(?:(?:11[1-8]|670)\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|1[2-7]|3[4-6]|5[3-6]|7[2-6]|8[3-68])))\d{6}|(?:2(?:2(?:62|81)|320|9(?:42|83))|3(?:329|4(?:62|7[16])|5(?:43|64)|7(?:18|5[17])))[2-6]\d{5}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\d{5}|(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|64)|5(?:25|37|4[47]|71)|7(?:35|72)|825))[3-6]\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[035-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[3-5]|8[26])|8(?:2[67]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\d{5}') + ->setExampleNumber('1123456789') + ->setPossibleLengthLocalOnly([6, 7, 8]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[1-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern([ + '2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])', + '2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)', + '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', + '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[68]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{2})(\d{4})') + ->setFormat('$2 15-$3-$4') + ->setLeadingDigitsPattern([ + '9(?:2[2-469]|3[3-578])', + '9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))', + '9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)', + '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', + '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{4})(\d{4})') + ->setFormat('$2 15-$3-$4') + ->setLeadingDigitsPattern(['91']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{4})') + ->setFormat('$2 15-$3-$4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7,8}') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('810\d{7}') + ->setExampleNumber('8101234567') + ->setPossibleLength([10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('810\d{7}') + ->setPossibleLength([10]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern([ + '2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])', + '2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)', + '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', + '2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[68]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3-$4') + ->setLeadingDigitsPattern([ + '9(?:2[2-469]|3[3-578])', + '9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))', + '9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)', + '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]', + '9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]', + ]), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3-$4') + ->setLeadingDigitsPattern(['91']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3-$4') + ->setLeadingDigitsPattern(['9']), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php index 597504a82..10012d018 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AS.php @@ -1,4 +1,5 @@ 'AS', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|684|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '6846(?:22|33|44|55|77|88|9[19])\\d{4}', - 'example' => '6846221234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\d{4}', - 'example' => '6847331234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([267]\\d{6})$|1', - 'nationalPrefixTransformRule' => '684$1', - 'numberFormat' => [], - 'leadingDigits' => '684', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AS extends PhoneMetadata +{ + protected const ID = 'AS'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '684'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([267]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '684$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|684|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\d{4}') + ->setExampleNumber('6847331234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6846(?:22|33|44|55|77|88|9[19])\d{4}') + ->setExampleNumber('6846221234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php index b968772f3..e41f9f74a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AT.php @@ -1,4 +1,5 @@ 'AT', - 'countryCode' => 43, - 'generalDesc' => [ - 'pattern' => '1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - ], - 'posLengthLocal' => [ - 3, - ], - ], - 'fixedLine' => [ - 'pattern' => '1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}', - 'example' => '1234567890', - 'posLengthLocal' => [ - 3, - ], - ], - 'mobile' => [ - 'pattern' => '6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}', - 'example' => '664123456', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6,10}', - 'example' => '800123456', - 'posLength' => [ - 9, - 10, - 11, - 12, - 13, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}', - 'example' => '900123456', - 'posLength' => [ - 9, - 10, - 11, - 12, - 13, - ], - ], - 'sharedCost' => [ - 'pattern' => '8(?:10|2[018])\\d{6,10}|828\\d{5}', - 'example' => '810123456', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - 13, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}', - 'example' => '780123456', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '14', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3,12})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1(?:11|[2-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '517', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '5[079]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[18]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-467]|5[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3,12})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1(?:11|[2-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '517', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '5[079]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-467]|5[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AT extends PhoneMetadata +{ + protected const ID = 'AT'; + protected const COUNTRY_CODE = 43; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{3,12}|2\d{6,12}|43(?:(?:0\d|5[02-9])\d{3,9}|2\d{4,5}|[3467]\d{4}|8\d{4,6}|9\d{4,7})|5\d{4,12}|8\d{7,12}|9\d{8,12}|(?:[367]\d|4[0-24-9])\d{4,11}') + ->setPossibleLengthLocalOnly([3]) + ->setPossibleLength([4, 5, 6, 7, 8, 9, 10, 11, 12, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:485|(?:5[0-3579]|6[013-9]|[7-9]\d)\d)\d{3,9}') + ->setExampleNumber('664123456') + ->setPossibleLength([7, 8, 9, 10, 11, 12, 13]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8[69][2-68]|9(?:0[01]|3[019]))\d{6,10}') + ->setExampleNumber('900123456') + ->setPossibleLength([9, 10, 11, 12, 13]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:11\d|[2-9]\d{3,11})|(?:316|463)\d{3,10}|648[34]\d{3,9}|(?:51|66|73)2\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-7]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\d{4,10}') + ->setExampleNumber('1234567890') + ->setPossibleLengthLocalOnly([3]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['14']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3,12})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1(?:11|[2-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['517']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['5[079]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[18]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]', '(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-467]|5[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4,7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6,10}') + ->setExampleNumber('800123456') + ->setPossibleLength([9, 10, 11, 12, 13]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:10|2[018])\d{6,10}|828\d{5}') + ->setExampleNumber('810123456') + ->setPossibleLength([8, 9, 10, 11, 12, 13]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:0[1-9]|17|[79]\d)\d{2,10}|7[28]0\d{6,10}') + ->setExampleNumber('780123456') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11, 12, 13]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3,12})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1(?:11|[2-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['517']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['5[079]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]', '(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-467]|5[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4,7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php index 555eb4922..788d46f5d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AU.php @@ -1,4 +1,5 @@ 'AU', - 'countryCode' => 61, - 'generalDesc' => [ - 'pattern' => '1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}', - 'example' => '212345678', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}', - 'example' => '412345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '180(?:0\\d{3}|2)\\d{3}', - 'example' => '1800123456', - 'posLength' => [ - 7, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '190[0-26]\\d{6}', - 'example' => '1900123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', - 'example' => '1300123456', - 'posLength' => [ - 6, - 8, - 10, - 12, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', - 'example' => '147101234', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'pattern' => '163\\d{2,6}', - 'example' => '1631234', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}', - 'posLength' => [ - 6, - 7, - 8, - 10, - 12, - ], - ], - 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', - 'preferredInternationalPrefix' => '0011', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(183[12])|0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '16', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '13', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '19', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '180', - '1802', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '19', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '16', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '14|4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2378]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '$CC ($1)', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:30|[89])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '130', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '16', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '16', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '14|4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2378]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '$CC ($1)', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:30|[89])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AU extends PhoneMetadata +{ + protected const ID = 'AU'; + protected const COUNTRY_CODE = 61; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '(183[12])|0'; + protected ?string $internationalPrefix = '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011'; + protected ?string $preferredInternationalPrefix = '0011'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[0-79]\d{7}(?:\d(?:\d{2})?)?|8[0-24-9]\d{7})|[2-478]\d{8}|1\d{4,7}') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:79[01]|83[0-389]|94[0-478])\d{5}|4(?:[0-36]\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\d{6}') + ->setExampleNumber('412345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('190[0-26]\d{6}') + ->setExampleNumber('1900123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:2(?:(?:[0-26-9]\d|3[0-8]|5[0135-9])\d|4(?:[02-9]\d|10))|3(?:(?:[0-3589]\d|6[1-9]|7[0-35-9])\d|4(?:[0-578]\d|90))|7(?:[013-57-9]\d|2[0-8])\d)\d\d|8(?:51(?:0(?:0[03-9]|[12479]\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\d|7[89]|9[0-4])|[34]\d\d)|(?:6[0-8]|[78]\d)\d{3}|9(?:[02-9]\d{3}|1(?:(?:[0-58]\d|6[0135-9])\d|7(?:0[0-24-9]|[1-9]\d)|9(?:[0-46-9]\d|5[0-79])))))\d{3}') + ->setExampleNumber('212345678') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['16']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['13']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['19']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['180', '1802']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['19']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['16']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['14|4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2378]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setDomesticCarrierCodeFormattingRule('$CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:30|[89])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['130']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180(?:0\d{3}|2)\d{3}') + ->setExampleNumber('1800123456') + ->setPossibleLength([7, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13(?:00\d{6}(?:\d{2})?|45[0-4]\d{3})|13\d{4}') + ->setExampleNumber('1300123456') + ->setPossibleLength([6, 8, 10, 12]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('14(?:5(?:1[0458]|[23][458])|71\d)\d{4}') + ->setExampleNumber('147101234') + ->setPossibleLength([9]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('163\d{2,6}') + ->setExampleNumber('1631234') + ->setPossibleLength([5, 6, 7, 8, 9]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3(?:00\d{5}|45[0-4])|802)\d{3}|1[38]00\d{6}|13\d{4}') + ->setPossibleLength([6, 7, 8, 10, 12]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['16']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['16']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['14|4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2378]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setDomesticCarrierCodeFormattingRule('$CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:30|[89])']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php index 5cc224568..f7e3efb42 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AW.php @@ -1,4 +1,5 @@ 'AW', - 'countryCode' => 297, - 'generalDesc' => [ - 'pattern' => '(?:[25-79]\\d\\d|800)\\d{4}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '5(?:2\\d|8[1-9])\\d{4}', - 'example' => '5212345', - ], - 'mobile' => [ - 'pattern' => '(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}', - 'example' => '5601234', - ], - 'tollFree' => [ - 'pattern' => '800\\d{4}', - 'example' => '8001234', - ], - 'premiumRate' => [ - 'pattern' => '900\\d{4}', - 'example' => '9001234', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:28\\d|501)\\d{4}', - 'example' => '5011234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[25-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AW extends PhoneMetadata +{ + protected const ID = 'AW'; + protected const COUNTRY_CODE = 297; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[25-79]\d\d|800)\d{4}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:290|5[69]\d|6(?:[03]0|22|4[0-2]|[69]\d)|7(?:[34]\d|7[07])|9(?:6[45]|9[4-8]))\d{4}') + ->setExampleNumber('5601234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{4}') + ->setExampleNumber('9001234'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:2\d|8[1-9])\d{4}') + ->setExampleNumber('5212345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[25-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4}') + ->setExampleNumber('8001234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:28\d|501)\d{4}') + ->setExampleNumber('5011234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php index 6406f381f..e15f7038d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AX.php @@ -1,4 +1,5 @@ 'AX', - 'countryCode' => 358, - 'generalDesc' => [ - 'pattern' => '2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '18[1-8]\\d{3,6}', - 'example' => '181234567', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}', - 'example' => '412345678', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4,6}', - 'example' => '800123456', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '[67]00\\d{5,6}', - 'example' => '600123456', - 'posLength' => [ - 8, - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}', - 'example' => '10112345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], - 'leadingDigits' => '18', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AX extends PhoneMetadata +{ + protected const ID = 'AX'; + protected const COUNTRY_CODE = 358; + protected const LEADING_DIGITS = '18'; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{4,9}|35\d{4,5}|(?:60\d\d|800)\d{4,6}|7\d{5,11}|(?:[14]\d|3[0-46-9]|50)\d{4,8}') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4946\d{2,6}|(?:4[0-8]|50)\d{4,8}') + ->setExampleNumber('412345678') + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[67]00\d{5,6}') + ->setExampleNumber('600123456') + ->setPossibleLength([8, 9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18[1-8]\d{3,6}') + ->setExampleNumber('181234567') + ->setPossibleLength([6, 7, 8, 9]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4,6}') + ->setExampleNumber('800123456') + ->setPossibleLength([7, 8, 9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20\d{4,8}|60[12]\d{5,6}|7(?:099\d{4,5}|5[03-9]\d{3,7})|20[2-59]\d\d|(?:606|7(?:0[78]|1|3\d))\d{7}|(?:10|29|3[09]|70[1-5]\d)\d{4,8}') + ->setExampleNumber('10112345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php index d5879026f..ac0d1496b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_AZ.php @@ -1,4 +1,5 @@ 'AZ', - 'countryCode' => 994, - 'generalDesc' => [ - 'pattern' => '365\\d{6}|(?:[124579]\\d|60|88)\\d{7}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}', - 'example' => '123123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}', - 'example' => '401234567', - ], - 'tollFree' => [ - 'pattern' => '88\\d{7}', - 'example' => '881234567', - ], - 'premiumRate' => [ - 'pattern' => '900200\\d{3}', - 'example' => '900200123', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[28]|2|365|46', - '1[28]|2|365[45]|46', - '1[28]|2|365(?:4|5[02])|46', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[13-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[28]|2|365|46', - '1[28]|2|365[45]|46', - '1[28]|2|365(?:4|5[02])|46', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[13-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_AZ extends PhoneMetadata +{ + protected const ID = 'AZ'; + protected const COUNTRY_CODE = 994; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('365\d{6}|(?:[124579]\d|60|88)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('36554\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\d{7}') + ->setExampleNumber('401234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900200\d{3}') + ->setExampleNumber('900200123'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[12]428|3655[02])\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\d{5}|(?:(?:1[28]|46)\d|2(?:[014-6]2|[23]3))\d{6}') + ->setExampleNumber('123123456') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[28]|2|365|46', '1[28]|2|365[45]|46', '1[28]|2|365(?:4|5[02])|46']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[13-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88\d{7}') + ->setExampleNumber('881234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[28]|2|365|46', '1[28]|2|365[45]|46', '1[28]|2|365(?:4|5[02])|46']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[13-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php index c64f3a5ca..7b073fd96 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BA.php @@ -1,4 +1,5 @@ 'BA', - 'countryCode' => 387, - 'generalDesc' => [ - 'pattern' => '6\\d{8}|(?:[35689]\\d|49|70)\\d{6}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}', - 'example' => '30212345', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}', - 'example' => '61123456', - ], - 'tollFree' => [ - 'pattern' => '8[08]\\d{6}', - 'example' => '80123456', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '9[0246]\\d{6}', - 'example' => '90123456', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '8[12]\\d{6}', - 'example' => '82123456', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}', - 'example' => '70341234', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6[1-3]|[7-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[3-5]|6[56]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6[1-3]|[7-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[3-5]|6[56]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BA extends PhoneMetadata +{ + protected const ID = 'BA'; + protected const COUNTRY_CODE = 387; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6\d{8}|(?:[35689]\d|49|70)\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6040\d{5}|6(?:03|[1-356]|44|7\d)\d{6}') + ->setExampleNumber('61123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[0246]\d{6}') + ->setExampleNumber('90123456') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\d{5}') + ->setExampleNumber('30212345') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6[1-3]|[7-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[3-5]|6[56]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[08]\d{6}') + ->setExampleNumber('80123456') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[12]\d{6}') + ->setExampleNumber('82123456') + ->setPossibleLength([8]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('703[235]0\d{3}|70(?:2[0-5]|3[0146]|[56]0)\d{4}') + ->setExampleNumber('70341234') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6[1-3]|[7-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[3-5]|6[56]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php index 0c3003da6..2fefbc446 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BB.php @@ -1,4 +1,5 @@ 'BB', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:246|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}', - 'example' => '2464123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}', - 'example' => '2462501234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '(?:246976|900[2-9]\\d\\d)\\d{4}', - 'example' => '9002123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'pattern' => '24631\\d{5}', - 'example' => '2463101234', - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}', - 'example' => '2464301234', - 'posLengthLocal' => [ - 7, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '246$1', - 'numberFormat' => [], - 'leadingDigits' => '246', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BB extends PhoneMetadata +{ + protected const ID = 'BB'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '246'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '246$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:246|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('246(?:(?:2(?:[3568]\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\d)|69[5-7]|8(?:[2-5]\d|83))\d|52(?:1[147]|20))\d{3}') + ->setExampleNumber('2462501234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:246976|900[2-9]\d\d)\d{4}') + ->setExampleNumber('9002123456') + ->setPossibleLengthLocalOnly([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('246521[0369]\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\d|3[2-9])|5(?:20|[34]\d|54|7[1-3])|6(?:2\d|38)|7[35]7|9(?:1[89]|63))\d{4}') + ->setExampleNumber('2464123456') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('24631\d{5}') + ->setExampleNumber('2463101234') + ->setPossibleLengthLocalOnly([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\d|3[016]|53))\d{4}') + ->setExampleNumber('2464301234') + ->setPossibleLengthLocalOnly([7]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php index 5b6e5114d..164b799a0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BD.php @@ -1,4 +1,5 @@ 'BD', - 'countryCode' => 880, - 'generalDesc' => [ - 'pattern' => '[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:[23]\\d|[45])\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', - 'example' => '27111234', - ], - 'mobile' => [ - 'pattern' => '(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}', - 'example' => '1812345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80[03]\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\d{6}', - 'example' => '9604123456', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4,6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '31[5-8]|[459]1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[13-9]|2[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{7,8})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BD extends PhoneMetadata +{ + protected const ID = 'BD'; + protected const COUNTRY_CODE = 880; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-469]\d{9}|8[0-79]\d{7,8}|[2-79]\d{8}|[2-9]\d{7}|[3-9]\d{6}|[57-9]\d{5}') + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[13-9]\d|644)\d{7}|(?:3[78]|44|66)[02-9]\d{7}') + ->setExampleNumber('1812345678') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4(?:31\d\d|423)|5222)\d{3}(?:\d{2})?|8332[6-9]\d\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\d{4}|(?:2(?:[23]\d|[45])\d\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\d{5}|[59]1\d{5}') + ->setExampleNumber('27111234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['31[5-8]|[459]1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern([ + '3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[13-9]|2[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{7,8})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[03]\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\d{6}') + ->setExampleNumber('9604123456') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php index 26f18de41..61e6799df 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BE.php @@ -1,4 +1,5 @@ 'BE', - 'countryCode' => 32, - 'generalDesc' => [ - 'pattern' => '4\\d{8}|[1-9]\\d{7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}', - 'example' => '12345678', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '4[5-9]\\d{7}', - 'example' => '470123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800[1-9]\\d{4}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\d\\d)\\d{4}', - 'example' => '90012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '7879\\d{4}', - 'example' => '78791234', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\d)\\d{4}', - 'example' => '78102345', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:80|9)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[239]|4[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[15-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BE extends PhoneMetadata +{ + protected const ID = 'BE'; + protected const COUNTRY_CODE = 32; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4\d{8}|[1-9]\d{7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4[5-9]\d{7}') + ->setExampleNumber('470123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:70(?:2[0-57]|3[04-7]|44|6[04-69]|7[0579])|90\d\d)\d{4}') + ->setExampleNumber('90012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[2-8]\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\d|6[013-57-9]|71|8[1-79]|9[2-4])\d{6}') + ->setExampleNumber('12345678') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:80|9)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[239]|4[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[15-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[1-9]\d{4}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7879\d{4}') + ->setExampleNumber('78791234') + ->setPossibleLength([8]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('78(?:0[578]|1[014-8]|2[25]|3[15-8]|48|5[05]|60|7[06-8]|9\d)\d{4}') + ->setExampleNumber('78102345') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php index 7c5a26fe6..d0d24058e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BF.php @@ -1,4 +1,5 @@ 'BF', - 'countryCode' => 226, - 'generalDesc' => [ - 'pattern' => '[025-7]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\d|50|6[5-7]))\\d{4}', - 'example' => '20491234', - ], - 'mobile' => [ - 'pattern' => '(?:0[1-7]|5[0-8]|[67]\\d)\\d{6}', - 'example' => '70123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[025-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BF extends PhoneMetadata +{ + protected const ID = 'BF'; + protected const COUNTRY_CODE = 226; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[025-7]\d|44)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0[1-7]|44|5[0-8]|[67]\d)\d{6}') + ->setExampleNumber('70123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\d|50|6[5-7]))\d{4}') + ->setExampleNumber('20491234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[024-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php index 21012b62b..c9f37f798 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BG.php @@ -1,4 +1,5 @@ 'BG', - 'countryCode' => 359, - 'generalDesc' => [ - 'pattern' => '00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 12, - ], - 'posLengthLocal' => [ - 4, - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}', - 'example' => '2123456', - 'posLength' => [ - 6, - 7, - 8, - ], - 'posLengthLocal' => [ - 4, - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}', - 'example' => '43012345', - 'posLength' => [ - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:00800\\d\\d|800)\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - 12, - ], - ], - 'premiumRate' => [ - 'pattern' => '90\\d{6}', - 'example' => '90123456', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '700\\d{5}', - 'example' => '70012345', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '43[1-6]|70[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:70|8)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '43[1-7]|7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[48]|9[08]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '43[1-6]|70[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:70|8)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '43[1-7]|7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[48]|9[08]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BG extends PhoneMetadata +{ + protected const ID = 'BG'; + protected const COUNTRY_CODE = 359; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00800\d{7}|[2-7]\d{6,7}|[89]\d{6,8}|2\d{5}') + ->setPossibleLengthLocalOnly([4, 5]) + ->setPossibleLength([6, 7, 8, 9, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:43[07-9]|99[69]\d)\d{5}|(?:8[7-9]|98)\d{7}') + ->setExampleNumber('43012345') + ->setPossibleLength([8, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{6}') + ->setExampleNumber('90123456') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{5,7}|(?:43[1-6]|70[1-9])\d{4,5}|(?:[36]\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\d{5,6}') + ->setExampleNumber('2123456') + ->setPossibleLengthLocalOnly([4, 5]) + ->setPossibleLength([6, 7, 8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['43[1-6]|70[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:70|8)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['43[1-7]|7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[48]|9[08]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:00800\d\d|800)\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8, 12]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700\d{5}') + ->setExampleNumber('70012345') + ->setPossibleLength([8]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['43[1-6]|70[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:70|8)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['43[1-7]|7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[48]|9[08]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php index 61f3471e4..3fb33cbed 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BH.php @@ -1,4 +1,5 @@ 'BH', - 'countryCode' => 973, - 'generalDesc' => [ - 'pattern' => '[136-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\d\\d|1(?:11|78)))\\d{4}', - 'example' => '17001234', - ], - 'mobile' => [ - 'pattern' => '(?:3(?:[0-79]\\d|8[0-57-9])\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\d|7[0-689])))\\d{4}', - 'example' => '36001234', - ], - 'tollFree' => [ - 'pattern' => '8[02369]\\d{6}', - 'example' => '80123456', - ], - 'premiumRate' => [ - 'pattern' => '(?:87|9[0-8])\\d{6}', - 'example' => '90123456', - ], - 'sharedCost' => [ - 'pattern' => '84\\d{6}', - 'example' => '84123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[13679]|8[02-4679]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BH extends PhoneMetadata +{ + protected const ID = 'BH'; + protected const COUNTRY_CODE = 973; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[136-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:[0-79]\d|8[0-57-9])\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\d|7[0-689])))\d{4}') + ->setExampleNumber('36001234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:87|9[0-8])\d{6}') + ->setExampleNumber('90123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:3[1356]|6[0156]|7\d)\d|6(?:1[16]\d|500|6(?:0\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\d\d|1(?:11|78)))\d{4}') + ->setExampleNumber('17001234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[13679]|8[02-4679]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[02369]\d{6}') + ->setExampleNumber('80123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('84\d{6}') + ->setExampleNumber('84123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php index dadf1c9be..1c5f3eacd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BI.php @@ -1,4 +1,5 @@ 'BI', - 'countryCode' => 257, - 'generalDesc' => [ - 'pattern' => '(?:[267]\\d|31)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:22|31)\\d{6}', - 'example' => '22201234', - ], - 'mobile' => [ - 'pattern' => '(?:29|[67][125-9])\\d{6}', - 'example' => '79561234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2367]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BI extends PhoneMetadata +{ + protected const ID = 'BI'; + protected const COUNTRY_CODE = 257; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[267]\d|31)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:29|6[124-9]|7[125-9])\d{6}') + ->setExampleNumber('79561234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:22|31)\d{6}') + ->setExampleNumber('22201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2367]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php index 05532aa4c..e9eec2c4e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BJ.php @@ -1,4 +1,5 @@ 'BJ', - 'countryCode' => 229, - 'generalDesc' => [ - 'pattern' => '[24-689]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2090\\d{4}|2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}', - 'example' => '20211234', - ], - 'mobile' => [ - 'pattern' => '(?:4[0-8]|[56]\\d|9[013-9])\\d{6}', - 'example' => '90011234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '857[58]\\d{4}', - 'example' => '85751234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '81\\d{6}', - 'example' => '81123456', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24-689]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BJ extends PhoneMetadata +{ + protected const ID = 'BJ'; + protected const COUNTRY_CODE = 229; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:01\d|[24-689])\d{7}') + ->setPossibleLength([8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:01(?:2[5-9]|[4-69]\d)|4[0-8]|[56]\d|9[013-9])\d{6}') + ->setExampleNumber('0195123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2090\d{4}|(?:012\d\d|2(?:02|1[037]|2[45]|3[68]|4\d))\d{5}') + ->setExampleNumber('0120211234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24-689]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('857[58]\d{4}') + ->setExampleNumber('85751234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81\d{6}') + ->setExampleNumber('81123456') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php index 45da054af..34612cbad 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BL.php @@ -1,4 +1,5 @@ 'BL', - 'countryCode' => 590, - 'generalDesc' => [ - 'pattern' => '590\\d{6}|(?:69|80|9\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}', - 'example' => '590271234', - ], - 'mobile' => [ - 'pattern' => '69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}', - 'example' => '690001234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}', - 'example' => '976012345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BL extends PhoneMetadata +{ + protected const ID = 'BL'; + protected const COUNTRY_CODE = 590; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:590\d|7090)\d{5}|(?:69|80|9\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:69(?:0\d\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\d)|6(?:1[016-9]|5[0-4]|[67]\d))|7090[0-4])\d{4}') + ->setExampleNumber('690001234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('590(?:2[7-9]|3[3-7]|5[12]|87)\d{4}') + ->setExampleNumber('590271234'); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:39[5-7]|76[018])\d|475[0-6])\d{4}') + ->setExampleNumber('976012345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php index 8a0c727fe..59465e157 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BM.php @@ -1,4 +1,5 @@ 'BM', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:441|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}', - 'example' => '4414123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '441(?:[2378]\\d|5[0-39]|9[02])\\d{5}', - 'example' => '4413701234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '441$1', - 'numberFormat' => [], - 'leadingDigits' => '441', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BM extends PhoneMetadata +{ + protected const ID = 'BM'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '441'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '441$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:441|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('441(?:[2378]\d|5[0-39]|9[02])\d{5}') + ->setExampleNumber('4413701234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('441(?:[46]\d\d|5(?:4\d|60|89))\d{4}') + ->setExampleNumber('4414123456') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php index 034a00797..ef686d5b7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BN.php @@ -1,4 +1,5 @@ 'BN', - 'countryCode' => 673, - 'generalDesc' => [ - 'pattern' => '[2-578]\\d{6}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}', - 'example' => '2345678', - ], - 'mobile' => [ - 'pattern' => '(?:22[89]|[78]\\d\\d)\\d{4}', - 'example' => '7123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '5[34]\\d{5}', - 'example' => '5345678', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-578]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BN extends PhoneMetadata +{ + protected const ID = 'BN'; + protected const COUNTRY_CODE = 673; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-578]\d{6}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:22[89]|[78]\d\d)\d{4}') + ->setExampleNumber('7123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('22[0-7]\d{4}|(?:2[013-9]|[34]\d|5[0-25-9])\d{5}') + ->setExampleNumber('2345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-578]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[34]\d{5}') + ->setExampleNumber('5345678'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php index b17403380..9179b4a99 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BO.php @@ -1,4 +1,5 @@ 'BO', - 'countryCode' => 591, - 'generalDesc' => [ - 'pattern' => '8001\\d{5}|(?:[2-467]\\d|50)\\d{6}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}', - 'example' => '22123456', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '[67]\\d{7}', - 'example' => '71234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '8001[07]\\d{4}', - 'example' => '800171234', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '50\\d{6}', - 'example' => '50123456', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '8001[07]\\d{4}', - 'posLength' => [ - 9, - ], - ], - 'internationalPrefix' => '00(?:1\\d)?', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0(1\\d)?', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[235]|4[46]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d{8})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[67]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BO extends PhoneMetadata +{ + protected const ID = 'BO'; + protected const COUNTRY_CODE = 591; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0(1\d)?'; + protected ?string $internationalPrefix = '00(?:1\d)?'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8001\d{5}|(?:[2-467]\d|50)\d{6}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[67]\d{7}') + ->setExampleNumber('71234567') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:2\d\d|5(?:11|[258]\d|9[67])|6(?:12|2\d|9[34])|8(?:2[34]|39|62))|3(?:3\d\d|4(?:6\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\d\d|6(?:11|[24689]\d|72)))\d{4}') + ->setExampleNumber('22123456') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[235]|4[46]']) + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{8})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[67]']) + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8001[07]\d{4}') + ->setExampleNumber('800171234') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('50\d{6}') + ->setExampleNumber('50123456') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8001[07]\d{4}') + ->setPossibleLength([9]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php index 129bf7300..a459b58a8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BQ.php @@ -1,4 +1,5 @@ 'BQ', - 'countryCode' => 599, - 'generalDesc' => [ - 'pattern' => '(?:[34]1|7\\d)\\d{5}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}', - 'example' => '7151234', - ], - 'mobile' => [ - 'pattern' => '(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}', - 'example' => '3181234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], - 'leadingDigits' => '[347]', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BQ extends PhoneMetadata +{ + protected const ID = 'BQ'; + protected const COUNTRY_CODE = 599; + protected const LEADING_DIGITS = '[347]'; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[34]1|7\d)\d{5}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\d|9[056])\d)\d{3}') + ->setExampleNumber('3181234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\d)\d{3}') + ->setExampleNumber('7151234'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php index 19e582d42..56af7dff4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BR.php @@ -1,4 +1,5 @@ 'BR', - 'countryCode' => 55, - 'generalDesc' => [ - 'pattern' => '(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}', - 'example' => '1123456789', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}', - 'example' => '11961234567', - 'posLength' => [ - 10, - 11, - ], - 'posLengthLocal' => [ - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6,7}', - 'example' => '800123456', - 'posLength' => [ - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '300\\d{6}|[59]00\\d{6,7}', - 'example' => '300123456', - 'posLength' => [ - 9, - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370))\\d{4}|300\\d{5}', - 'example' => '40041234', - 'posLength' => [ - 8, - 10, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '30(?:0\\d{5,7}|3\\d{7})|40(?:0\\d|20)\\d{4}|800\\d{6,7}', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'internationalPrefix' => '00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?', - 'nationalPrefixTransformRule' => '$2', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3,6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '300|4(?:0[02]|37)', - '4(?:02|37)0|[34]00', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-57]', - '[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:[358]|90)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0 $CC ($1)', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[16][1-9]|[2-57-9]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0 $CC ($1)', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '300|4(?:0[02]|37)', - '4(?:02|37)0|[34]00', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:[358]|90)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0 $CC ($1)', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[16][1-9]|[2-57-9]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0 $CC ($1)', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BR extends PhoneMetadata +{ + protected const ID = 'BR'; + protected const COUNTRY_CODE = 55; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\d{10,11}))?'; + protected ?string $internationalPrefix = '00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)'; + protected ?string $nationalPrefixTransformRule = '$2'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-467]\d{9,10}|55[0-46-9]\d{8}|[34]\d{7}|55\d{7,8}|(?:5[0-46-9]|[89]\d)\d{7,9}') + ->setPossibleLength([8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\d)\d{7}') + ->setExampleNumber('11961234567') + ->setPossibleLengthLocalOnly([8, 9]) + ->setPossibleLength([10, 11]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[59]00\d{6,7}') + ->setExampleNumber('500123456') + ->setPossibleLength([9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\d{7}') + ->setExampleNumber('1123456789') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3,6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['300|4(?:0[02]|37|86)', '300|4(?:0(?:0|20)|370|864)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-57]', '[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:[358]|90)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0 $CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[16][1-9]|[2-57-9]']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0 $CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6,7}') + ->setExampleNumber('800123456') + ->setPossibleLength([9, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:30[03]\d{3}|4(?:0(?:0\d|20)|370|864))\d{4}|300\d{5}') + ->setExampleNumber('40041234') + ->setPossibleLength([8, 10]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:30[03]\d{3}|4(?:0(?:0\d|20)|864))\d{4}|800\d{6,7}|300\d{5}') + ->setPossibleLength([8, 9, 10]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['300|4(?:0[02]|37|86)', '300|4(?:0(?:0|20)|370|864)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:[358]|90)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0 $CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[16][1-9]|[2-57-9]']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0 $CC ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php index 7e9661c41..cc2eea9c6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BS.php @@ -1,4 +1,5 @@ 'BS', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:242|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}', - 'example' => '2423456789', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|3[0-4]|[89]9))\\d{4}', - 'example' => '2423591234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '242225\\d{4}', - 'example' => '2422250123', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([3-8]\\d{6})$|1', - 'nationalPrefixTransformRule' => '242$1', - 'numberFormat' => [], - 'leadingDigits' => '242', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BS extends PhoneMetadata +{ + protected const ID = 'BS'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '242'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([3-8]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '242$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:242|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\d|3[0-4]|[89]9))\d{4}') + ->setExampleNumber('2423591234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\d{4}') + ->setExampleNumber('2423456789') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('242300\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456') + ->setPossibleLengthLocalOnly([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('242225\d{4}') + ->setExampleNumber('2422250123'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php index 0fa5af5e5..473ef4ff6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BT.php @@ -1,4 +1,5 @@ 'BT', - 'countryCode' => 975, - 'generalDesc' => [ - 'pattern' => '[17]\\d{7}|[2-8]\\d{6}', - 'posLength' => [ - 7, - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}', - 'example' => '2345678', - 'posLength' => [ - 7, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:1[67]|77)\\d{6}', - 'example' => '17123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-68]|7[246]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[67]|7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-68]|7[246]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[67]|7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BT extends PhoneMetadata +{ + protected const ID = 'BT'; + protected const COUNTRY_CODE = 975; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]\d{7}|[2-8]\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[67]|77)\d{6}') + ->setExampleNumber('17123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\d{5}') + ->setExampleNumber('2345678') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-68]|7[246]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[67]|7']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-68]|7[246]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[67]|7']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php index f4f03041f..d1bc837dd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BW.php @@ -1,4 +1,5 @@ 'BW', - 'countryCode' => 267, - 'generalDesc' => [ - 'pattern' => '(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}', - 'posLength' => [ - 7, - 8, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[013467]))\\d{4}', - 'example' => '2401234', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:321|7[1-8]\\d)\\d{5}', - 'example' => '71123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:0800|800\\d)\\d{6}', - 'example' => '0800012345', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '90\\d{5}', - 'example' => '9012345', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '79(?:1(?:[0-2]\\d|3[0-3])|2[0-7]\\d)\\d{3}', - 'example' => '79101234', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '90', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[24-6]|3[15-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[37]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BW extends PhoneMetadata +{ + protected const ID = 'BW'; + protected const COUNTRY_CODE = 267; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0800|(?:[37]|800)\d)\d{6}|(?:[2-6]\d|90)\d{5}') + ->setPossibleLength([7, 8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:321|7[1-8]\d)\d{5}') + ->setExampleNumber('71123456') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{5}') + ->setExampleNumber('9012345') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[013467]))\d{4}') + ->setExampleNumber('2401234') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['90']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[24-6]|3[15-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[37]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0800|800\d)\d{6}') + ->setExampleNumber('0800012345') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('79(?:1(?:[0-2]\d|3[0-8])|2[0-7]\d)\d{3}') + ->setExampleNumber('79101234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php index e85113d2e..92d045620 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BY.php @@ -1,4 +1,5 @@ 'BY', - 'countryCode' => 375, - 'generalDesc' => [ - 'pattern' => '(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}', - 'example' => '152450911', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}', - 'example' => '294911911', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}', - 'example' => '8011234567', - ], - 'premiumRate' => [ - 'pattern' => '(?:810|902)\\d{7}', - 'example' => '9021234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '249\\d{6}', - 'example' => '249123456', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}', - ], - 'internationalPrefix' => '810', - 'preferredInternationalPrefix' => '8~10', - 'nationalPrefix' => '8', - 'nationalPrefixForParsing' => '0|80?', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{3})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])', - '1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])', - ], - 'nationalPrefixFormattingRule' => '8 0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '1(?:[56]|7[467])|2[1-3]', - ], - 'nationalPrefixFormattingRule' => '8 0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '[1-4]', - ], - 'nationalPrefixFormattingRule' => '8 0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BY extends PhoneMetadata +{ + protected const ID = 'BY'; + protected const COUNTRY_CODE = 375; + protected const NATIONAL_PREFIX = '8'; + + protected ?string $nationalPrefixForParsing = '0|80?'; + protected ?string $internationalPrefix = '810'; + protected ?string $preferredInternationalPrefix = '8~10'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[12]\d|33|44|902)\d{7}|8(?:0[0-79]\d{5,7}|[1-7]\d{9})|8(?:1[0-489]|[5-79]\d)\d{7}|8[1-79]\d{6,7}|8[0-79]\d{5}|8\d{5}') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6, 7, 8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:5[5-79]|9[1-9])|(?:33|44)\d)\d{6}') + ->setExampleNumber('294911911') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:810|902)\d{7}') + ->setExampleNumber('9021234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:5(?:1[1-5]|[24]\d|6[2-4]|9[1-7])|6(?:[235]\d|4[1-7])|7\d\d)|2(?:1(?:[246]\d|3[0-35-9]|5[1-9])|2(?:[235]\d|4[0-8])|3(?:[26]\d|3[02-79]|4[024-7]|5[03-7])))\d{5}') + ->setExampleNumber('152450911') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('8 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('8 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{3})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern([ + '1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])', + '1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])', + ]) + ->setNationalPrefixFormattingRule('8 0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['1(?:[56]|7[467])|2[1-3]']) + ->setNationalPrefixFormattingRule('8 0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['[1-4]']) + ->setNationalPrefixFormattingRule('8 0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('8 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{3,7}|8(?:0[13]|20\d)\d{7}') + ->setExampleNumber('8011234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('249\d{6}') + ->setExampleNumber('249123456') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{3,7}|(?:8(?:0[13]|10|20\d)|902)\d{7}'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php index 263a7c44f..60c21cc00 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_BZ.php @@ -1,4 +1,5 @@ 'BZ', - 'countryCode' => 501, - 'generalDesc' => [ - 'pattern' => '(?:0800\\d|[2-8])\\d{6}', - 'posLength' => [ - 7, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}', - 'example' => '2221234', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '6[0-35-7]\\d{5}', - 'example' => '6221234', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '0800\\d{7}', - 'example' => '08001234123', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})(\\d{3})', - 'format' => '$1-$2-$3-$4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_BZ extends PhoneMetadata +{ + protected const ID = 'BZ'; + protected const COUNTRY_CODE = 501; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0800\d|[2-8])\d{6}') + ->setPossibleLength([7, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[0-35-7]\d{5}') + ->setExampleNumber('6221234') + ->setPossibleLength([7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[02]\d|36|[68]0)|[3-58](?:[02]\d|[68]0)|7(?:[02]\d|32|[68]0))\d{4}') + ->setExampleNumber('2221234') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})(\d{3})') + ->setFormat('$1-$2-$3-$4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{7}') + ->setExampleNumber('08001234123') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php index 0f7e69ba1..f8bf10c8f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CA.php @@ -1,4 +1,5 @@ 'CA', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[2-8]\\d|90)\\d{8}|3\\d{6}', - 'posLength' => [ - 7, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}', - 'example' => '5062345678', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}', - 'example' => '5062345678', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}', - 'example' => '5002345678', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'pattern' => '600[2-9]\\d{6}', - 'example' => '6002012345', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '310\\d{4}', - 'example' => '3101234', - 'posLength' => [ - 7, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CA extends PhoneMetadata +{ + protected const ID = 'CA'; + protected const COUNTRY_CODE = 1; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + protected bool $mobileNumberPortableRegion = true; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{9}|3\d{6}') + ->setPossibleLength([7, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\d{6}') + ->setExampleNumber('5062345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\d{6}') + ->setExampleNumber('5062345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|(?:5(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\d{6}') + ->setExampleNumber('5219023456') + ->setPossibleLength([10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('600[2-9]\d{6}') + ->setExampleNumber('6002012345') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('310\d{4}') + ->setExampleNumber('3101234') + ->setPossibleLength([7]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php index fe528e11f..5a314df6e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CC.php @@ -1,4 +1,5 @@ 'CC', - 'countryCode' => 61, - 'generalDesc' => [ - 'pattern' => '1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}', - 'example' => '891621234', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}', - 'example' => '412345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '180(?:0\\d{3}|2)\\d{3}', - 'example' => '1800123456', - 'posLength' => [ - 7, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '190[0-26]\\d{6}', - 'example' => '1900123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', - 'example' => '1300123456', - 'posLength' => [ - 6, - 8, - 10, - 12, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', - 'example' => '147101234', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', - 'preferredInternationalPrefix' => '0011', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([59]\\d{7})$|0', - 'nationalPrefixTransformRule' => '8$1', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CC extends PhoneMetadata +{ + protected const ID = 'CC'; + protected const COUNTRY_CODE = 61; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([59]\d{7})$|0'; + protected ?string $internationalPrefix = '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011'; + protected ?string $preferredInternationalPrefix = '0011'; + protected ?string $nationalPrefixTransformRule = '8$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[0-79]\d{8}(?:\d{2})?|8[0-24-9]\d{7})|[148]\d{8}|1\d{5,7}') + ->setPossibleLength([6, 7, 8, 9, 10, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:79[01]|83[0-389]|94[0-478])\d{5}|4(?:[0-36]\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\d{6}') + ->setExampleNumber('412345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('190[0-26]\d{6}') + ->setExampleNumber('1900123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\d|70[23]|959))\d{3}') + ->setExampleNumber('891621234') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([9]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180(?:0\d{3}|2)\d{3}') + ->setExampleNumber('1800123456') + ->setPossibleLength([7, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13(?:00\d{6}(?:\d{2})?|45[0-4]\d{3})|13\d{4}') + ->setExampleNumber('1300123456') + ->setPossibleLength([6, 8, 10, 12]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('14(?:5(?:1[0458]|[23][458])|71\d)\d{4}') + ->setExampleNumber('147101234') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php index a77f1c5cf..b85ba7dc5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CD.php @@ -1,4 +1,5 @@ 'CD', - 'countryCode' => 243, - 'generalDesc' => [ - 'pattern' => '(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:12|573)\\d\\d|276)\\d{5}|[1-6]\\d{6}', - 'example' => '1234567', - ], - 'mobile' => [ - 'pattern' => '88\\d{5}|(?:8[0-69]|9[017-9])\\d{7}', - 'example' => '991234567', - 'posLength' => [ - 7, - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '88', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CD extends PhoneMetadata +{ + protected const ID = 'CD'; + protected const COUNTRY_CODE = 243; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:[189]|5\d)\d|2)\d{7}|[1-68]\d{6}') + ->setPossibleLength([7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88\d{5}|(?:8[0-69]|9[017-9])\d{7}') + ->setExampleNumber('991234567') + ->setPossibleLength([7, 9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:12|573)\d\d|276)\d{5}|[1-6]\d{6}') + ->setExampleNumber('1234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['88']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[1-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php index 7ae56fd60..dbbc36051 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CF.php @@ -1,4 +1,5 @@ 'CF', - 'countryCode' => 236, - 'generalDesc' => [ - 'pattern' => '(?:[27]\\d{3}|8776)\\d{4}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[12]\\d{6}', - 'example' => '21612345', - ], - 'mobile' => [ - 'pattern' => '7[024-7]\\d{6}', - 'example' => '70012345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '8776\\d{4}', - 'example' => '87761234', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[278]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CF extends PhoneMetadata +{ + protected const ID = 'CF'; + protected const COUNTRY_CODE = 236; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[27]\d{3}|8776)\d{4}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[024-7]\d{6}') + ->setExampleNumber('70012345'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8776\d{4}') + ->setExampleNumber('87761234'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[12]\d{6}') + ->setExampleNumber('21612345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[278]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php index b4d304b0e..f9442b654 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CG.php @@ -1,4 +1,5 @@ 'CG', - 'countryCode' => 242, - 'generalDesc' => [ - 'pattern' => '222\\d{6}|(?:0\\d|80)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '222[1-589]\\d{5}', - 'example' => '222123456', - ], - 'mobile' => [ - 'pattern' => '026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}', - 'example' => '061234567', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '80[0-2]\\d{6}', - 'example' => '800123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[02]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CG extends PhoneMetadata +{ + protected const ID = 'CG'; + protected const COUNTRY_CODE = 242; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('222\d{6}|(?:0\d|80)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('026(?:1[0-5]|6[6-9])\d{4}|0(?:[14-6]\d\d|2(?:40|5[5-8]|6[07-9]))\d{5}') + ->setExampleNumber('061234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-2]\d{6}') + ->setExampleNumber('800123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('222[1-589]\d{5}') + ->setExampleNumber('222123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[02]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php index 6500bf9d3..e55158234 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CH.php @@ -1,4 +1,5 @@ 'CH', - 'countryCode' => 41, - 'generalDesc' => [ - 'pattern' => '8\\d{11}|[2-9]\\d{8}', - 'posLength' => [ - 9, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}', - 'example' => '212345678', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:6[89]|7[235-9])\\d{7}', - 'example' => '781234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '90[016]\\d{6}', - 'example' => '900123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '84[0248]\\d{6}', - 'example' => '840123456', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'pattern' => '878\\d{6}', - 'example' => '878123456', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '74[0248]\\d{6}', - 'example' => '740123456', - 'posLength' => [ - 9, - ], - ], - 'uan' => [ - 'pattern' => '5[18]\\d{7}', - 'example' => '581234567', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'pattern' => '860\\d{9}', - 'example' => '860123456789', - 'posLength' => [ - 12, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8[047]|90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2-79]|81', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CH extends PhoneMetadata +{ + protected const ID = 'CH'; + protected const COUNTRY_CODE = 41; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{11}|[2-9]\d{8}') + ->setPossibleLength([9, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6[89]|7[235-9])\d{7}') + ->setExampleNumber('781234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[016]\d{6}') + ->setExampleNumber('900123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\d{7}') + ->setExampleNumber('212345678') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8[047]|90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2-79]|81']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('84[0248]\d{6}') + ->setExampleNumber('840123456') + ->setPossibleLength([9]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('878\d{6}') + ->setExampleNumber('878123456') + ->setPossibleLength([9]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('74[0248]\d{6}') + ->setExampleNumber('740123456') + ->setPossibleLength([9]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[18]\d{7}') + ->setExampleNumber('581234567') + ->setPossibleLength([9]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('860\d{9}') + ->setExampleNumber('860123456789') + ->setPossibleLength([12]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php index 649a512cc..427e030e2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CI.php @@ -1,4 +1,5 @@ 'CI', - 'countryCode' => 225, - 'generalDesc' => [ - 'pattern' => '[02]\\d{9}', - 'posLength' => [ - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}', - 'example' => '2123456789', - ], - 'mobile' => [ - 'pattern' => '0[157]\\d{8}', - 'example' => '0123456789', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d)(\\d{5})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CI extends PhoneMetadata +{ + protected const ID = 'CI'; + protected const COUNTRY_CODE = 225; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[02]\d{9}') + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[157]\d{8}') + ->setExampleNumber('0123456789'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[15]\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\d{5}') + ->setExampleNumber('2123456789'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d)(\d{5})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php index 6b21acad7..634b8a29b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CK.php @@ -1,4 +1,5 @@ 'CK', - 'countryCode' => 682, - 'generalDesc' => [ - 'pattern' => '[2-578]\\d{4}', - 'posLength' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2\\d|3[13-7]|4[1-5])\\d{3}', - 'example' => '21234', - ], - 'mobile' => [ - 'pattern' => '[578]\\d{4}', - 'example' => '71234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-578]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CK extends PhoneMetadata +{ + protected const ID = 'CK'; + protected const COUNTRY_CODE = 682; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-578]\d{4}') + ->setPossibleLength([5]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[578]\d{4}') + ->setExampleNumber('71234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2\d|3[13-7]|4[1-5])\d{3}') + ->setExampleNumber('21234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-578]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php index 8879a8a85..fb7afd88c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CL.php @@ -1,4 +1,5 @@ 'CL', - 'countryCode' => 56, - 'generalDesc' => [ - 'pattern' => '12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}', - 'posLength' => [ - 9, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', - 'example' => '221234567', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', - 'example' => '221234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:123|8)00\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'pattern' => '600\\d{7,8}', - 'example' => '6001234567', - 'posLength' => [ - 10, - 11, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '44\\d{7}', - 'example' => '441234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '600\\d{7,8}', - 'posLength' => [ - 10, - 11, - ], - ], - 'internationalPrefix' => '(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:[03-589]|21)|[29]0|78', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '219', - '2196', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '44', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[1-36]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '60|8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '60', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '219', - '2196', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '44', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[1-36]', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '60|8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '60', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CL extends PhoneMetadata +{ + protected const ID = 'CL'; + protected const COUNTRY_CODE = 56; + + protected ?string $internationalPrefix = '(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0'; + protected bool $mobileNumberPortableRegion = true; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12300\d{6}|6\d{9,10}|[2-9]\d{8}') + ->setPossibleLength([9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:1982[0-6]|3314[05-9])\d{3}|(?:2(?:1(?:160|962)|3(?:2\d\d|3(?:[03467]\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\d\d|9(?:3(?:[0-57-9]\d\d|6(?:0[02-9]|[1-9]\d))|6(?:[0-8]\d\d|9(?:[02-79]\d|1[05-9]))|7[1-9]\d\d|9(?:[03-9]\d\d|1(?:[0235-9]\d|4[0-24-9])|2(?:[0-79]\d|8[0-46-9]))))\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\d{7}') + ->setExampleNumber('221234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:1982[0-6]|3314[05-9])\d{3}|(?:2(?:1(?:160|962)|3(?:2\d\d|3(?:[03467]\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\d\d|9(?:3(?:[0-57-9]\d\d|6(?:0[02-9]|[1-9]\d))|6(?:[0-8]\d\d|9(?:[02-79]\d|1[05-9]))|7[1-9]\d\d|9(?:[03-9]\d\d|1(?:[0235-9]\d|4[0-24-9])|2(?:[0-79]\d|8[0-46-9]))))\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\d{7}') + ->setExampleNumber('221234567') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:[03-589]|21)|[29]0|78']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['219', '2196']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['44']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[1-36]']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['60|8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['60']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:123|8)00\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9, 11]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('600\d{7,8}') + ->setExampleNumber('6001234567') + ->setPossibleLength([10, 11]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('44\d{7}') + ->setExampleNumber('441234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('600\d{7,8}') + ->setPossibleLength([10, 11]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['219', '2196']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['44']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[1-36]']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])']) + ->setNationalPrefixFormattingRule('($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['60|8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['60']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php index 34c21778d..0f22cec28 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CM.php @@ -1,4 +1,5 @@ 'CM', - 'countryCode' => 237, - 'generalDesc' => [ - 'pattern' => '[26]\\d{8}|88\\d{6,7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:22|33)\\d{6}', - 'example' => '222123456', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:24[23]|6(?:[25-9]\\d|40))\\d{6}', - 'example' => '671234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '88\\d{6,7}', - 'example' => '88012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '88', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '[26]|88', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CM extends PhoneMetadata +{ + protected const ID = 'CM'; + protected const COUNTRY_CODE = 237; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[26]\d{8}|88\d{6,7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:24[23]|6(?:[25-9]\d|40))\d{6}') + ->setExampleNumber('671234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:22|33)\d{6}') + ->setExampleNumber('222123456') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['88']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['[26]|88']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88\d{6,7}') + ->setExampleNumber('88012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php index 048762d99..a6089d65d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CN.php @@ -1,4 +1,5 @@ 'CN', - 'countryCode' => 86, - 'generalDesc' => [ - 'pattern' => '(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|2(?:[02-57-9]\\d{3}|1(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))|(?:41[03]|8078|9(?:78|94))\\d\\d)\\d{5}|(?:10|2[0-57-9])(?:1(?:00|23)\\d\\d|95\\d{3,4})|(?:41[03]|9(?:78|94))(?:100\\d\\d|95\\d{3,4})|8078123|(?:43[35]|754|851)\\d{7,8}|(?:43[35]|754|851)(?:1(?:00\\d|23)\\d|95\\d{3,4})|(?:3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[13-9]\\d{6}|2(?:[0-24-9]\\d{5}|3\\d(?:\\d{4})?))|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[24-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[13-9]\\d{5}|2(?:[0-24-9]\\d{4}|3\\d(?:\\d{3})?))|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', - 'example' => '1012345678', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}', - 'example' => '13123456789', - 'posLength' => [ - 11, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:(?:10|21)8|8)00\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - 12, - ], - ], - 'premiumRate' => [ - 'pattern' => '16[08]\\d{5}', - 'example' => '16812345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}', - 'example' => '4001234567', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}', - 'posLength' => [ - 10, - 11, - 12, - ], - ], - 'internationalPrefix' => '00|1(?:[12]\\d|79)\\d\\d00', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(1(?:[12]\\d|79)\\d\\d)|0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5,6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:00|2[13])|9[56]', - '1(?:00|2(?:1|39))|9[56]', - '1(?:00|2(?:1|395))|9[56]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5,6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:0|23)|781|[1-9]12', - '1(?:0|23)|7812|[1-9]123', - '1(?:0|23(?:[0-8]|9[0-46-9]))|78123|[1-9]123', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', - '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-9]', - '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', - '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|[3-9]', - '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))', - '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:0(?:[0-689]|7[0-79])|1[01459]|2[0-489]|[46]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '16[08]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', - '(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]', - '85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])', - '85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-9]', - '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]', - '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])', - '1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:4|80)0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '10|2(?:[02-57-9]|1[1-9])', - '10|2(?:[02-57-9]|1[1-9])', - '10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-578]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[3-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[12]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', - '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', - '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', - '(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]', - '85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])', - '85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:4|80)0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '10|2(?:[02-57-9]|1[1-9])', - '10|2(?:[02-57-9]|1[1-9])', - '10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-578]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[3-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[12]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CN extends PhoneMetadata +{ + protected const ID = 'CN'; + protected const COUNTRY_CODE = 86; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '(1(?:[12]\d|79)\d\d)|0'; + protected ?string $internationalPrefix = '00|1(?:[12]\d|79)\d\d00'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:1[03-689]|2\d)\d\d|6)\d{8}|1\d{10}|[126]\d{6}(?:\d(?:\d{2})?)?|86\d{5,6}|(?:[3-579]\d|8[0-57-9])\d{5,9}') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1740[0-5]\d{6}|1(?:[38]\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\d{8}') + ->setExampleNumber('13123456789') + ->setPossibleLength([11]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('16[08]\d{5}') + ->setExampleNumber('16812345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:10(?:[02-79]\d\d|[18](?:0[1-9]|[1-9]\d))|2(?:[02-57-9]\d{3}|1(?:[18](?:0[1-9]|[1-9]\d)|[2-79]\d\d))|(?:41[03]|8078|9(?:78|94))\d\d)\d{5}|(?:10|2[0-57-9])(?:1(?:00|23)\d\d|95\d{3,4})|(?:41[03]|9(?:78|94))(?:100\d\d|95\d{3,4})|8078123|(?:43[35]|754|851)\d{7,8}|(?:43[35]|754|851)(?:1(?:00\d|23)\d|95\d{3,4})|(?:3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\d{7}|1(?:0(?:0\d\d(?:\d{3})?|[1-9]\d{5})|[13-9]\d{6}|2(?:[0-24-9]\d{5}|3\d(?:\d{4})?))|9(?:[0-46-9]\d{6}|5\d{3}(?:\d(?:\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\d|7[02-68]|9[1-68])|4(?:1[24-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-8]\d{6}|1(?:0(?:0\d\d(?:\d{2})?|[1-9]\d{4})|[13-9]\d{5}|2(?:[0-24-9]\d{4}|3\d(?:\d{3})?))|9(?:[0-46-9]\d{5}|5\d{3,5}))') + ->setExampleNumber('1012345678') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5,6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:00|2[13])|9[56]', '1(?:00|2(?:1|39))|9[56]', '1(?:00|2(?:1|395))|9[56]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5,6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:0|23)|781|[1-9]12', '1(?:0|23)|7812|[1-9]123', '1(?:0|23(?:[0-8]|9[0-46-9]))|78123|[1-9]123']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', + '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '[1-9]', + '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', + '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|[3-9]', + '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))', + '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:0(?:[0-689]|7[0-79])|1[01459]|2[0-489]|[46]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))', + ]) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['16[08]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', + '(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))[19]', + '85[23](?:10|95)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:10|9[56])', + '85[23](?:100|95)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:100|9[56])', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '[1-9]', + '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]', + '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])', + '1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])', + ]) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:4|80)0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['10|2(?:[02-57-9]|1[1-9])', '10|2(?:[02-57-9]|1[1-9])', '10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-578]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[3-9]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[12]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:10|21)8|8)00\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10, 12]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10(?:10\d{4}|96\d{3,4})|400\d{7}|950\d{7,8}|(?:2[0-57-9]|3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))96\d{3,4}') + ->setExampleNumber('4001234567') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:10|21)8|[48])00\d{7}|950\d{7,8}') + ->setPossibleLength([10, 11, 12]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', + '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', + '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\d|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', + '(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))[19]', + '85[23](?:10|95)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:10|9[56])', + '85[23](?:100|95)|(?:3(?:[157]\d|35|49|9[1-68])|4(?:[17]\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\d|4[13]|5[1-5]))(?:100|9[56])', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['(?:4|80)0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['10|2(?:[02-57-9]|1[1-9])', '10|2(?:[02-57-9]|1[1-9])', '10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-578]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[3-9]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[12]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php index 4b8de98ed..990e043e7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CO.php @@ -1,4 +1,5 @@ 'CO', - 'countryCode' => 57, - 'generalDesc' => [ - 'pattern' => '60\\d{8}|(?:1\\d|[39])\\d{9}', - 'posLength' => [ - 10, - 11, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|60(?:[124-7][2-9]|8[1-9])\\d{6}', - 'example' => '6012345678', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}', - 'example' => '3211234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{7}', - 'example' => '18001234567', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:19(?:0[01]|4[78])|901)\\d{7}', - 'example' => '19001234567', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00(?:4(?:[14]4|56)|[579])', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0([3579]|4(?:[14]4|56))?', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '6|90', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3[0-357]|91', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{7})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '6|90', - ], - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3[0-357]|91', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '0$CC $1', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CO extends PhoneMetadata +{ + protected const ID = 'CO'; + protected const COUNTRY_CODE = 57; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0([3579]|4(?:[14]4|56))?'; + protected ?string $internationalPrefix = '00(?:4(?:[14]4|56)|[579])'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:46|60\d\d)\d{6}|(?:1\d|[39])\d{9}') + ->setPossibleLengthLocalOnly([4, 7]) + ->setPossibleLength([8, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333301[0-5]\d{3}|3333(?:00|2[5-9]|[3-9]\d)\d{4}|(?:3(?:(?:0[0-5]|1\d|5[01]|70)\d|2(?:[0-3]\d|4[1-9])|3(?:00|3[0-24-9]))|9(?:101|408))\d{6}') + ->setExampleNumber('3211234567') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:19(?:0[01]|4[78])|901)\d{7}') + ->setExampleNumber('19001234567') + ->setPossibleLength([10, 11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('601055(?:[0-4]\d|50)\d\d|6010(?:[0-4]\d|5[0-4])\d{4}|(?:46|60(?:[18][1-9]|[24-7][2-9]))\d{6}') + ->setExampleNumber('6012345678') + ->setPossibleLengthLocalOnly([4, 7]) + ->setPossibleLength([8, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['46']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['6|90']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3[0-357]|9[14]']) + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{7})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{7}') + ->setExampleNumber('18001234567') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['46']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['6|90']) + ->setNationalPrefixFormattingRule('($1)') + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3[0-357]|9[14]']) + ->setDomesticCarrierCodeFormattingRule('0$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php index 6739bc770..c702007ae 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CR.php @@ -1,4 +1,5 @@ 'CR', - 'countryCode' => 506, - 'generalDesc' => [ - 'pattern' => '(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}', - 'posLength' => [ - 8, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}', - 'example' => '22123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}', - 'example' => '83123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '90[059]\\d{7}', - 'example' => '9001234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:210[0-6]|4\\d{3}|5100)\\d{4}', - 'example' => '40001234', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '(19(?:0[0-2468]|1[09]|20|66|77|99))', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-7]|8[3-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CR extends PhoneMetadata +{ + protected const ID = 'CR'; + protected const COUNTRY_CODE = 506; + + protected ?string $nationalPrefixForParsing = '(19(?:0[0-2468]|1[09]|20|66|77|99))'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8\d|90)\d{8}|(?:[24-8]\d{3}|3005)\d{4}') + ->setPossibleLength([8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3005\d|6500[01])\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\d{6}') + ->setExampleNumber('83123456') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[059]\d{7}') + ->setExampleNumber('9001234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('210[7-9]\d{4}|2(?:[024-7]\d|1[1-9])\d{5}') + ->setExampleNumber('22123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-7]|8[3-9]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[89]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:210[0-6]|4\d{3}|5100)\d{4}') + ->setExampleNumber('40001234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php index 0ef11870d..96a7a97d1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CU.php @@ -1,4 +1,5 @@ 'CU', - 'countryCode' => 53, - 'generalDesc' => [ - 'pattern' => '(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3[23]|4[89])\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}', - 'example' => '71234567', - 'posLengthLocal' => [ - 4, - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:5\\d|6[2-4])\\d{6}', - 'example' => '51234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'pattern' => '807\\d{7}', - 'example' => '8071234567', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '119', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[1-4]|[34]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{6,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[56]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CU extends PhoneMetadata +{ + protected const ID = 'CU'; + protected const COUNTRY_CODE = 53; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '119'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-7]|8\d\d)\d{7}|[2-47]\d{6}|[34]\d{5}') + ->setPossibleLengthLocalOnly([4, 5]) + ->setPossibleLength([6, 7, 8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5\d|6[2-4])\d{6}') + ->setExampleNumber('51234567') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[23]|4[89])\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\d)\d{6}|(?:2[1-4]|4[1257]|7\d)\d{5,6}') + ->setExampleNumber('71234567') + ->setPossibleLengthLocalOnly([4, 5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[1-4]|[34]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{6,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[56]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('807\d{7}') + ->setExampleNumber('8071234567') + ->setPossibleLength([10]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php index b237ba0e4..89f069b89 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CV.php @@ -1,4 +1,5 @@ 'CV', - 'countryCode' => 238, - 'generalDesc' => [ - 'pattern' => '(?:[2-59]\\d\\d|800)\\d{4}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}', - 'example' => '2211234', - ], - 'mobile' => [ - 'pattern' => '(?:36|5[1-389]|9\\d)\\d{5}', - 'example' => '9911234', - ], - 'tollFree' => [ - 'pattern' => '800\\d{4}', - 'example' => '8001234', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:3[3-5]|4[356])\\d{5}', - 'example' => '3401234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-589]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CV extends PhoneMetadata +{ + protected const ID = 'CV'; + protected const COUNTRY_CODE = 238; + + protected ?string $internationalPrefix = '0'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-59]\d\d|800)\d{4}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:36|5[1-389]|9\d)\d{5}') + ->setExampleNumber('9911234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\d|7[1-3]|8[1-5])\d{4}') + ->setExampleNumber('2211234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-589]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4}') + ->setExampleNumber('8001234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[3-5]|4[356])\d{5}') + ->setExampleNumber('3401234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php index fc297daa8..38ef5be90 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CW.php @@ -1,4 +1,5 @@ 'CW', - 'countryCode' => 599, - 'generalDesc' => [ - 'pattern' => '(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}', - 'example' => '94351234', - ], - 'mobile' => [ - 'pattern' => '953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}', - 'example' => '95181234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'pattern' => '60[0-2]\\d{4}', - 'example' => '6001234', - 'posLength' => [ - 7, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '955\\d{5}', - 'example' => '95581234', - 'posLength' => [ - 8, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[3467]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9[4-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'leadingDigits' => '[69]', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CW extends PhoneMetadata +{ + protected const ID = 'CW'; + protected const COUNTRY_CODE = 599; + protected const LEADING_DIGITS = '[69]'; + + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[34]1|60|(?:7|9\d)\d)\d{5}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('953[01]\d{4}|9(?:5[12467]|6[5-9])\d{5}') + ->setExampleNumber('95181234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:4(?:3[0-5]|4[14]|6\d)|50\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\d|7[01]|8[57-9]))\d{4}') + ->setExampleNumber('94351234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[3467]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9[4-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('60[0-2]\d{4}') + ->setExampleNumber('6001234') + ->setPossibleLength([7]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('955\d{5}') + ->setExampleNumber('95581234') + ->setPossibleLength([8]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php index ab5f77ade..eab94d4ac 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CX.php @@ -1,4 +1,5 @@ 'CX', - 'countryCode' => 61, - 'generalDesc' => [ - 'pattern' => '1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}', - 'example' => '891641234', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}', - 'example' => '412345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '180(?:0\\d{3}|2)\\d{3}', - 'example' => '1800123456', - 'posLength' => [ - 7, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '190[0-26]\\d{6}', - 'example' => '1900123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', - 'example' => '1300123456', - 'posLength' => [ - 6, - 8, - 10, - 12, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', - 'example' => '147101234', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', - 'preferredInternationalPrefix' => '0011', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([59]\\d{7})$|0', - 'nationalPrefixTransformRule' => '8$1', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CX extends PhoneMetadata +{ + protected const ID = 'CX'; + protected const COUNTRY_CODE = 61; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([59]\d{7})$|0'; + protected ?string $internationalPrefix = '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011'; + protected ?string $preferredInternationalPrefix = '0011'; + protected ?string $nationalPrefixTransformRule = '8$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[0-79]\d{8}(?:\d{2})?|8[0-24-9]\d{7})|[148]\d{8}|1\d{5,7}') + ->setPossibleLength([6, 7, 8, 9, 10, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:79[01]|83[0-389]|94[0-478])\d{5}|4(?:[0-36]\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\d{6}') + ->setExampleNumber('412345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('190[0-26]\d{6}') + ->setExampleNumber('1900123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\d|7(?:0[01]|1[0-2])|958))\d{3}') + ->setExampleNumber('891641234') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([9]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180(?:0\d{3}|2)\d{3}') + ->setExampleNumber('1800123456') + ->setPossibleLength([7, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13(?:00\d{6}(?:\d{2})?|45[0-4]\d{3})|13\d{4}') + ->setExampleNumber('1300123456') + ->setPossibleLength([6, 8, 10, 12]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('14(?:5(?:1[0458]|[23][458])|71\d)\d{4}') + ->setExampleNumber('147101234') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php index a375e2b35..6ad4b636d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CY.php @@ -1,4 +1,5 @@ 'CY', - 'countryCode' => 357, - 'generalDesc' => [ - 'pattern' => '(?:[279]\\d|[58]0)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[2-6]\\d{6}', - 'example' => '22345678', - ], - 'mobile' => [ - 'pattern' => '9(?:10|[4-79]\\d)\\d{5}', - 'example' => '96123456', - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80001234', - ], - 'premiumRate' => [ - 'pattern' => '90[09]\\d{5}', - 'example' => '90012345', - ], - 'sharedCost' => [ - 'pattern' => '80[1-9]\\d{5}', - 'example' => '80112345', - ], - 'personalNumber' => [ - 'pattern' => '700\\d{5}', - 'example' => '70012345', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:50|77)\\d{6}', - 'example' => '77123456', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[257-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CY extends PhoneMetadata +{ + protected const ID = 'CY'; + protected const COUNTRY_CODE = 357; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[279]\d|[58]0)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:10|[4-79]\d)\d{5}') + ->setExampleNumber('96123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[09]\d{5}') + ->setExampleNumber('90012345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[2-6]\d{6}') + ->setExampleNumber('22345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[257-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80001234'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[1-9]\d{5}') + ->setExampleNumber('80112345'); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700\d{5}') + ->setExampleNumber('70012345'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:50|77)\d{6}') + ->setExampleNumber('77123456'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php index 18a2513d4..e68c16d38 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_CZ.php @@ -1,4 +1,5 @@ 'CZ', - 'countryCode' => 420, - 'generalDesc' => [ - 'pattern' => '(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}', - 'posLength' => [ - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}', - 'example' => '212345678', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:60[1-8]\\d|7(?:0(?:[2-5]\\d|60)|19[01]|[2379]\\d\\d))\\d{5}', - 'example' => '601123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '9(?:0[05689]|76)\\d{6}', - 'example' => '900123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '8[134]\\d{7}', - 'example' => '811234567', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'pattern' => '70[01]\\d{6}', - 'example' => '700123456', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'pattern' => '9[17]0\\d{6}', - 'example' => '910123456', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '9(?:5\\d|7[2-4])\\d{6}', - 'example' => '972123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'pattern' => '9(?:3\\d{9}|6\\d{7,10})', - 'example' => '93123456789', - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-8]|9[015-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '96', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_CZ extends PhoneMetadata +{ + protected const ID = 'CZ'; + protected const COUNTRY_CODE = 420; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-578]\d|60)\d{7}|9\d{8,11}') + ->setPossibleLength([9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:60[1-8]\d|7(?:0(?:[2-5]\d|60)|19[0-4]|[2379]\d\d))\d{5}') + ->setExampleNumber('601123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0[05689]|76)\d{6}') + ->setExampleNumber('900123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2\d|3[1257-9]|4[16-9]|5[13-9])\d{7}') + ->setExampleNumber('212345678') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-8]|9[015-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['96']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[134]\d{7}') + ->setExampleNumber('811234567') + ->setPossibleLength([9]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[01]\d{6}') + ->setExampleNumber('700123456') + ->setPossibleLength([9]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[17]0\d{6}') + ->setExampleNumber('910123456') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:5\d|7[2-4])\d{6}') + ->setExampleNumber('972123456') + ->setPossibleLength([9]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:3\d{9}|6\d{7,10})') + ->setExampleNumber('93123456789'); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php index b00e7a3ec..142346ed1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DE.php @@ -1,4 +1,5 @@ 'DE', - 'countryCode' => 49, - 'generalDesc' => [ - 'pattern' => '[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - ], - 'posLengthLocal' => [ - 2, - 3, - ], - ], - 'fixedLine' => [ - 'pattern' => '32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}', - 'example' => '30123456', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - ], - 'posLengthLocal' => [ - 2, - 3, - 4, - ], - ], - 'mobile' => [ - 'pattern' => '16[023]\\d{7,8}|1(?:5310|7[0-57-9]\\d)\\d{6}|1(?:5[0-25-9]|76)\\d{8}', - 'example' => '15123456789', - 'posLength' => [ - 10, - 11, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7,12}', - 'example' => '8001234567890', - 'posLength' => [ - 10, - 11, - 12, - 13, - 14, - 15, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:137[7-9]|900(?:[135]|9\\d))\\d{6}', - 'example' => '9001234567', - 'posLength' => [ - 10, - 11, - ], - ], - 'sharedCost' => [ - 'pattern' => '180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}', - 'example' => '18012345', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - ], - ], - 'personalNumber' => [ - 'pattern' => '700\\d{8}', - 'example' => '70012345678', - 'posLength' => [ - 11, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '16(?:4\\d{1,10}|[89]\\d{1,11})', - 'example' => '16412345', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - ], - ], - 'uan' => [ - 'pattern' => '18(?:1\\d{5,11}|[2-9]\\d{8})', - 'example' => '18500123456', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - ], - ], - 'voicemail' => [ - 'pattern' => '1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}', - 'example' => '177991234567', - 'posLength' => [ - 12, - 13, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,13})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3[02]|40|[68]9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,12})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', - '2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2,11})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]', - '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '138', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{2,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,11})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '181', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{4,10})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:3|80)|9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7,12})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '185', - '1850', - '18500', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '18[68]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '15[1279]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '15[03568]', - '15(?:[0568]|31)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '18', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{7,8})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:6[023]|7)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '15[279]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{8})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '15', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DE extends PhoneMetadata +{ + protected const ID = 'DE'; + protected const COUNTRY_CODE = 49; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2579]\d{5,14}|49(?:[34]0|69|8\d)\d\d?|49(?:37|49|60|7[089]|9\d)\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\d{1,8}|(?:1|[368]\d|4[0-8])\d{3,13}|49(?:[015]\d|2[13]|31|[46][1-8])\d{1,9}') + ->setPossibleLengthLocalOnly([2, 3]) + ->setPossibleLength([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('15310\d{6}|1(?:5[0-25-9]\d|7[013-5])\d{7}|1(?:6[023]|7[26-9])\d{7,8}') + ->setExampleNumber('15123456789') + ->setPossibleLength([10, 11]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:137[7-9]|900(?:[135]|9\d))\d{6}') + ->setExampleNumber('9001234567') + ->setPossibleLength([10, 11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('32\d{9,11}|49[1-6]\d{10}|322\d{6}|49[0-7]\d{3,9}|(?:[34]0|[68]9)\d{3,13}|(?:2(?:0[1-689]|[1-3569]\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\d|[589][0-7]|6[0-8]|7[0-467]))\d{3,12}') + ->setExampleNumber('30123456') + ->setPossibleLengthLocalOnly([2, 3, 4]) + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,13})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3[02]|40|[68]9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,12})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', + '2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2,11})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]', + '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['138']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{2,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,11})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['181']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{4,10})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:3|80)|9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1[67]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7,12})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['185', '1850', '18500']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['18[68]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['15[1279]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['15[03568]', '15(?:[0568]|31)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['18']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{7,8})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:6[023]|7)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['15[279]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{8})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['15']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7,12}') + ->setExampleNumber('8001234567890') + ->setPossibleLength([10, 11, 12, 13, 14, 15]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180\d{5,11}|13(?:7[1-6]\d\d|8)\d{4}') + ->setExampleNumber('18012345') + ->setPossibleLength([7, 8, 9, 10, 11, 12, 13, 14]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700\d{8}') + ->setExampleNumber('70012345678') + ->setPossibleLength([11]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('16(?:4\d{1,10}|[89]\d{1,11})') + ->setExampleNumber('16412345') + ->setPossibleLength([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18(?:1\d{5,11}|[2-9]\d{8})') + ->setExampleNumber('18500123456') + ->setPossibleLength([8, 9, 10, 11, 12, 13, 14]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\d{7,8}|15(?:(?:[03-68]00|113)\d|2\d55|7\d99|9\d33)\d{7}') + ->setExampleNumber('177991234567') + ->setPossibleLength([12, 13]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php index 4a7bffbdf..0cc729dac 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DJ.php @@ -1,4 +1,5 @@ 'DJ', - 'countryCode' => 253, - 'generalDesc' => [ - 'pattern' => '(?:2\\d|77)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:1[2-5]|7[45])\\d{5}', - 'example' => '21360003', - ], - 'mobile' => [ - 'pattern' => '77\\d{6}', - 'example' => '77831001', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[27]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DJ extends PhoneMetadata +{ + protected const ID = 'DJ'; + protected const COUNTRY_CODE = 253; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2\d|77)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('77\d{6}') + ->setExampleNumber('77831001'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:1[2-5]|7[45])\d{5}') + ->setExampleNumber('21360003'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[27]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php index 75c4d7fda..82681d434 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DK.php @@ -1,4 +1,5 @@ 'DK', - 'countryCode' => 45, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:2\\d|9[1-46-9])\\d|3(?:[0-37]\\d|4[013]|5[0-58]|6[01347-9]|8[0-8]|9[0-79])|4(?:[0-25]\\d|[34][02-9]|6[013-579]|7[013579]|8[0-47]|9[0-27])|5(?:[0-36]\\d|4[0146-9]|5[03-57-9]|7[0568]|8[0-358]|9[0-69])|6(?:[013578]\\d|2[0-68]|4[02-8]|6[01689]|9[015689])|7(?:[0-69]\\d|7[03-9]|8[0147])|8(?:[16-9]\\d|2[0-58]))\\d{5}', - 'example' => '32123456', - ], - 'mobile' => [ - 'pattern' => '(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}', - 'example' => '34412345', - ], - 'tollFree' => [ - 'pattern' => '80\\d{6}', - 'example' => '80123456', - ], - 'premiumRate' => [ - 'pattern' => '90\\d{6}', - 'example' => '90123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DK extends PhoneMetadata +{ + protected const ID = 'DK'; + protected const COUNTRY_CODE = 45; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[6-8]|37|6[78]|96)\d{6}|(?:2[0-59]|3[0-689]|[457]\d|6[0-69]|8[126-9]|9[1-47-9])[1-9]\d{5}') + ->setExampleNumber('34412345'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{6}') + ->setExampleNumber('90123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[0-59][1-9]|[6-8]\d)|3(?:[0-3][1-9]|4[13]|5[1-58]|6[1347-9]|7\d|8[1-8]|9[1-79])|4(?:[0-25][1-9]|[34][2-9]|6[13-579]|7[13579]|8[1-47]|9[127])|5(?:[0-36][1-9]|4[146-9]|5[3-57-9]|7[568]|8[1-358]|9[1-69])|6(?:[0135][1-9]|2[1-68]|4[2-8]|6[1689]|[78]\d|9[15689])|7(?:[0-69][1-9]|7[3-9]|8[147])|8(?:[16-9][1-9]|2[1-58])|9(?:[1-47-9][1-9]|6\d))\d{5}') + ->setExampleNumber('32123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}') + ->setExampleNumber('80123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php index aaf467416..58f2cc880 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DM.php @@ -1,4 +1,5 @@ 'DM', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|767|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}', - 'example' => '7674201234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}', - 'example' => '7672251234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-7]\\d{6})$|1', - 'nationalPrefixTransformRule' => '767$1', - 'numberFormat' => [], - 'leadingDigits' => '767', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DM extends PhoneMetadata +{ + protected const ID = 'DM'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '767'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-7]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '767$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|767|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\d{4}') + ->setExampleNumber('7672251234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\d{4}') + ->setExampleNumber('7674201234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php index bbb9aa0c1..52d76a27a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DO.php @@ -1,4 +1,5 @@ 'DO', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}', - 'example' => '8092345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '8[024]9[2-9]\\d{6}', - 'example' => '8092345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'numberFormat' => [], - 'leadingDigits' => '8001|8[024]9', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DO extends PhoneMetadata +{ + protected const ID = 'DO'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '8001|8[024]9'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[024]9[2-9]\d{6}') + ->setExampleNumber('8092345678') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:[04]9[2-9]\d\d|29(?:2(?:[0-59]\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\d|4[7-9])|[45]\d\d|6(?:[0-27-9]\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\d{4}') + ->setExampleNumber('8092345678') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00(?:14|[2-9]\d)|(?:33|44|55|66|77|88)[2-9]\d)\d{5}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php index 17e6ed37c..8eeb938a0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_DZ.php @@ -1,4 +1,5 @@ 'DZ', - 'countryCode' => 213, - 'generalDesc' => [ - 'pattern' => '(?:[1-4]|[5-79]\\d|80)\\d{7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}', - 'example' => '12345678', - ], - 'mobile' => [ - 'pattern' => '(?:5(?:4[0-29]|5\\d|6[0-3])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}', - 'example' => '551234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '80[3-689]1\\d{5}', - 'example' => '808123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '80[12]1\\d{5}', - 'example' => '801123456', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '98[23]\\d{6}', - 'example' => '983123456', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[1-4]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[5-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_DZ extends PhoneMetadata +{ + protected const ID = 'DZ'; + protected const COUNTRY_CODE = 213; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1-4]|[5-79]\d|80)\d{7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5(?:4[0-29]|5\d|6[0-3])|6(?:[569]\d|7[0-6])|7[7-9]\d)\d{6}') + ->setExampleNumber('551234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[3-689]1\d{5}') + ->setExampleNumber('808123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9619\d{5}|(?:1\d|2[013-79]|3[0-8]|4[013-689])\d{6}') + ->setExampleNumber('12345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[1-4]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[12]1\d{5}') + ->setExampleNumber('801123456') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('98[23]\d{6}') + ->setExampleNumber('983123456') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php index ec0cac324..38fe4979b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EC.php @@ -1,4 +1,5 @@ 'EC', - 'countryCode' => 593, - 'generalDesc' => [ - 'pattern' => '1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '[2-7][2-7]\\d{6}', - 'example' => '22123456', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}', - 'example' => '991234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{7}|1[78]00\\d{6}', - 'example' => '18001234567', - 'posLength' => [ - 10, - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '[2-7]890\\d{4}', - 'example' => '28901234', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2-$3', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_EC extends PhoneMetadata +{ + protected const ID = 'EC'; + protected const COUNTRY_CODE = 593; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{9,10}|(?:[2-7]|9\d)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('964[0-2]\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\d)\d{6}') + ->setExampleNumber('991234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-7][2-7]\d{6}') + ->setExampleNumber('22123456') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2-$3') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{7}|1[78]00\d{6}') + ->setExampleNumber('18001234567') + ->setPossibleLength([10, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-7]890\d{4}') + ->setExampleNumber('28901234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[2-7]']), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php index 1db49cafb..5da790264 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EE.php @@ -1,4 +1,5 @@ 'EE', - 'countryCode' => 372, - 'generalDesc' => [ - 'pattern' => '8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}', - 'posLength' => [ - 7, - 8, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}', - 'example' => '3212345', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[236]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-6]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', - 'example' => '51234567', - 'posLength' => [ - 7, - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '(?:40\\d\\d|900)\\d{4}', - 'example' => '9001234', - 'posLength' => [ - 7, - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70[0-2]\\d{5}', - 'example' => '70012345', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '800[2-9]\\d{3}', - 'posLength' => [ - 7, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88', - '[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[45]|8(?:00|[1-49])', - '[45]|8(?:00[1-9]|[1-49])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_EE extends PhoneMetadata +{ + protected const ID = 'EE'; + protected const COUNTRY_CODE = 372; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{9}|[4578]\d{7}|(?:[3-8]\d|90)\d{5}') + ->setPossibleLength([7, 8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5\d{5}|8(?:1(?:0(?:0(?:00|[178]\d)|[3-9]\d\d)|(?:1(?:0[2-6]|1\d)|(?:2[0-59]|[3-79]\d)\d)\d)|2(?:0(?:0(?:00|4\d)|(?:19|[2-7]\d)\d)|(?:(?:[124-69]\d|3[5-9])\d|7(?:[0-79]\d|8[13-9])|8(?:[2-6]\d|7[01]))\d)|[349]\d{4}))\d\d|5(?:(?:[02]\d|5[0-478])\d|1(?:[0-8]\d|95)|6(?:4[0-4]|5[1-589]))\d{3}') + ->setExampleNumber('51234567') + ->setPossibleLength([7, 8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:40\d\d|900)\d{4}') + ->setExampleNumber('9001234') + ->setPossibleLength([7, 8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[23589]|4[3-8]|6\d|7[1-9]|88)\d{5}') + ->setExampleNumber('3212345') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88', + '[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88', + ]) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[45]|8(?:00|[1-49])', '[45]|8(?:00[1-9]|[1-49])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800(?:(?:0\d\d|1)\d|[2-9])\d{3}') + ->setExampleNumber('80012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[0-2]\d{5}') + ->setExampleNumber('70012345') + ->setPossibleLength([8]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[2-9]\d{3}') + ->setPossibleLength([7]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php index a3ed0ba45..8a5abfc95 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EG.php @@ -1,4 +1,5 @@ 'EG', - 'countryCode' => 20, - 'generalDesc' => [ - 'pattern' => '[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2\\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}', - 'example' => '234567890', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '1[0-25]\\d{8}', - 'example' => '1001234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{7}', - 'example' => '9001234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1[35]|[4-6]|8[2468]|9[235-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_EG extends PhoneMetadata +{ + protected const ID = 'EG'; + protected const COUNTRY_CODE = 20; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[189]\d{8,9}|[24-6]\d{8}|[135]\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[0-25]\d{8}') + ->setExampleNumber('1001234567') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{7}') + ->setExampleNumber('9001234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13[23]\d{6}|(?:15|57)\d{6,7}|(?:2\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\d{7}') + ->setExampleNumber('234567890') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{7,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1[35]|[4-6]|8[2468]|9[235-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php index 796a0cf36..bcfa92891 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_EH.php @@ -1,4 +1,5 @@ 'EH', - 'countryCode' => 212, - 'generalDesc' => [ - 'pattern' => '[5-8]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '528[89]\\d{5}', - 'example' => '528812345', - ], - 'mobile' => [ - 'pattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}', - 'example' => '650123456', - ], - 'tollFree' => [ - 'pattern' => '80[0-7]\\d{6}', - 'example' => '801234567', - ], - 'premiumRate' => [ - 'pattern' => '89\\d{7}', - 'example' => '891234567', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', - 'example' => '592401234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], - 'leadingDigits' => '528[89]', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_EH extends PhoneMetadata +{ + protected const ID = 'EH'; + protected const COUNTRY_CODE = 212; + protected const LEADING_DIGITS = '528[89]'; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[5-8]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6(?:[0-79]\d|8[0-247-9])|7(?:[0167]\d|2[0-8]|5[0-3]|8[0-7]))\d{6}') + ->setExampleNumber('650123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('89\d{7}') + ->setExampleNumber('891234567'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('528[89]\d{5}') + ->setExampleNumber('528812345'); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-7]\d{6}') + ->setExampleNumber('801234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:592(?:4[0-2]|93)|80[89]\d\d)\d{4}') + ->setExampleNumber('592401234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php index 34e1ea0fb..e6c220e15 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ER.php @@ -1,4 +1,5 @@ 'ER', - 'countryCode' => 291, - 'generalDesc' => [ - 'pattern' => '[178]\\d{6}', - 'posLength' => [ - 7, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}', - 'example' => '8370362', - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:17[1-3]|7\\d\\d)\\d{4}', - 'example' => '7123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[178]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ER extends PhoneMetadata +{ + protected const ID = 'ER'; + protected const COUNTRY_CODE = 291; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[178]\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:17[1-3]|7\d\d)\d{4}') + ->setExampleNumber('7123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:1[12568]|[24]0|55|6[146])|8\d\d)\d{4}') + ->setExampleNumber('8370362') + ->setPossibleLengthLocalOnly([6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[178]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php index df9a1bfe4..4624fd01e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ES.php @@ -1,4 +1,5 @@ 'ES', - 'countryCode' => 34, - 'generalDesc' => [ - 'pattern' => '[5-9]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}', - 'example' => '810123456', - ], - 'mobile' => [ - 'pattern' => '(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}', - 'example' => '612345678', - ], - 'tollFree' => [ - 'pattern' => '[89]00\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '80[367]\\d{6}', - 'example' => '803123456', - ], - 'sharedCost' => [ - 'pattern' => '90[12]\\d{6}', - 'example' => '901123456', - ], - 'personalNumber' => [ - 'pattern' => '70\\d{7}', - 'example' => '701234567', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '51\\d{7}', - 'example' => '511234567', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '905', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[79]9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]00', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[5-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]00', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[5-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ES extends PhoneMetadata +{ + protected const ID = 'ES'; + protected const COUNTRY_CODE = 34; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[5-9]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:590[16]00\d|9(?:6906(?:09|10)|7390\d\d))\d\d|(?:6\d|7[1-48])\d{7}') + ->setExampleNumber('612345678'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[367]\d{6}') + ->setExampleNumber('803123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('96906(?:0[0-8]|1[1-9]|[2-9]\d)\d\d|9(?:69(?:0[0-57-9]|[1-9]\d)|73(?:[0-8]\d|9[1-9]))\d{4}|(?:8(?:[1356]\d|[28][0-8]|[47][1-9])|9(?:[135]\d|[268][0-8]|4[1-9]|7[124-9]))\d{6}') + ->setExampleNumber('810123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['905']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[79]9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]00']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[89]00\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[12]\d{6}') + ->setExampleNumber('901123456'); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{7}') + ->setExampleNumber('701234567'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('51\d{7}') + ->setExampleNumber('511234567'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]00']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php index 2ead14ddb..701ad1e4b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ET.php @@ -1,4 +1,5 @@ 'ET', - 'countryCode' => 251, - 'generalDesc' => [ - 'pattern' => '(?:11|[2-579]\\d)\\d{7}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8]|7\\d)|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', - 'example' => '111112345', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}', - 'example' => '911234567', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-579]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ET extends PhoneMetadata +{ + protected const ID = 'ET'; + protected const COUNTRY_CODE = 251; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:11|[2-579]\d)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700[1-9]\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\d\d)\d{6}') + ->setExampleNumber('911234567'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11667[01]\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8]|7\d)|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\d)))\d{4}') + ->setExampleNumber('111112345') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-579]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php index db3f8f8df..7ea50d2ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FI.php @@ -1,4 +1,5 @@ 'FI', - 'countryCode' => 358, - 'generalDesc' => [ - 'pattern' => '[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '1[35-7][1-8]\\d{3,6}|(?:1[49][1-8]|[23568][1-8]\\d|9(?:00|[1-8]\\d))\\d{2,6}', - 'example' => '131234567', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}', - 'example' => '412345678', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4,6}', - 'example' => '800123456', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '[67]00\\d{5,6}', - 'example' => '600123456', - 'posLength' => [ - 8, - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}', - 'example' => '10112345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}', - ], - 'internationalPrefix' => '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '75[12]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '20[2-59]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '11', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:[1-3]0|[68])0|70[07-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[14]|2[09]|50|7[135]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '20[2-59]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:[1-3]0|[68])0|70[07-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[14]|2[09]|50|7[135]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'leadingDigits' => '1[03-79]|[2-9]', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FI extends PhoneMetadata +{ + protected const ID = 'FI'; + protected const COUNTRY_CODE = 358; + protected const LEADING_DIGITS = '1[03-79]|[2-9]'; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-35689]\d{4}|7\d{10,11}|(?:[124-7]\d|3[0-46-9])\d{8}|[1-9]\d{5,8}') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4946\d{2,6}|(?:4[0-8]|50)\d{4,8}') + ->setExampleNumber('412345678') + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[67]00\d{5,6}') + ->setExampleNumber('600123456') + ->setPossibleLength([8, 9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[3-7][1-8]\d{3,6}|(?:19[1-8]|[23568][1-8]\d|9(?:00|[1-8]\d))\d{2,6}') + ->setExampleNumber('131234567') + ->setPossibleLength([5, 6, 7, 8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['75[12]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['20[2-59]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['11']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:[1-3]0|[68])0|70[07-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[14]|2[09]|50|7[135]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4,6}') + ->setExampleNumber('800123456') + ->setPossibleLength([7, 8, 9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20\d{4,8}|60[12]\d{5,6}|7(?:099\d{4,5}|5[03-9]\d{3,7})|20[2-59]\d\d|(?:606|7(?:0[78]|1|3\d))\d{7}|(?:10|29|3[09]|70[1-5]\d)\d{4,8}') + ->setExampleNumber('10112345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:2[023]|9[89])\d{1,6}|(?:60[12]\d|7099)\d{4,5}|(?:606|7(?:0[78]|1|3\d))\d{7}|(?:[1-3]00|7(?:0[1-5]\d\d|5[03-9]))\d{3,7}'); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['20[2-59]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:[1-3]0|[68])0|70[07-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[14]|2[09]|50|7[135]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php index 09507853a..fa5ec44e3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FJ.php @@ -1,4 +1,5 @@ 'FJ', - 'countryCode' => 679, - 'generalDesc' => [ - 'pattern' => '45\\d{5}|(?:0800\\d|[235-9])\\d{6}', - 'posLength' => [ - 7, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}', - 'example' => '3212345', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[279]\\d|45|5[01568]|8[034679])\\d{5}', - 'example' => '7012345', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '0800\\d{7}', - 'example' => '08001234567', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0|52)', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[235-9]|45', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FJ extends PhoneMetadata +{ + protected const ID = 'FJ'; + protected const COUNTRY_CODE = 679; + + protected ?string $internationalPrefix = '0(?:0|52)'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('45\d{5}|(?:0800\d|[235-9])\d{6}') + ->setPossibleLength([7, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[279]\d|45|5[01568]|8[034679])\d{5}') + ->setExampleNumber('7012345') + ->setPossibleLength([7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('603\d{4}|(?:3[0-5]|6[25-7]|8[58])\d{5}') + ->setExampleNumber('3212345') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[235-9]|45']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{7}') + ->setExampleNumber('08001234567') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php index 79d875f08..80d45ed58 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FK.php @@ -1,4 +1,5 @@ 'FK', - 'countryCode' => 500, - 'generalDesc' => [ - 'pattern' => '[2-7]\\d{4}', - 'posLength' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '[2-47]\\d{4}', - 'example' => '31234', - ], - 'mobile' => [ - 'pattern' => '[56]\\d{4}', - 'example' => '51234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FK extends PhoneMetadata +{ + protected const ID = 'FK'; + protected const COUNTRY_CODE = 500; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-7]\d{4}') + ->setPossibleLength([5]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[56]\d{4}') + ->setExampleNumber('51234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-47]\d{4}') + ->setExampleNumber('31234'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php index 911920ef1..7f445032d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FM.php @@ -1,4 +1,5 @@ 'FM', - 'countryCode' => 691, - 'generalDesc' => [ - 'pattern' => '(?:[39]\\d\\d|820)\\d{4}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}', - 'example' => '3201234', - ], - 'mobile' => [ - 'pattern' => '31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}', - 'example' => '3501234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[389]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FM extends PhoneMetadata +{ + protected const ID = 'FM'; + protected const COUNTRY_CODE = 691; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[39]\d\d|820)\d{4}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('31(?:00[67]|208|309)\d\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\d)\d)\d{3}') + ->setExampleNumber('3501234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('31(?:00[67]|208|309)\d\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\d)\d)\d{3}') + ->setExampleNumber('3201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[389]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php index a53d37751..21a99d75c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FO.php @@ -1,4 +1,5 @@ 'FO', - 'countryCode' => 298, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{5}', - 'posLength' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:20|[34]\\d|8[19])\\d{4}', - 'example' => '201234', - ], - 'mobile' => [ - 'pattern' => '(?:[27][1-9]|5\\d|9[16])\\d{4}', - 'example' => '211234', - ], - 'tollFree' => [ - 'pattern' => '80[257-9]\\d{3}', - 'example' => '802123', - ], - 'premiumRate' => [ - 'pattern' => '90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d', - 'example' => '901123', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:6[0-36]|88)\\d{4}', - 'example' => '601234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '(10(?:01|[12]0|88))', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FO extends PhoneMetadata +{ + protected const ID = 'FO'; + protected const COUNTRY_CODE = 298; + + protected ?string $nationalPrefixForParsing = '(10(?:01|[12]0|88))'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{5}') + ->setPossibleLength([6]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[27][1-9]|5\d|9[16])\d{4}') + ->setExampleNumber('211234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90(?:[13-5][15-7]|2[125-7]|9\d)\d\d') + ->setExampleNumber('901123'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20|[34]\d|8[19])\d{4}') + ->setExampleNumber('201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[2-9]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[257-9]\d{3}') + ->setExampleNumber('802123'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6[0-36]|88)\d{4}') + ->setExampleNumber('601234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php index 7d92f1357..fe9fec5d8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_FR.php @@ -1,4 +1,5 @@ 'FR', - 'countryCode' => 33, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:26[013-9]|59[1-35-9])\\d{6}|(?:[13]\\d|2[0-57-9]|4[1-9]|5[0-8])\\d{7}', - 'example' => '123456789', - ], - 'mobile' => [ - 'pattern' => '(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}', - 'example' => '612345678', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '801234567', - ], - 'premiumRate' => [ - 'pattern' => '836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}', - 'example' => '891123456', - ], - 'sharedCost' => [ - 'pattern' => '8(?:1[01]|2[0156]|4[024]|84)\\d{6}', - 'example' => '884012345', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9\\d{8}', - 'example' => '912345678', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '80[6-9]\\d{6}', - 'example' => '806123456', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '10', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '[1-79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '[1-79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_FR extends PhoneMetadata +{ + protected const ID = 'FR'; + protected const COUNTRY_CODE = 33; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6(?:[0-24-8]\d|3[0-8]|9[589])|7[3-9]\d)\d{6}') + ->setExampleNumber('612345678'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('836(?:0[0-36-9]|[1-9]\d)\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\d|8[0-35-9])\d{6}') + ->setExampleNumber('891123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:26[013-9]|59[1-35-9])\d{6}|(?:[13]\d|2[0-57-9]|4[1-9]|5[0-8])\d{7}') + ->setExampleNumber('123456789'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['10']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['[1-79]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('801234567'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:1[01]|2[0156]|4[024]|84)\d{6}') + ->setExampleNumber('884012345'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d{8}') + ->setExampleNumber('912345678'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[6-9]\d{6}') + ->setExampleNumber('806123456'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['[1-79]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php index 4089bc5e3..b9ed8e68a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GA.php @@ -1,4 +1,5 @@ 'GA', - 'countryCode' => 241, - 'generalDesc' => [ - 'pattern' => '(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '[01]1\\d{6}', - 'example' => '01441234', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}', - 'example' => '06031234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})', - 'nationalPrefixTransformRule' => '$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '11|[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GA extends PhoneMetadata +{ + protected const ID = 'GA'; + protected const COUNTRY_CODE = 241; + + protected ?string $nationalPrefixForParsing = '0(11\d{6}|60\d{6}|61\d{6}|6[256]\d{6}|7[467]\d{6})'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[067]\d|11)\d{6}|[2-7]\d{6}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:0[2-7]|7[467])\d|6(?:0[0-4]|10|[256]\d))\d{5}|[2-7]\d{6}') + ->setExampleNumber('06031234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]1\d{6}') + ->setExampleNumber('01441234') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['11|[67]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php index 9ac05ec4c..235947a81 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GB.php @@ -1,4 +1,5 @@ 'GB', - 'countryCode' => 44, - 'generalDesc' => [ - 'pattern' => '[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}', - 'posLength' => [ - 7, - 9, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - 6, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}', - 'example' => '1212345678', - 'posLength' => [ - 9, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - 6, - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}', - 'example' => '7400123456', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80[08]\\d{7}|800\\d{6}|8001111', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d', - 'example' => '9012345678', - 'posLength' => [ - 7, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{8}', - 'example' => '7012345678', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'pattern' => '56\\d{8}', - 'example' => '5612345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'pattern' => '76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}', - 'example' => '7640123456', - 'posLength' => [ - 10, - ], - ], - 'uan' => [ - 'pattern' => '(?:3[0347]|55)\\d{8}', - 'example' => '5512345678', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'preferredExtnPrefix' => ' x', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '800', - '8001', - '80011', - '800111', - '8001111', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '845', - '8454', - '84546', - '845464', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1(?:38|5[23]|69|76|94)', - '1(?:(?:38|69)7|5(?:24|39)|768|946)', - '1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1(?:[2-69][02-9]|[78])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[25]|7(?:0|6[02-9])', - '[25]|7(?:0|6(?:[03-9]|2[356]))', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1389]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GB extends PhoneMetadata +{ + protected const ID = 'GB'; + protected const COUNTRY_CODE = 44; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected ?string $preferredExtnPrefix = ' x'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-357-9]\d{9}|[18]\d{8}|8\d{6}') + ->setPossibleLengthLocalOnly([4, 5, 6, 8]) + ->setPossibleLength([7, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:457[0-57-9]|700[01]|911[028])\d{5}|7(?:[1-3]\d\d|4(?:[0-46-9]\d|5[0-689])|5(?:0[0-8]|[13-9]\d|2[0-35-9])|7(?:0[1-9]|[1-7]\d|8[02-9]|9[0-689])|8(?:[014-9]\d|[23][0-8])|9(?:[024-9]\d|1[02-9]|3[0-689]))\d{6}') + ->setExampleNumber('7400123456') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:4[2-5]|7[0-3])|9(?:[01]\d|8[2-49]))\d{7}|845464\d') + ->setExampleNumber('9012345678') + ->setPossibleLength([7, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:1(?:3(?:[0-58]\d\d|73[0-35])|4(?:(?:[0-5]\d|70)\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\d|6(?:[0-4]\d|50))\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\d)\d|1(?:[0-7]\d|8[0-3]))|(?:3(?:0\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\d)\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\d{3})\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\d)|76\d)|6(?:26[06-9]|686))|6(?:06(?:4\d|7[4-79])|295[5-7]|35[34]\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\d{3}') + ->setExampleNumber('1212345678') + ->setPossibleLengthLocalOnly([4, 5, 6, 7, 8]) + ->setPossibleLength([9, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['800', '8001', '80011', '800111', '8001111']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['845', '8454', '84546', '845464']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1(?:38|5[23]|69|76|94)', '1(?:(?:38|69)7|5(?:24|39)|768|946)', '1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1(?:[2-69][02-9]|[78])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[25]|7(?:0|6[02-9])', '[25]|7(?:0|6(?:[03-9]|2[356]))']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1389]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[08]\d{7}|800\d{6}|8001111') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{8}') + ->setExampleNumber('7012345678') + ->setPossibleLength([10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('56\d{8}') + ->setExampleNumber('5612345678') + ->setPossibleLength([10]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('76(?:464|652)\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\d{6}') + ->setExampleNumber('7640123456') + ->setPossibleLength([10]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[0347]|55)\d{8}') + ->setExampleNumber('5512345678') + ->setPossibleLength([10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php index f7cbca463..4866112e1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GD.php @@ -1,4 +1,5 @@ 'GD', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:473|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[579]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}', - 'example' => '4732691234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[68])|5(?:2[01]|3[3-8])|901)\\d{4}', - 'example' => '4734031234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '473$1', - 'numberFormat' => [], - 'leadingDigits' => '473', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GD extends PhoneMetadata +{ + protected const ID = 'GD'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '473'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '473$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:473|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[6-8])|5(?:2[01]|3[3-8])|901)\d{4}') + ->setExampleNumber('4734031234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[59]|73|90)|63[68]|7(?:58|84)|800|938)\d{4}') + ->setExampleNumber('4732691234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php index 7af4c188e..2dd0265ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GE.php @@ -1,4 +1,5 @@ 'GE', - 'countryCode' => 995, - 'generalDesc' => [ - 'pattern' => '(?:[3-57]\\d\\d|800)\\d{6}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}', - 'example' => '322123456', - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|11|22|3[0-6]|44|5[05]|77|88|9[09])|111|22[02]|77\\d)|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-4])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200)|6[89]\\d\\d|7(?:[0147-9]\\d\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}', - 'example' => '555123456', - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '70[67]\\d{6}', - 'example' => '706123456', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '70[67]\\d{6}', - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '70', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '32', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[57]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[348]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GE extends PhoneMetadata +{ + protected const ID = 'GE'; + protected const COUNTRY_CODE = 995; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[3-57]\d\d|800)\d{6}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\d|22252[0-4])\d\d|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\d{3}|(?:5(?:0(?:0(?:0\d|11|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\d|77)\d|22[02])|1(?:1(?:[03][01]|[124]\d|5[2-6]|7[0-4])|4\d\d)|[23]555|4(?:4\d\d|555)|5(?:[0157-9]\d\d|200|333|444)|6[89]\d\d|7(?:[0147-9]\d\d|5(?:00|[57]5))|8(?:0(?:[018]\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\d\d))|790\d\d)\d{4}') + ->setExampleNumber('555123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:[256]\d|4[124-9]|7[0-4])|4(?:1\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\d{6}') + ->setExampleNumber('322123456') + ->setPossibleLengthLocalOnly([6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['70']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['32']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[57]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[348]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[67]\d{6}') + ->setExampleNumber('706123456'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[67]\d{6}'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php index 50a3b31fe..9b0d0e705 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GF.php @@ -1,4 +1,5 @@ 'GF', - 'countryCode' => 594, - 'generalDesc' => [ - 'pattern' => '[56]94\\d{6}|(?:80|9\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '594(?:[02-49]\\d|1[0-5]|5[6-9]|6[0-3]|80)\\d{4}', - 'example' => '594101234', - ], - 'mobile' => [ - 'pattern' => '694(?:[0-249]\\d|3[0-8])\\d{4}', - 'example' => '694201234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:(?:396|76\\d)\\d|476[0-5])\\d{4}', - 'example' => '976012345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[56]|9[47]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GF extends PhoneMetadata +{ + protected const ID = 'GF'; + protected const COUNTRY_CODE = 594; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[56]94\d|7093)\d{5}|(?:80|9\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:694(?:[0-249]\d|3[0-8])|7093[0-3])\d{4}') + ->setExampleNumber('694201234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('594(?:[02-49]\d|1[0-5]|5[6-9]|6[0-3]|80)\d{4}') + ->setExampleNumber('594101234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-7]|9[47]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:396|76\d)\d|476[0-6])\d{4}') + ->setExampleNumber('976012345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php index 86dd0c82e..67cbe6124 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GG.php @@ -1,4 +1,5 @@ 'GG', - 'countryCode' => 44, - 'generalDesc' => [ - 'pattern' => '(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?', - 'posLength' => [ - 7, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '1481[25-9]\\d{5}', - 'example' => '1481256789', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:(?:781|839)\\d|911[17])\\d{5}', - 'example' => '7781123456', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80[08]\\d{7}|800\\d{6}|8001111', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d', - 'example' => '9012345678', - 'posLength' => [ - 7, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{8}', - 'example' => '7012345678', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'pattern' => '56\\d{8}', - 'example' => '5612345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'pattern' => '76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}', - 'example' => '7640123456', - 'posLength' => [ - 10, - ], - ], - 'uan' => [ - 'pattern' => '(?:3[0347]|55)\\d{8}', - 'example' => '5512345678', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([25-9]\\d{5})$|0', - 'nationalPrefixTransformRule' => '1481$1', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GG extends PhoneMetadata +{ + protected const ID = 'GG'; + protected const COUNTRY_CODE = 44; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([25-9]\d{5})$|0'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '1481$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1481|[357-9]\d{3})\d{6}|8\d{6}(?:\d{2})?') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:(?:781|839)\d|911[17])\d{5}') + ->setExampleNumber('7781123456') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:4[2-5]|7[0-3])|9(?:[01]\d|8[0-3]))\d{7}|845464\d') + ->setExampleNumber('9012345678') + ->setPossibleLength([7, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1481[25-9]\d{5}') + ->setExampleNumber('1481256789') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([10]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[08]\d{7}|800\d{6}|8001111') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{8}') + ->setExampleNumber('7012345678') + ->setPossibleLength([10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('56\d{8}') + ->setExampleNumber('5612345678') + ->setPossibleLength([10]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('76(?:464|652)\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\d{6}') + ->setExampleNumber('7640123456') + ->setPossibleLength([10]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[0347]|55)\d{8}') + ->setExampleNumber('5512345678') + ->setPossibleLength([10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php index c8553f231..24c508d33 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GH.php @@ -1,4 +1,5 @@ 'GH', - 'countryCode' => 233, - 'generalDesc' => [ - 'pattern' => '(?:[235]\\d{3}|800)\\d{5}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}', - 'example' => '302345678', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}', - 'example' => '231234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '800\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[237]|8[0-2]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[235]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[235]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GH extends PhoneMetadata +{ + protected const ID = 'GH'; + protected const COUNTRY_CODE = 233; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[235]\d{3}|800)\d{5}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[0346-9]\d|5[67])|5(?:[03-7]\d|9[1-9]))\d{6}') + ->setExampleNumber('231234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3082[0-5]\d{4}|3(?:0(?:[237]\d|8[01])|[167](?:2[0-6]|7\d|80)|2(?:2[0-5]|7\d|80)|3(?:2[0-3]|7\d|80)|4(?:2[013-9]|3[01]|7\d|80)|5(?:2[0-7]|7\d|80)|8(?:2[0-2]|7\d|80)|9(?:[28]0|7\d))\d{5}') + ->setExampleNumber('302345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[237]|8[0-2]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[235]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setPossibleLength([8]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[235]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php index dec853a96..0bc37222b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GI.php @@ -1,4 +1,5 @@ 'GI', - 'countryCode' => 350, - 'generalDesc' => [ - 'pattern' => '(?:[25]\\d|60)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}', - 'example' => '20012345', - ], - 'mobile' => [ - 'pattern' => '5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}', - 'example' => '57123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GI extends PhoneMetadata +{ + protected const ID = 'GI'; + protected const COUNTRY_CODE = 350; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[25]\d|60)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5251[0-4]\d{3}|(?:5(?:[146-8]\d\d|250)|60(?:1[01]|6\d))\d{4}') + ->setExampleNumber('57123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2190[0-2]\d{3}|2(?:0(?:[02]\d|3[01])|16[24-9]|2[2-5]\d)\d{4}') + ->setExampleNumber('20012345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php index 84aeba9f7..baf524795 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GL.php @@ -1,4 +1,5 @@ 'GL', - 'countryCode' => 299, - 'generalDesc' => [ - 'pattern' => '(?:19|[2-689]\\d|70)\\d{4}', - 'posLength' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:19|3[1-7]|[68][1-9]|70|9\\d)\\d{4}', - 'example' => '321000', - ], - 'mobile' => [ - 'pattern' => '[245]\\d{5}', - 'example' => '221234', - ], - 'tollFree' => [ - 'pattern' => '80\\d{4}', - 'example' => '801234', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '3[89]\\d{4}', - 'example' => '381234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '19|[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GL extends PhoneMetadata +{ + protected const ID = 'GL'; + protected const COUNTRY_CODE = 299; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:19|[2-689]\d|70)\d{4}') + ->setPossibleLength([6]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[245]\d{5}') + ->setExampleNumber('221234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:19|3[1-7]|[68][1-9]|70|9\d)\d{4}') + ->setExampleNumber('321000'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['19|[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{4}') + ->setExampleNumber('801234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[89]\d{4}') + ->setExampleNumber('381234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php index cb17b7beb..d33fa65ae 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GM.php @@ -1,4 +1,5 @@ 'GM', - 'countryCode' => 220, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{6}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}', - 'example' => '5661234', - ], - 'mobile' => [ - 'pattern' => '(?:[23679]\\d|4[015]|5[0-489])\\d{5}', - 'example' => '3012345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GM extends PhoneMetadata +{ + protected const ID = 'GM'; + protected const COUNTRY_CODE = 220; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{6}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('556\d{4}|(?:[23679]\d|4[015]|5[0-489])\d{5}') + ->setExampleNumber('3012345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4(?:[23]\d\d|4(?:1[024679]|[6-9]\d))|5(?:5(?:3\d|4[0-7])|6[67]\d|7(?:1[04]|2[035]|3[58]|48))|8\d{3})\d{3}') + ->setExampleNumber('5661234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php index 3a3c8d65a..bf56c318b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GN.php @@ -1,4 +1,5 @@ 'GN', - 'countryCode' => 224, - 'generalDesc' => [ - 'pattern' => '722\\d{6}|(?:3|6\\d)\\d{7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}', - 'example' => '30241234', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '6[0-356]\\d{7}', - 'example' => '601123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '722\\d{6}', - 'example' => '722123456', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[67]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GN extends PhoneMetadata +{ + protected const ID = 'GN'; + protected const COUNTRY_CODE = 224; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('722\d{6}|(?:3|6\d)\d{7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[0-356]\d{7}') + ->setExampleNumber('601123456') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\d\d)\d{4}') + ->setExampleNumber('30241234') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[67]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('722\d{6}') + ->setExampleNumber('722123456') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php index 88dc83e69..fbeb05542 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GP.php @@ -1,4 +1,5 @@ 'GP', - 'countryCode' => 590, - 'generalDesc' => [ - 'pattern' => '590\\d{6}|(?:69|80|9\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}', - 'example' => '590201234', - ], - 'mobile' => [ - 'pattern' => '69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}', - 'example' => '690001234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}', - 'example' => '976012345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[569]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GP extends PhoneMetadata +{ + protected const ID = 'GP'; + protected const COUNTRY_CODE = 590; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:590\d|7090)\d{5}|(?:69|80|9\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:69(?:0\d\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\d)|6(?:1[016-9]|5[0-4]|[67]\d))|7090[0-4])\d{4}') + ->setExampleNumber('690001234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\d)\d{4}') + ->setExampleNumber('590201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-79]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:39[5-7]|76[018])\d|475[0-6])\d{4}') + ->setExampleNumber('976012345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php index eddda44ca..dce600d32 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GQ.php @@ -1,4 +1,5 @@ 'GQ', - 'countryCode' => 240, - 'generalDesc' => [ - 'pattern' => '222\\d{6}|(?:3\\d|55|[89]0)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}', - 'example' => '333091234', - ], - 'mobile' => [ - 'pattern' => '(?:222|55\\d)\\d{6}', - 'example' => '222123456', - ], - 'tollFree' => [ - 'pattern' => '80\\d[1-9]\\d{5}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '90\\d[1-9]\\d{5}', - 'example' => '900123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[235]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GQ extends PhoneMetadata +{ + protected const ID = 'GQ'; + protected const COUNTRY_CODE = 240; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('222\d{6}|(?:3\d|55|[89]0)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:222|55\d)\d{6}') + ->setExampleNumber('222123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d[1-9]\d{5}') + ->setExampleNumber('900123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('33[0-24-9]\d[46]\d{4}|3(?:33|5\d)\d[7-9]\d{4}') + ->setExampleNumber('333091234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[235]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d[1-9]\d{5}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php index 723726e19..a15500fe0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GR.php @@ -1,4 +1,5 @@ 'GR', - 'countryCode' => 30, - 'generalDesc' => [ - 'pattern' => '5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}', - 'posLength' => [ - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}', - 'example' => '2123456789', - 'posLength' => [ - 10, - ], - ], - 'mobile' => [ - 'pattern' => '68[57-9]\\d{7}|(?:69|94)\\d{8}', - 'example' => '6912345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7,9}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '90[19]\\d{7}', - 'example' => '9091234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '8(?:0[16]|12|[27]5|50)\\d{7}', - 'example' => '8011234567', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{8}', - 'example' => '7012345678', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '5005000\\d{3}', - 'example' => '5005000123', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '21|7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2689]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GR extends PhoneMetadata +{ + protected const ID = 'GR'; + protected const COUNTRY_CODE = 30; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5005000\d{3}|8\d{9,11}|(?:[269]\d|70)\d{8}') + ->setPossibleLength([10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('68[57-9]\d{7}|(?:69|94)\d{8}') + ->setExampleNumber('6912345678') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[19]\d{7}') + ->setExampleNumber('9091234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:1\d\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\d|2[1-5]|[34][1-4]|9[1-57]))\d{6}') + ->setExampleNumber('2123456789') + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['21|7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2689]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7,9}') + ->setExampleNumber('8001234567'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:0[16]|12|[27]5|50)\d{7}') + ->setExampleNumber('8011234567') + ->setPossibleLength([10]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{8}') + ->setExampleNumber('7012345678') + ->setPossibleLength([10]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5005000\d{3}') + ->setExampleNumber('5005000123') + ->setPossibleLength([10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php index 00c792f7b..310d68620 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GT.php @@ -1,4 +1,5 @@ 'GT', - 'countryCode' => 502, - 'generalDesc' => [ - 'pattern' => '80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}', - 'posLength' => [ - 8, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '[267][2-9]\\d{6}', - 'example' => '22456789', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[3-5]\\d\\d|80[0-4])\\d{5}', - 'example' => '51234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '18[01]\\d{8}', - 'example' => '18001112222', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'pattern' => '19\\d{9}', - 'example' => '19001112222', - 'posLength' => [ - 11, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GT extends PhoneMetadata +{ + protected const ID = 'GT'; + protected const COUNTRY_CODE = 502; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}|(?:1\d{3}|[2-7])\d{7}') + ->setPossibleLength([8, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[3-5]\d\d|80[0-4])\d{5}') + ->setExampleNumber('51234567') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19\d{9}') + ->setExampleNumber('19001112222') + ->setPossibleLength([11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[267][2-9]\d{6}') + ->setExampleNumber('22456789') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18[01]\d{8}') + ->setExampleNumber('18001112222') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php index fd2665c5c..a3690fdd6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GU.php @@ -1,4 +1,5 @@ 'GU', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|671|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', - 'example' => '6713001234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', - 'example' => '6713001234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '671$1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [], - 'leadingDigits' => '671', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GU extends PhoneMetadata +{ + protected const ID = 'GU'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '671'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '671$1'; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|671|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('671(?:2\d\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\d{4}') + ->setExampleNumber('6713001234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('671(?:2\d\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\d{4}') + ->setExampleNumber('6713001234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php index b880f5558..c88ed5862 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GW.php @@ -1,4 +1,5 @@ 'GW', - 'countryCode' => 245, - 'generalDesc' => [ - 'pattern' => '[49]\\d{8}|4\\d{6}', - 'posLength' => [ - 7, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '443\\d{6}', - 'example' => '443201234', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '9(?:5\\d|6[569]|77)\\d{6}', - 'example' => '955012345', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '40\\d{5}', - 'example' => '4012345', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '40', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[49]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GW extends PhoneMetadata +{ + protected const ID = 'GW'; + protected const COUNTRY_CODE = 245; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[49]\d{8}|4\d{6}') + ->setPossibleLength([7, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:5\d|6[569]|77)\d{6}') + ->setExampleNumber('955012345') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('443\d{6}') + ->setExampleNumber('443201234') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['40']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[49]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('40\d{5}') + ->setExampleNumber('4012345') + ->setPossibleLength([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php index 91141f25f..beee9a487 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_GY.php @@ -1,4 +1,5 @@ 'GY', - 'countryCode' => 592, - 'generalDesc' => [ - 'pattern' => '(?:[2-8]\\d{3}|9008)\\d{3}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}', - 'example' => '2201234', - ], - 'mobile' => [ - 'pattern' => '510\\d{4}|(?:6\\d|7[0-5])\\d{5}', - 'example' => '6091234', - ], - 'tollFree' => [ - 'pattern' => '(?:289|8(?:00|6[28]|88|99))\\d{4}', - 'example' => '2891234', - ], - 'premiumRate' => [ - 'pattern' => '9008\\d{3}', - 'example' => '9008123', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '515\\d{4}', - 'example' => '5151234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '001', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_GY extends PhoneMetadata +{ + protected const ID = 'GY'; + protected const COUNTRY_CODE = 592; + + protected ?string $internationalPrefix = '001'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-8]\d{3}|9008)\d{3}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:510|6\d\d|7(?:[0-5]\d|6[019]|70))\d{4}') + ->setExampleNumber('6091234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9008\d{3}') + ->setExampleNumber('9008123'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\d|7[0-79])|3(?:2[25-9]|3\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\d{4}') + ->setExampleNumber('2201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:289|8(?:00|6[28]|88|99))\d{4}') + ->setExampleNumber('2891234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('515\d{4}') + ->setExampleNumber('5151234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php index 7ed507f67..ef6d7cf46 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HK.php @@ -1,4 +1,5 @@ 'HK', - 'countryCode' => 852, - 'generalDesc' => [ - 'pattern' => '8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[579]\\d|6[0-2]))|58(?:0[1-9]|1[2-9]))\\d{4}', - 'example' => '21234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4])|74[0-2])|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[01]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-9]|6[02357-9]|7[05])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-49]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', - 'example' => '51234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '900(?:[0-24-9]\\d{7}|3\\d{1,4})', - 'example' => '90012345678', - 'posLength' => [ - 5, - 6, - 7, - 8, - 11, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}', - 'example' => '81123456', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}', - 'example' => '71123456', - 'posLength' => [ - 8, - ], - ], - 'uan' => [ - 'pattern' => '30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}', - 'example' => '30161234', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00(?:30|5[09]|[126-9]?)', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '900', - '9003', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-7]|8[1-4]|9(?:0[1-9]|[1-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_HK extends PhoneMetadata +{ + protected const ID = 'HK'; + protected const COUNTRY_CODE = 852; + + protected ?string $internationalPrefix = '00(?:30|5[09]|[126-9]?)'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[0-46-9]\d{6,7}|9\d{4,7}|(?:[2-7]|9\d{3})\d{7}') + ->setPossibleLength([5, 6, 7, 8, 9, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4(?:44[0-35-9]|6(?:4[0-57-9]|6[0-4])|7(?:3[0-4]|4[0-48]|6[0-5]))|5(?:35[4-8]|73[0-6]|95[0-8])|6(?:26[013-8]|(?:66|78)[0-5])|70(?:7[1-8]|8[0-8])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-4]|899))\d{4}|(?:4(?:4[0-35-9]|6[0-357-9]|7[0-25])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\d))\d{5}') + ->setExampleNumber('51234567') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900(?:[0-24-9]\d{7}|3\d{1,4})') + ->setExampleNumber('90012345678') + ->setPossibleLength([5, 6, 7, 8, 11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[13-9]\d|2[013-9])\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\d|8(?:4[0-8]|[579]\d|6[0-5]))|58(?:0[1-9]|1[2-9]))\d{4}') + ->setExampleNumber('21234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['900', '9003']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-7]|8[1-4]|9(?:0[1-9]|[1-8])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:1[0-4679]\d|2(?:[0-36]\d|7[0-4])|3(?:[034]\d|2[09]|70))\d{4}') + ->setExampleNumber('81123456') + ->setPossibleLength([8]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\d|1[18]|7[27-9])|3(?:[0-38]\d|7[0-369]|9[2357-9])|47\d|5(?:[178]\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\d)|7(?:[27]\d|8[7-9])|8(?:[23689]\d|7[1-9])|9(?:[025]\d|6[0-246-8]|7[0-36-9]|8[238]))\d{4}') + ->setExampleNumber('71123456') + ->setPossibleLength([8]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('30(?:0[1-9]|[15-7]\d|2[047]|89)\d{4}') + ->setExampleNumber('30161234') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php index b2b94595a..e9d8a0d0b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HN.php @@ -1,4 +1,5 @@ 'HN', - 'countryCode' => 504, - 'generalDesc' => [ - 'pattern' => '8\\d{10}|[237-9]\\d{7}', - 'posLength' => [ - 8, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}', - 'example' => '22123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '[37-9]\\d{7}', - 'example' => '91234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '8002\\d{7}', - 'example' => '80021234567', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '8002\\d{7}', - 'posLength' => [ - 11, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[237-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[237-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_HN extends PhoneMetadata +{ + protected const ID = 'HN'; + protected const COUNTRY_CODE = 504; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{10}|[237-9]\d{7}') + ->setPossibleLength([8, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[37-9]\d{7}') + ->setExampleNumber('91234567') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:2(?:0[0-59]|1[1-9]|[23]\d|4[02-7]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\d|6[014-69]|7[04]|80)|6(?:[056]\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\d{4}') + ->setExampleNumber('22123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[237-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8002\d{7}') + ->setExampleNumber('80021234567') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8002\d{7}') + ->setPossibleLength([11]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[237-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php index e6461d3da..cc77db826 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HR.php @@ -1,4 +1,5 @@ 'HR', - 'countryCode' => 385, - 'generalDesc' => [ - 'pattern' => '(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}', - 'example' => '12345678', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|55|77|9[5-7])))\\d{4}|98\\d{6}', - 'example' => '921234567', - 'posLength' => [ - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{5,7}', - 'example' => '800123456', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '6[01459]\\d{6}|6[01]\\d{4,5}', - 'example' => '611234', - 'posLength' => [ - 6, - 7, - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '7[45]\\d{6}', - 'example' => '74123456', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '62\\d{6,7}|72\\d{6}', - 'example' => '62123456', - 'posLength' => [ - 8, - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6[01]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6|7[245]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-57]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_HR extends PhoneMetadata +{ + protected const ID = 'HR'; + protected const COUNTRY_CODE = 385; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-69]\d{8}|80\d{5,7}|[1-79]\d{7}|6\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:0[1-9]|[12589]\d)\d\d|7(?:[0679]\d\d|5(?:[01]\d|44|55|77|9[5-79])))\d{4}|98\d{6}') + ->setExampleNumber('921234567') + ->setPossibleLength([8, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[01459]\d{6}|6[01]\d{5}') + ->setExampleNumber('6001234') + ->setPossibleLength([7, 8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\d{6,7}') + ->setExampleNumber('12345678') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6[01]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6|7[245]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-57]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{5,7}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[45]\d{6}') + ->setExampleNumber('74123456') + ->setPossibleLength([8]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('62\d{6,7}|72\d{6}') + ->setExampleNumber('62123456') + ->setPossibleLength([8, 9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php index 683ccc5b3..067ff2abc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HT.php @@ -1,4 +1,5 @@ 'HT', - 'countryCode' => 509, - 'generalDesc' => [ - 'pattern' => '(?:[2-489]\\d|55)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:2\\d|5[1-5]|81|9[149])\\d{5}', - 'example' => '22453300', - ], - 'mobile' => [ - 'pattern' => '(?:[34]\\d|55)\\d{6}', - 'example' => '34101234', - ], - 'tollFree' => [ - 'pattern' => '8\\d{7}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}', - 'example' => '98901234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-589]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_HT extends PhoneMetadata +{ + protected const ID = 'HT'; + protected const COUNTRY_CODE = 509; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-589]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[34]\d|5[56])\d{6}') + ->setExampleNumber('34101234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:2\d|5[1-5]|81|9[149])\d{5}') + ->setExampleNumber('22453300'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-589]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{7}') + ->setExampleNumber('80012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:[67][0-4]|8[0-3589]|9\d)\d{5}') + ->setExampleNumber('98901234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php index e0b6af29c..c39981750 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_HU.php @@ -1,4 +1,5 @@ 'HU', - 'countryCode' => 36, - 'generalDesc' => [ - 'pattern' => '[235-7]\\d{8}|[1-9]\\d{7}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}', - 'example' => '12345678', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[257]0|3[01])\\d{7}', - 'example' => '201234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:[48]0\\d|680[29])\\d{5}', - 'example' => '80123456', - ], - 'premiumRate' => [ - 'pattern' => '9[01]\\d{6}', - 'example' => '90123456', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '21\\d{7}', - 'example' => '211234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '38\\d{7}', - 'example' => '381234567', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '(?:[48]0\\d|680[29])\\d{5}', - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '06', - 'nationalPrefixForParsing' => '06', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '(06 $1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]', - ], - 'nationalPrefixFormattingRule' => '(06 $1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '06 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_HU extends PhoneMetadata +{ + protected const ID = 'HU'; + protected const COUNTRY_CODE = 36; + protected const NATIONAL_PREFIX = '06'; + + protected ?string $nationalPrefixForParsing = '06'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[235-7]\d{8}|[1-9]\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[257]0|3[01])\d{7}') + ->setExampleNumber('201234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[01]\d{6}') + ->setExampleNumber('90123456') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\d{6}') + ->setExampleNumber('12345678') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('(06 $1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]']) + ->setNationalPrefixFormattingRule('(06 $1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixFormattingRule('06 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[48]0\d|680[29])\d{5}') + ->setExampleNumber('80123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('21\d{7}') + ->setExampleNumber('211234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('38\d{7}') + ->setExampleNumber('381234567') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[48]0\d|680[29])\d{5}'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php index ec5c82cb0..8f1bb61f1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ID.php @@ -1,4 +1,5 @@ 'ID', - 'countryCode' => 62, - 'generalDesc' => [ - 'pattern' => '00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}', - 'example' => '218350123', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '8[1-35-9]\\d{7,10}', - 'example' => '812345678', - 'posLength' => [ - 9, - 10, - 11, - 12, - ], - ], - 'tollFree' => [ - 'pattern' => '00(?:1803\\d{5,11}|7803\\d{7})|(?:177\\d|800)\\d{5,7}', - 'example' => '8001234567', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - ], - ], - 'premiumRate' => [ - 'pattern' => '809\\d{7}', - 'example' => '8091234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '804\\d{7}', - 'example' => '8041234567', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:1500|8071\\d{3})\\d{3}', - 'example' => '8071123456', - 'posLength' => [ - 7, - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '001803\\d{5,11}|(?:007803\\d|8071)\\d{6}', - 'posLength' => [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - ], - ], - 'internationalPrefix' => '00[89]', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '15', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[124]|[36]1', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-79]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8[1-35-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '804', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{2,8})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '001', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '15', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[124]|[36]1', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-79]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8[1-35-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '804', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ID extends PhoneMetadata +{ + protected const ID = 'ID'; + protected const COUNTRY_CODE = 62; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00[89]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00[1-9]\d{9,14}|(?:[1-36]|8\d{5})\d{6}|00\d{9}|[1-9]\d{8,10}|[2-9]\d{7}') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[1-35-9]\d{7,10}') + ->setExampleNumber('812345678') + ->setPossibleLength([9, 10, 11, 12]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('809\d{7}') + ->setExampleNumber('8091234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[124]\d{7,8}|619\d{8}|2(?:1(?:14|500)|2\d{3})\d{3}|61\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\d{5,8}') + ->setExampleNumber('218350123') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['15']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[124]|[36]1']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-79]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{3})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8[1-35-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['804']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4,5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{2,8})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['001']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00(?:1803\d{5,11}|7803\d{7})|(?:177\d|800)\d{5,7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([8, 9, 10, 11, 12, 13, 14, 15, 16, 17]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('804\d{7}') + ->setExampleNumber('8041234567') + ->setPossibleLength([10]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1500|8071\d{3})\d{3}') + ->setExampleNumber('8071123456') + ->setPossibleLength([7, 10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('001803\d{5,11}|(?:007803\d|8071)\d{6}') + ->setPossibleLength([10, 11, 12, 13, 14, 15, 16, 17]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['15']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[124]|[36]1']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-79]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{3})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8[1-35-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['804']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4,5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php index adee14201..9315f6e86 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IE.php @@ -1,4 +1,5 @@ 'IE', - 'countryCode' => 353, - 'generalDesc' => [ - 'pattern' => '(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}', - 'example' => '2212345', - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '8(?:22|[35-9]\\d)\\d{6}', - 'example' => '850123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{6}', - 'example' => '1800123456', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '15(?:1[2-8]|[2-8]0|9[089])\\d{6}', - 'example' => '1520123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '18[59]0\\d{6}', - 'example' => '1850123456', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'pattern' => '700\\d{6}', - 'example' => '700123456', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'pattern' => '76\\d{7}', - 'example' => '761234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '818\\d{6}', - 'example' => '818123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'pattern' => '88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}', - 'example' => '8551234567', - 'posLength' => [ - 10, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '18[59]0\\d{6}', - 'posLength' => [ - 10, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[24-9]|47|58|6[237-9]|9[35-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[45]0', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2569]|4[1-69]|7[14]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '70', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '81', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[78]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IE extends PhoneMetadata +{ + protected const ID = 'IE'; + protected const COUNTRY_CODE = 353; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1\d|[2569])\d{6,8}|4\d{6,9}|7\d{8}|8\d{8,9}') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:22|[35-9]\d)\d{6}') + ->setExampleNumber('850123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('15(?:1[2-8]|[2-8]0|9[089])\d{6}') + ->setExampleNumber('1520123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1\d|21)\d{6,7}|(?:2[24-9]|4(?:0[24]|5\d|7)|5(?:0[45]|1\d|8)|6(?:1\d|[237-9])|9(?:1\d|[35-9]))\d{5}|(?:23|4(?:[1-469]|8\d)|5[23679]|6[4-6]|7[14]|9[04])\d{7}') + ->setExampleNumber('2212345') + ->setPossibleLengthLocalOnly([5, 6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[24-9]|47|58|6[237-9]|9[35-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[45]0']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2569]|4[1-69]|7[14]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['70']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['81']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[78]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{6}') + ->setExampleNumber('1800123456') + ->setPossibleLength([10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18[59]0\d{6}') + ->setExampleNumber('1850123456') + ->setPossibleLength([10]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700\d{6}') + ->setExampleNumber('700123456') + ->setPossibleLength([9]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('76\d{7}') + ->setExampleNumber('761234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('818\d{6}') + ->setExampleNumber('818123456') + ->setPossibleLength([9]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88210[1-9]\d{4}|8(?:[35-79]5\d\d|8(?:[013-9]\d\d|2(?:[01][1-9]|[2-9]\d)))\d{5}') + ->setExampleNumber('8551234567') + ->setPossibleLength([10]); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18[59]0\d{6}') + ->setPossibleLength([10]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php index 1ce9aaed4..af8e8fca3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IL.php @@ -1,4 +1,5 @@ 'IL', - 'countryCode' => 972, - 'generalDesc' => [ - 'pattern' => '1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}', - 'example' => '21234567', - 'posLength' => [ - 8, - 11, - 12, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '55(?:410|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', - 'example' => '502345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:255|80[019]\\d{3})\\d{3}', - 'example' => '1800123456', - 'posLength' => [ - 7, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}', - 'example' => '1919123456', - 'posLength' => [ - 8, - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '1700\\d{6}', - 'example' => '1700123456', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '7(?:38(?:0\\d|5[0-2569]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}', - 'example' => '771234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '1599\\d{6}', - 'example' => '1599123456', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'pattern' => '151\\d{8,9}', - 'example' => '15112340000', - 'posLength' => [ - 11, - 12, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '1700\\d{6}', - 'posLength' => [ - 10, - ], - ], - 'internationalPrefix' => '0(?:0|1[2-9])', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{3})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '125', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{2})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '121', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[2-489]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[57]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '12', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '159', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1-$2-$3-$4', - 'leadingDigitsPatterns' => [ - '1[7-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})', - 'format' => '$1-$2 $3-$4', - 'leadingDigitsPatterns' => [ - '15', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IL extends PhoneMetadata +{ + protected const ID = 'IL'; + protected const COUNTRY_CODE = 972; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '0(?:0|1[2-9])'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{6}(?:\d{3,5})?|[57]\d{8}|[1-489]\d{7}') + ->setPossibleLength([7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('55(?:4(?:[01]0|5[0-2])|57[0-289])\d{4}|5(?:(?:[0-2][02-9]|[36]\d|[49][2-9]|8[3-7])\d|5(?:01|2\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\d{5}') + ->setExampleNumber('502345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1212\d{4}|1(?:200|9(?:0[0-2]|19))\d{6}') + ->setExampleNumber('1919123456') + ->setPossibleLength([8, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('153\d{8,9}|29[1-9]\d{5}|(?:2[0-8]|[3489]\d)\d{6}') + ->setExampleNumber('21234567') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8, 11, 12]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['125']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{2})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['121']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[2-489]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[57]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['12']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['159']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{3})') + ->setFormat('$1-$2-$3-$4') + ->setLeadingDigitsPattern(['1[7-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{1,2})(\d{3})(\d{4})') + ->setFormat('$1-$2 $3-$4') + ->setLeadingDigitsPattern(['15']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:255|80[019]\d{3})\d{3}') + ->setExampleNumber('1800123456') + ->setPossibleLength([7, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1700\d{6}') + ->setExampleNumber('1700123456') + ->setPossibleLength([10]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:38(?:[05]\d|8[08])|8(?:33|55|77|81)\d)\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\d|82|9[2-9])\d{6}') + ->setExampleNumber('771234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1599\d{6}') + ->setExampleNumber('1599123456') + ->setPossibleLength([10]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('151\d{8,9}') + ->setExampleNumber('15112340000') + ->setPossibleLength([11, 12]); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1700\d{6}') + ->setPossibleLength([10]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php index 818ceb9d3..b5f9a67eb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IM.php @@ -1,4 +1,5 @@ 'IM', - 'countryCode' => 44, - 'generalDesc' => [ - 'pattern' => '1624\\d{6}|(?:[3578]\\d|90)\\d{8}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '1624(?:230|[5-8]\\d\\d)\\d{3}', - 'example' => '1624756789', - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}', - 'example' => '7924123456', - ], - 'tollFree' => [ - 'pattern' => '808162\\d{4}', - 'example' => '8081624567', - ], - 'premiumRate' => [ - 'pattern' => '8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}', - 'example' => '9016247890', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{8}', - 'example' => '7012345678', - ], - 'voip' => [ - 'pattern' => '56\\d{8}', - 'example' => '5612345678', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}', - 'example' => '5512345678', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([25-8]\\d{5})$|0', - 'nationalPrefixTransformRule' => '1624$1', - 'numberFormat' => [], - 'leadingDigits' => '74576|(?:16|7[56])24', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IM extends PhoneMetadata +{ + protected const ID = 'IM'; + protected const COUNTRY_CODE = 44; + protected const LEADING_DIGITS = '74576|(?:16|7[56])24'; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([25-8]\d{5})$|0'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '1624$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1624\d{6}|(?:[3578]\d|90)\d{8}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('76245[06]\d{4}|7(?:4576|[59]24\d|624[0-4689])\d{5}') + ->setExampleNumber('7924123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:440[49]06|72299\d)\d{3}|(?:8(?:45|70)|90[0167])624\d{4}') + ->setExampleNumber('9016247890'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1624(?:230|[5-8]\d\d)\d{3}') + ->setExampleNumber('1624756789') + ->setPossibleLengthLocalOnly([6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808162\d{4}') + ->setExampleNumber('8081624567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{8}') + ->setExampleNumber('7012345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('56\d{8}') + ->setExampleNumber('5612345678'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3440[49]06\d{3}|(?:3(?:08162|3\d{4}|45624|7(?:0624|2299))|55\d{4})\d{4}') + ->setExampleNumber('5512345678'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php index c35e3313c..d6d63a70e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IN.php @@ -1,4 +1,5 @@ 'IN', - 'countryCode' => 91, - 'generalDesc' => [ - 'pattern' => '(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - 13, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}', - 'example' => '7410410123', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}', - 'example' => '8123456789', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', - 'example' => '1800123456', - ], - 'premiumRate' => [ - 'pattern' => '186[12]\\d{9}', - 'example' => '1861123456789', - 'posLength' => [ - 13, - ], - ], - 'sharedCost' => [ - 'pattern' => '1860\\d{7}', - 'example' => '18603451234', - 'posLength' => [ - 11, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '140\\d{7}', - 'example' => '1409305260', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}', - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{7})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '575', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{8})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '5(?:0|2[23]|3[03]|[67]1|88)', - '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)', - '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '180', - '1800', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '140', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '11|2[02]|33|4[04]|79[1-7]|80[2-46]', - '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', - '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', - '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', - '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', - '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', - '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{5})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[6-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{2,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:6|8[06])', - '1(?:6|8[06]0)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '18', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{8})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '5(?:0|2[23]|3[03]|[67]1|88)', - '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)', - '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '180', - '1800', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '140', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '11|2[02]|33|4[04]|79[1-7]|80[2-46]', - '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', - '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', - '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', - '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', - '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', - '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{5})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[6-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{2,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:6|8[06])', - '1(?:6|8[06]0)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '18', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IN extends PhoneMetadata +{ + protected const ID = 'IN'; + protected const COUNTRY_CODE = 91; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:000800|[2-9]\d\d)\d{7}|1\d{7,12}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9, 10, 11, 12, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\d|7[02-8])\d{5}|(?:6(?:[09]\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\d\d)\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\d|7(?:[235689]\d|4[0189]))|7(?:1(?:[013-8]\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\d|5[0-367])|70[13-7]|881))[0189]\d{5}') + ->setExampleNumber('8123456789') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('186[12]\d{9}') + ->setExampleNumber('1861123456789') + ->setPossibleLength([13]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2717(?:[2-7]\d|95)\d{4}|(?:271[0-689]|782[0-6])[2-7]\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\d|4(?:20[24]|72[2-8])|552[1-7])\d{6}|(?:11|33|4[04]|80)[2-7]\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\d)\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\d[2-7]\d{5}') + ->setExampleNumber('7410410123') + ->setPossibleLengthLocalOnly([6, 7, 8]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{7})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['575']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{8})') + ->setFormat('$1') + ->setLeadingDigitsPattern([ + '5(?:0|2[23]|3[03]|[67]1|88)', + '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)', + '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)', + ]) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['180', '1800']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['140']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '11|2[02]|33|4[04]|79[1-7]|80[2-46]', + '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', + '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', + '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', + '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', + '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', + '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\d|7(?:1(?:[013-8]\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\d|5[0-367])|70[13-7]))[2-7]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[6-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:6|8[06])', '1(?:6|8[06]0)']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['18']) + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000800\d{7}|1(?:600\d{6}|80(?:0\d{4,9}|3\d{9}))') + ->setExampleNumber('1800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1860\d{7}') + ->setExampleNumber('18603451234') + ->setPossibleLength([11]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('140\d{7}') + ->setExampleNumber('1409305260') + ->setPossibleLength([10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:600\d{6}|800\d{4,9})|(?:000800|18(?:03\d\d|6(?:0|[12]\d\d)))\d{7}'); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{8})') + ->setFormat('$1') + ->setLeadingDigitsPattern([ + '5(?:0|2[23]|3[03]|[67]1|88)', + '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)', + '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)', + ]) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['180', '1800']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['140']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '11|2[02]|33|4[04]|79[1-7]|80[2-46]', + '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', + '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', + '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', + '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', + '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', + '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\d|7(?:1(?:[013-8]\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\d|5[0-367])|70[13-7]))[2-7]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[6-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:6|8[06])', '1(?:6|8[06]0)']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['18']) + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php index d2ac94358..ae40145fd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IO.php @@ -1,4 +1,5 @@ 'IO', - 'countryCode' => 246, - 'generalDesc' => [ - 'pattern' => '3\\d{6}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '37\\d{5}', - 'example' => '3709100', - ], - 'mobile' => [ - 'pattern' => '38\\d{5}', - 'example' => '3801234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IO extends PhoneMetadata +{ + protected const ID = 'IO'; + protected const COUNTRY_CODE = 246; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3\d{6}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('38\d{5}') + ->setExampleNumber('3801234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('37\d{5}') + ->setExampleNumber('3709100'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php index 05952ed8f..d06e1b5c2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IQ.php @@ -1,4 +1,5 @@ 'IQ', - 'countryCode' => 964, - 'generalDesc' => [ - 'pattern' => '(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}', - 'example' => '12345678', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7[3-9]\\d{8}', - 'example' => '7912345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IQ extends PhoneMetadata +{ + protected const ID = 'IQ'; + protected const COUNTRY_CODE = 964; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1|7\d\d)\d{7}|[2-6]\d{7,8}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[3-9]\d{8}') + ->setExampleNumber('7912345678') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\d{6,7}') + ->setExampleNumber('12345678') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php index c2568401e..eed47d445 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IR.php @@ -1,4 +1,5 @@ 'IR', - 'countryCode' => 98, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}', - 'posLength' => [ - 4, - 5, - 6, - 7, - 10, - ], - 'posLengthLocal' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:121|[2689]0\\d)|4(?:111|40\\d))\\d{4}', - 'example' => '2123456789', - 'posLength' => [ - 6, - 7, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}', - 'example' => '9123456789', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])', - 'example' => '9601', - 'posLength' => [ - 4, - 5, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))', - 'posLength' => [ - 4, - 5, - 10, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4,5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '96', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IR extends PhoneMetadata +{ + protected const ID = 'IR'; + protected const COUNTRY_CODE = 98; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{9}|(?:[1-8]\d\d|9)\d{3,4}') + ->setPossibleLengthLocalOnly([8]) + ->setPossibleLength([4, 5, 6, 7, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:0[0-5]|[13]\d|2[0-3])\d\d|9(?:[0-46]\d\d|5(?:10|5\d)|8(?:[12]\d|88)|9(?:0[0-3]|[19]\d|21|69|77|8[7-9])))\d{5}') + ->setExampleNumber('9123456789') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\d{7}|[16]\d{3}(?:\d{4})?|[289]\d{3}(?:\d(?:\d{3})?)?)|94(?:000[09]|(?:12\d|30[0-2])\d|2(?:121|[2689]0\d)|4(?:111|40\d))\d{4}') + ->setExampleNumber('2123456789') + ->setPossibleLengthLocalOnly([4, 5, 8]) + ->setPossibleLength([6, 7, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4,5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['96']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])') + ->setExampleNumber('9601') + ->setPossibleLength([4, 5]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:4440\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))') + ->setPossibleLength([4, 5, 10]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php index 3db339af3..5cc80874a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IS.php @@ -1,4 +1,5 @@ 'IS', - 'countryCode' => 354, - 'generalDesc' => [ - 'pattern' => '(?:38\\d|[4-9])\\d{6}', - 'posLength' => [ - 7, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}', - 'example' => '4101234', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}', - 'example' => '6111234', - ], - 'tollFree' => [ - 'pattern' => '80[0-8]\\d{4}', - 'example' => '8001234', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'pattern' => '90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}', - 'example' => '9001234', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '49[0-24-79]\\d{4}', - 'example' => '4921234', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '809\\d{4}', - 'example' => '8091234', - 'posLength' => [ - 7, - ], - ], - 'voicemail' => [ - 'pattern' => '(?:689|8(?:7[18]|80)|95[48])\\d{4}', - 'example' => '6891234', - 'posLength' => [ - 7, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|1(?:0(?:01|[12]0)|100)', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[4-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IS extends PhoneMetadata +{ + protected const ID = 'IS'; + protected const COUNTRY_CODE = 354; + + protected ?string $internationalPrefix = '00|1(?:0(?:01|[12]0)|100)'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:38\d|[4-9])\d{6}') + ->setPossibleLength([7, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:38[589]\d\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\d)|7(?:5[057]|[6-9]\d)|8(?:2[0-59]|[3-69]\d|8[238]))\d{4}') + ->setExampleNumber('6111234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90(?:0\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\d{3}') + ->setExampleNumber('9001234') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\d|8[0-36-8])|5(?:05|[156]\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\d{4}') + ->setExampleNumber('4101234') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[4-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-8]\d{4}') + ->setExampleNumber('8001234') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('49[0-24-79]\d{4}') + ->setExampleNumber('4921234') + ->setPossibleLength([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('809\d{4}') + ->setExampleNumber('8091234') + ->setPossibleLength([7]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:689|8(?:7[18]|80)|95[48])\d{4}') + ->setExampleNumber('6891234') + ->setPossibleLength([7]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php index e148d5851..238c28053 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_IT.php @@ -1,4 +1,5 @@ 'IT', - 'countryCode' => 39, - 'generalDesc' => [ - 'pattern' => '0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}', - 'example' => '0212345678', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - ], - ], - 'mobile' => [ - 'pattern' => '3[2-9]\\d{7,8}|(?:31|43)\\d{8}', - 'example' => '3123456789', - 'posLength' => [ - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80(?:0\\d{3}|3)\\d{3}', - 'example' => '800123456', - 'posLength' => [ - 6, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}', - 'example' => '899123456', - 'posLength' => [ - 6, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '84(?:[08]\\d{3}|[17])\\d{3}', - 'example' => '848123456', - 'posLength' => [ - 6, - 9, - ], - ], - 'personalNumber' => [ - 'pattern' => '1(?:78\\d|99)\\d{6}', - 'example' => '1781234567', - 'posLength' => [ - 9, - 10, - ], - ], - 'voip' => [ - 'pattern' => '55\\d{8}', - 'example' => '5512345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'pattern' => '3[2-8]\\d{9,10}', - 'example' => '33101234501', - 'posLength' => [ - 11, - 12, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '848\\d{6}', - 'posLength' => [ - 9, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4,5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:0|9[246])', - '1(?:0|9(?:2[2-9]|[46]))', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1(?:1|92)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0[26]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0[13-57-9][0159]|8(?:03|4[17]|9[2-5])', - '0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0(?:[13-579][2-46-8]|8[236-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '894', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[26]|5', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:44|[679])|[378]|43', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[13-57-9][0159]|14', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[26]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0[26]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0[13-57-9][0159]|8(?:03|4[17]|9[2-5])', - '0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0(?:[13-579][2-46-8]|8[236-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '894', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[26]|5', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1(?:44|[679])|[378]|43', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[13-57-9][0159]|14', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0[26]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_IT extends PhoneMetadata +{ + protected const ID = 'IT'; + protected const COUNTRY_CODE = 39; + + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0\d{5,10}|1\d{8,10}|3(?:[0-8]\d{7,10}|9\d{7,8})|(?:43|55|70)\d{8}|8\d{5}(?:\d{2,4})?') + ->setPossibleLength([6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2-9]\d{7,8}|(?:31|43)\d{8}') + ->setExampleNumber('3123456789') + ->setPossibleLength([9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0878\d{3}|89(?:2\d|3[04]|4(?:[0-4]|[5-9]\d\d)|5[0-4]))\d\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\d{6}') + ->setExampleNumber('899123456') + ->setPossibleLength([6, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0669[0-79]\d{1,6}|0(?:1(?:[0159]\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\d\d|3(?:[0159]\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\d|6[0-8])|7(?:[0159]\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\d{2,7}') + ->setExampleNumber('0212345678') + ->setPossibleLength([6, 7, 8, 9, 10, 11]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4,5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:0|9[246])', '1(?:0|9(?:2[2-9]|[46]))']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1(?:1|92)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0[26]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0[13-57-9][0159]|8(?:03|4[17]|9[2-5])', '0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0(?:[13-579][2-46-8]|8[236-8])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['894']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[26]|5']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:44|[679])|[378]|43']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[13-57-9][0159]|14']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[26]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4,5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:0\d{3}|3)\d{3}') + ->setExampleNumber('800123456') + ->setPossibleLength([6, 9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('84(?:[08]\d{3}|[17])\d{3}') + ->setExampleNumber('848123456') + ->setPossibleLength([6, 9]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:78\d|99)\d{6}') + ->setExampleNumber('1781234567') + ->setPossibleLength([9, 10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('55\d{8}') + ->setExampleNumber('5512345678') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2-8]\d{9,10}') + ->setExampleNumber('33101234501') + ->setPossibleLength([11, 12]); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('848\d{6}') + ->setPossibleLength([9]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0[26]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0[13-57-9][0159]|8(?:03|4[17]|9[2-5])', '0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0(?:[13-579][2-46-8]|8[236-8])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['894']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[26]|5']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1(?:44|[679])|[378]|43']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[13-57-9][0159]|14']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0[26]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4,5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php index 868ba2671..25169716d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JE.php @@ -1,4 +1,5 @@ 'JE', - 'countryCode' => 44, - 'generalDesc' => [ - 'pattern' => '1534\\d{6}|(?:[3578]\\d|90)\\d{8}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '1534[0-24-8]\\d{5}', - 'example' => '1534456789', - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}', - 'example' => '7797712345', - ], - 'tollFree' => [ - 'pattern' => '80(?:07(?:35|81)|8901)\\d{4}', - 'example' => '8007354567', - ], - 'premiumRate' => [ - 'pattern' => '(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}', - 'example' => '9018105678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '701511\\d{4}', - 'example' => '7015115678', - ], - 'voip' => [ - 'pattern' => '56\\d{8}', - 'example' => '5612345678', - ], - 'pager' => [ - 'pattern' => '76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}', - 'example' => '7640123456', - ], - 'uan' => [ - 'pattern' => '(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}', - 'example' => '5512345678', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([0-24-8]\\d{5})$|0', - 'nationalPrefixTransformRule' => '1534$1', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_JE extends PhoneMetadata +{ + protected const ID = 'JE'; + protected const COUNTRY_CODE = 44; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([0-24-8]\d{5})$|0'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '1534$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1534\d{6}|(?:[3578]\d|90)\d{8}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:(?:(?:50|82)9|937)\d|7(?:00[378]|97\d))\d{5}') + ->setExampleNumber('7797712345'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\d{4}') + ->setExampleNumber('9018105678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1534[0-24-8]\d{5}') + ->setExampleNumber('1534456789') + ->setPossibleLengthLocalOnly([6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:07(?:35|81)|8901)\d{4}') + ->setExampleNumber('8007354567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('701511\d{4}') + ->setExampleNumber('7015115678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('56\d{8}') + ->setExampleNumber('5612345678'); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('76(?:464|652)\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\d{6}') + ->setExampleNumber('7640123456'); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:0(?:07(?:35|81)|8901)|3\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\d{4})\d{4}') + ->setExampleNumber('5512345678'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php index 4c64e144c..8d4d540db 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JM.php @@ -1,4 +1,5 @@ 'JM', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|658|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}', - 'example' => '8765230123', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}', - 'example' => '8762101234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'numberFormat' => [], - 'leadingDigits' => '658|876', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_JM extends PhoneMetadata +{ + protected const ID = 'JM'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '658|876'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|658|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:658295|876(?:2(?:0[1-9]|[13-9]\d|2[013-9])|[348]\d\d|5(?:0[1-9]|[1-9]\d)|6(?:4[89]|6[67])|7(?:0[07]|7\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\d{4}') + ->setExampleNumber('8762101234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8766060\d{3}|(?:658(?:2(?:[0-8]\d|9[0-46-9])|[3-9]\d\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\d|9[2-468])))\d{4}') + ->setExampleNumber('8765230123') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php index 43e16f4ba..ef34f2015 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JO.php @@ -1,4 +1,5 @@ 'JO', - 'countryCode' => 962, - 'generalDesc' => [ - 'pattern' => '(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}', - 'example' => '62001234', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:[78][0-25-9]|9\\d)\\d{6}', - 'example' => '790123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{6}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '9\\d{7}', - 'example' => '90012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '85\\d{6}', - 'example' => '85012345', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{7}', - 'example' => '700123456', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '74(?:66|77)\\d{5}', - 'example' => '746612345', - 'posLength' => [ - 9, - ], - ], - 'uan' => [ - 'pattern' => '8(?:10|8\\d)\\d{5}', - 'example' => '88101234', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2356]|87', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '70', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_JO extends PhoneMetadata +{ + protected const ID = 'JO'; + protected const COUNTRY_CODE = 962; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:[2689]|7\d)\d|32|53)\d{6}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:[78][0-25-9]|9\d)\d{6}') + ->setExampleNumber('790123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d{7}') + ->setExampleNumber('90012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('87(?:000|90[01])\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\d{4}') + ->setExampleNumber('62001234') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2356]|87']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['70']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('85\d{6}') + ->setExampleNumber('85012345') + ->setPossibleLength([8]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{7}') + ->setExampleNumber('700123456') + ->setPossibleLength([9]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('74(?:66|77)\d{5}') + ->setExampleNumber('746612345') + ->setPossibleLength([9]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:10|8\d)\d{5}') + ->setExampleNumber('88101234') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php index 1e453764d..7c111c39b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_JP.php @@ -1,4 +1,5 @@ 'JP', - 'countryCode' => 81, - 'generalDesc' => [ - 'pattern' => '00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}', - 'example' => '312345678', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '[7-9]0[1-9]\\d{7}', - 'example' => '9012345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}', - 'example' => '120123456', - ], - 'premiumRate' => [ - 'pattern' => '990\\d{6}', - 'example' => '990123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '60\\d{7}', - 'example' => '601234567', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'pattern' => '50[1-9]\\d{7}', - 'example' => '5012345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'pattern' => '20\\d{8}', - 'example' => '2012345678', - 'posLength' => [ - 10, - ], - ], - 'uan' => [ - 'pattern' => '570\\d{6}', - 'example' => '570123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}', - ], - 'internationalPrefix' => '010', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(000[259]\\d{6})$|(?:(?:003768)0?)|0', - 'nationalPrefixTransformRule' => '$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '007', - '0077', - '00777', - '00777[01]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '(?:12|57|99)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d)(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])', - '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', - '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '60', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[36]|4(?:2[09]|7[01])', - '[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])', - '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]', - '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[14]|[289][2-9]|5[3-9]|7[2-4679]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{3,4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '007', - '0077', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '008', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[257-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{4,5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5})(\\d{5,6})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})(\\d{6,7})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '(?:12|57|99)0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d)(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])', - '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', - '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '60', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[36]|4(?:2[09]|7[01])', - '[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])', - '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]', - '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[14]|[289][2-9]|5[3-9]|7[2-4679]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '800', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[257-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_JP extends PhoneMetadata +{ + protected const ID = 'JP'; + protected const COUNTRY_CODE = 81; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '(000[259]\d{6})$|(?:(?:003768)0?)|0'; + protected ?string $internationalPrefix = '010'; + protected ?string $nationalPrefixTransformRule = '$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00[1-9]\d{6,14}|[257-9]\d{9}|(?:00|[1-9]\d\d)\d{6}') + ->setPossibleLength([8, 9, 10, 11, 12, 13, 14, 15, 16, 17]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[7-9]0[1-9]\d{7}') + ->setExampleNumber('9012345678') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('990\d{6}') + ->setExampleNumber('990123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\d|4(?:[2-578]\d|6[02-8]|9[2-59])|5(?:[2-589]\d|6[1-9]|7[2-8])|7(?:[25-9]\d|3[4-9]|4[02-9])|8(?:[2679]\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\d|[679][1-9]))\d{6}') + ->setExampleNumber('312345678') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['007', '0077', '00777', '00777[01]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['(?:12|57|99)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d)(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern([ + '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])', + '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', + '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['60']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[36]|4(?:2[09]|7[01])', '[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern([ + '1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])', + '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]', + '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[14]|[289][2-9]|5[3-9]|7[2-4679]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{3,4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['007', '0077']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['008']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[257-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3,4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{4,5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})(\d{5,6})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})(\d{6,7})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00777(?:[01]|5\d)\d\d|(?:00(?:7778|882[1245])|(?:120|800\d)\d\d)\d{4}|00(?:37|66|78)\d{6,13}') + ->setExampleNumber('120123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('60\d{7}') + ->setExampleNumber('601234567') + ->setPossibleLength([9]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('50[1-9]\d{7}') + ->setExampleNumber('5012345678') + ->setPossibleLength([10]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20\d{8}') + ->setExampleNumber('2012345678') + ->setPossibleLength([10]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('570\d{6}') + ->setExampleNumber('570123456') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00(?:777(?:[01]|(?:5|8\d)\d)|882[1245]\d\d)\d\d|00(?:37|66|78)\d{6,13}'); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['(?:12|57|99)0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d)(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern([ + '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])', + '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', + '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['60']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[36]|4(?:2[09]|7[01])', '[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern([ + '1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])', + '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]', + '1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[14]|[289][2-9]|5[3-9]|7[2-4679]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['800']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[257-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php index 20137d0e9..0c57d5abb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KE.php @@ -1,4 +1,5 @@ 'KE', - 'countryCode' => 254, - 'generalDesc' => [ - 'pattern' => '(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}', - 'example' => '202012345', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:1(?:0[0-8]|1[0-7]|2[014]|30)|7\\d\\d)\\d{6}', - 'example' => '712123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800[02-8]\\d{5,6}', - 'example' => '800223456', - 'posLength' => [ - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '900[02-9]\\d{5}', - 'example' => '900223456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '000', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[24-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[17]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KE extends PhoneMetadata +{ + protected const ID = 'KE'; + protected const COUNTRY_CODE = 254; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '000'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[17]\d\d|900)\d{6}|(?:2|80)0\d{6,7}|[4-6]\d{6,8}') + ->setPossibleLength([7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:0[0-8]|1[0-7]|2[014]|30)|7\d\d)\d{6}') + ->setExampleNumber('712123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[02-9]\d{5}') + ->setExampleNumber('900223456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4[245]|5[1-79]|6[01457-9])\d{5,7}|(?:4[136]|5[08]|62)\d{7}|(?:[24]0|66)\d{6,7}') + ->setExampleNumber('202012345') + ->setPossibleLength([7, 8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[24-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[17]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[02-8]\d{5,6}') + ->setExampleNumber('800223456') + ->setPossibleLength([9, 10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php index 8c58bbd2d..2734411a4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KG.php @@ -1,4 +1,5 @@ 'KG', - 'countryCode' => 996, - 'generalDesc' => [ - 'pattern' => '8\\d{9}|[235-9]\\d{8}', - 'posLength' => [ - 9, - 10, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}', - 'example' => '312123456', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|9(?:12|9[05-9]))\\d{6}', - 'example' => '700123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6,7}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3(?:1[346]|[24-79])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[235-79]|88', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d)(\\d{2,3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KG extends PhoneMetadata +{ + protected const ID = 'KG'; + protected const COUNTRY_CODE = 996; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{9}|[235-9]\d{8}') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('312(?:58\d|973)\d{3}|(?:2(?:0[0-35]|2\d)|5[0-24-7]\d|600|7(?:[07]\d|55)|88[08]|9(?:12|9[05-9]))\d{6}') + ->setExampleNumber('700123456') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('312(?:5[0-79]\d|9(?:[0-689]\d|7[0-24-9]))\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\d)|5(?:22|3[4-7]|59|6\d)|6(?:22|5[35-7]|6\d)|7(?:22|3[468]|4[1-9]|59|[67]\d)|9(?:22|4[1-8]|6\d))|6(?:09|12|2[2-4])\d)\d{5}') + ->setExampleNumber('312123456') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3(?:1[346]|[24-79])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[235-79]|88']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d)(\d{2,3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6,7}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php index c1a659ea4..3e98a0c31 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KH.php @@ -1,4 +1,5 @@ 'KH', - 'countryCode' => 855, - 'generalDesc' => [ - 'pattern' => '1\\d{9}|[1-9]\\d{7,8}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})', - 'example' => '23756789', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}', - 'example' => '91234567', - 'posLength' => [ - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1800(?:1\\d|2[019])\\d{4}', - 'example' => '1800123456', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '1900(?:1\\d|2[09])\\d{4}', - 'example' => '1900123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00[14-9]', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KH extends PhoneMetadata +{ + protected const ID = 'KH'; + protected const COUNTRY_CODE = 855; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00[14-9]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{9}|[1-9]\d{7,8}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:1[28]|3[18]|9[67])\d|6[016-9]|7(?:[07-9]|[16]\d)|8(?:[013-79]|8\d))\d{6}|(?:1\d|9[0-57-9])\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\d{5}') + ->setExampleNumber('91234567') + ->setPossibleLength([8, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1900(?:1\d|2[09])\d{4}') + ->setExampleNumber('1900123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('23(?:4(?:[2-4]|[56]\d)|[568]\d\d)\d{4}|23[236-9]\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\d)\d{5}|6\d{5,6})') + ->setExampleNumber('23756789') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800(?:1\d|2[019])\d{4}') + ->setExampleNumber('1800123456') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php index f00546ce7..222ea5bfe 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KI.php @@ -1,4 +1,5 @@ 'KI', - 'countryCode' => 686, - 'generalDesc' => [ - 'pattern' => '(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}', - 'posLength' => [ - 5, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}', - 'example' => '31234', - ], - 'mobile' => [ - 'pattern' => '(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}', - 'example' => '72001234', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '30(?:0[01]\\d\\d|12(?:11|20))\\d\\d', - 'example' => '30010000', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KI extends PhoneMetadata +{ + protected const ID = 'KI'; + protected const COUNTRY_CODE = 686; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[37]\d|6[0-79])\d{6}|(?:[2-48]\d|50)\d{3}') + ->setPossibleLength([5, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\d{3}|(?:63\d\d|7(?:(?:[0146-9]\d|2[0-689])\d|3(?:[02-9]\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\d)))\d{4}') + ->setExampleNumber('72001234') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[24]\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\d\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\d{3}') + ->setExampleNumber('31234'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('30(?:0[01]\d\d|12(?:11|20))\d\d') + ->setExampleNumber('30010000') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php index ce58b9de2..46d2eacce 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KM.php @@ -1,4 +1,5 @@ 'KM', - 'countryCode' => 269, - 'generalDesc' => [ - 'pattern' => '[3478]\\d{6}', - 'posLength' => [ - 7, - ], - 'posLengthLocal' => [ - 4, - ], - ], - 'fixedLine' => [ - 'pattern' => '7[4-7]\\d{5}', - 'example' => '7712345', - 'posLengthLocal' => [ - 4, - ], - ], - 'mobile' => [ - 'pattern' => '[34]\\d{6}', - 'example' => '3212345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '8\\d{6}', - 'example' => '8001234', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3478]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KM extends PhoneMetadata +{ + protected const ID = 'KM'; + protected const COUNTRY_CODE = 269; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[3478]\d{6}') + ->setPossibleLengthLocalOnly([4]) + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[34]\d{6}') + ->setExampleNumber('3212345'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{6}') + ->setExampleNumber('8001234'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[4-7]\d{5}') + ->setExampleNumber('7712345') + ->setPossibleLengthLocalOnly([4]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3478]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php index a132bd900..38d921e4f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KN.php @@ -1,4 +1,5 @@ 'KN', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}', - 'example' => '8692361234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}', - 'example' => '8697652917', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-7]\\d{6})$|1', - 'nationalPrefixTransformRule' => '869$1', - 'numberFormat' => [], - 'leadingDigits' => '869', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KN extends PhoneMetadata +{ + protected const ID = 'KN'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '869'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-7]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '869$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('869(?:48[89]|55[6-8]|66\d|76[02-7])\d{4}') + ->setExampleNumber('8697652917') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\d{4}') + ->setExampleNumber('8692361234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php index 2285a87c9..08b5457d2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KP.php @@ -1,4 +1,5 @@ 'KP', - 'countryCode' => 850, - 'generalDesc' => [ - 'pattern' => '85\\d{6}|(?:19\\d|[2-7])\\d{7}', - 'posLength' => [ - 8, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}', - 'example' => '21234567', - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '19[1-3]\\d{7}', - 'example' => '1921234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'internationalPrefix' => '00|99', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KP extends PhoneMetadata +{ + protected const ID = 'KP'; + protected const COUNTRY_CODE = 850; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00|99'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('85\d{6}|(?:19\d|[2-7])\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1-3]\d{7}') + ->setExampleNumber('1921234567') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:195|2)\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\d{6}') + ->setExampleNumber('21234567') + ->setPossibleLengthLocalOnly([6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('238[02-9]\d{4}|2(?:[0-24-9]\d|3[0-79])\d{5}') + ->setPossibleLength([8]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php index 925e96316..f053f323a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KR.php @@ -1,4 +1,5 @@ 'KR', - 'countryCode' => 82, - 'generalDesc' => [ - 'pattern' => '00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}', - 'posLength' => [ - 5, - 6, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - ], - 'posLengthLocal' => [ - 3, - 4, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}', - 'example' => '22123456', - 'posLength' => [ - 5, - 6, - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 3, - 4, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}', - 'example' => '1020000000', - 'posLength' => [ - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|[38]0)\\d{7}', - 'example' => '801234567', - 'posLength' => [ - 9, - 11, - 12, - 13, - 14, - ], - ], - 'premiumRate' => [ - 'pattern' => '60[2-9]\\d{6}', - 'example' => '602345678', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '50\\d{8,9}', - 'example' => '5012345678', - 'posLength' => [ - 10, - 11, - ], - ], - 'voip' => [ - 'pattern' => '70\\d{8}', - 'example' => '7012345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'pattern' => '15\\d{7,8}', - 'example' => '1523456789', - 'posLength' => [ - 9, - 10, - ], - ], - 'uan' => [ - 'pattern' => '1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\d{4}', - 'example' => '15441234', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})', - 'posLength' => [ - 11, - 12, - 13, - 14, - ], - ], - 'internationalPrefix' => '00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0(8(?:[1-46-8]|5\\d\\d))?', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1[016-9]1', - '1[016-9]11', - '1[016-9]114', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '(?:3[1-3]|[46][1-4]|5[1-5])1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[36]0|8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[1346]|5[1-5]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[57]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{5})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '003', - '0030', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{5})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '(?:3[1-3]|[46][1-4]|5[1-5])1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[36]0|8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[1346]|5[1-5]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[57]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '0$CC-$1', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KR extends PhoneMetadata +{ + protected const ID = 'KR'; + protected const COUNTRY_CODE = 82; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0(8(?:[1-46-8]|5\d\d))?'; + protected ?string $internationalPrefix = '00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00[1-9]\d{8,11}|(?:[12]|5\d{3})\d{7}|[13-6]\d{9}|(?:[1-6]\d|80)\d{7}|[3-6]\d{4,5}|(?:00|7)0\d{8}') + ->setPossibleLengthLocalOnly([3, 4, 7]) + ->setPossibleLength([5, 6, 8, 9, 10, 11, 12, 13, 14]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05(?:[0-8]\d|9[0-6])|22[13]\d)\d{4,5}|1(?:0[0-46-9]|[16-9]\d|2[013-9])\d{6,7}') + ->setExampleNumber('1020000000') + ->setPossibleLength([9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('60[2-9]\d{6}') + ->setExampleNumber('602345678') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\d{2,3}') + ->setExampleNumber('22123456') + ->setPossibleLengthLocalOnly([3, 4, 7]) + ->setPossibleLength([5, 6, 8, 9, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1[016-9]1', '1[016-9]11', '1[016-9]114']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['(?:3[1-3]|[46][1-4]|5[1-5])1']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3,4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[36]0|8']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[1346]|5[1-5]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[57]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['003', '0030']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00(?:308\d{6,7}|798\d{7,9})|(?:00368|[38]0)\d{7}') + ->setExampleNumber('801234567') + ->setPossibleLength([9, 11, 12, 13, 14]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('50\d{8,9}') + ->setExampleNumber('5012345678') + ->setPossibleLength([10, 11]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{8}') + ->setExampleNumber('7012345678') + ->setPossibleLength([10]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('15\d{7,8}') + ->setExampleNumber('1523456789') + ->setPossibleLength([9, 10]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\d{4}') + ->setExampleNumber('15441234') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('00(?:3(?:08\d{6,7}|68\d{7})|798\d{7,9})') + ->setPossibleLength([11, 12, 13, 14]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['(?:3[1-3]|[46][1-4]|5[1-5])1']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3,4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[36]0|8']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[1346]|5[1-5]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[57]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('0$CC-$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php index cacff04be..870099a76 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KW.php @@ -1,4 +1,5 @@ 'KW', - 'countryCode' => 965, - 'generalDesc' => [ - 'pattern' => '18\\d{5}|(?:[2569]\\d|41)\\d{6}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}', - 'example' => '22345678', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\d)|8[68]8|9(?:[069]\\d|3[039]))|9(?:(?:[04679]\\d|8[057-9])\\d|1(?:1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}', - 'example' => '50012345', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '18\\d{5}', - 'example' => '1801234', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[169]|2(?:[235]|4[1-35-9])|52', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[245]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KW extends PhoneMetadata +{ + protected const ID = 'KW'; + protected const COUNTRY_CODE = 965; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18\d{5}|(?:[2569]\d|41)\d{6}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:41\d\d|5(?:(?:[05]\d|1[0-7]|6[56])\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\d)\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\d)|8[68]8|9(?:[069]\d|3[039]))|9(?:(?:[04679]\d|8[057-9])\d|1(?:00|1[01]|99)|2(?:00|2\d)|3(?:00|3[03])|5(?:00|5\d)))\d{4}') + ->setExampleNumber('50012345') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[23]\d\d|4(?:[1-35-9]\d|44)|5(?:0[034]|[2-46]\d|5[1-3]|7[1-7]))\d{4}') + ->setExampleNumber('22345678') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[169]|2(?:[235]|4[1-35-9])|52']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[245]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18\d{5}') + ->setExampleNumber('1801234') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php index 17d9847f9..05004d821 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KY.php @@ -1,4 +1,5 @@ 'KY', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:345|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\d{4}', - 'example' => '3452221234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}', - 'example' => '3453231234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '(?:345976|900[2-9]\\d\\d)\\d{4}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '345849\\d{4}', - 'example' => '3458491234', - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '345$1', - 'numberFormat' => [], - 'leadingDigits' => '345', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KY extends PhoneMetadata +{ + protected const ID = 'KY'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '345'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '345$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:345|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\d{4}') + ->setExampleNumber('3453231234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:345976|900[2-9]\d\d)\d{4}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|4[89]|88)|9(?:14|4[035-9]))\d{4}') + ->setExampleNumber('3452221234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php index f8ae5a1e5..89f99d1ba 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_KZ.php @@ -1,4 +1,5 @@ 'KZ', - 'countryCode' => 7, - 'generalDesc' => [ - 'pattern' => '(?:33622|8\\d{8})\\d{5}|[78]\\d{9}', - 'posLength' => [ - 10, - 14, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}', - 'example' => '7123456789', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}', - 'example' => '7710009998', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|108\\d{3})\\d{7}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '809\\d{7}', - 'example' => '8091234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '808\\d{7}', - 'example' => '8081234567', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'pattern' => '751\\d{7}', - 'example' => '7511234567', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '751\\d{7}', - 'posLength' => [ - 10, - ], - ], - 'internationalPrefix' => '810', - 'preferredInternationalPrefix' => '8~10', - 'nationalPrefix' => '8', - 'nationalPrefixForParsing' => '8', - 'numberFormat' => [], - 'leadingDigits' => '33|7', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_KZ extends PhoneMetadata +{ + protected const ID = 'KZ'; + protected const COUNTRY_CODE = 7; + protected const LEADING_DIGITS = '33622|7'; + protected const NATIONAL_PREFIX = '8'; + + protected ?string $nationalPrefixForParsing = '8'; + protected ?string $internationalPrefix = '810'; + protected ?string $preferredInternationalPrefix = '8~10'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:33622|8\d{8})\d{5}|[78]\d{9}') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([10, 14]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\d{7}') + ->setExampleNumber('7710009998') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('809\d{7}') + ->setExampleNumber('8091234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:33622|7(?:1(?:0(?:[23]\d|4[0-3]|59|63)|1(?:[23]\d|4[0-79]|59)|2(?:[23]\d|59)|3(?:2\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\d|3[013-9]|5[1-9]|97)|5(?:2\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\d|5[19]|61)|72\d|8(?:[27]\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\d|4[46-9]|5[3469])|2(?:2\d|3[0679]|46|5[12679])|3(?:[2-4]\d|5[139])|4(?:2\d|3[1-35-9]|59)|5(?:[23]\d|4[0-8]|59|61)|6(?:2\d|3[1-9]|4[0-4]|59)|7(?:[2379]\d|40|5[279])|8(?:[23]\d|4[0-3]|59)|9(?:2\d|3[124578]|59))))\d{5}') + ->setExampleNumber('7123456789') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([10]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|108\d{3})\d{7}') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808\d{7}') + ->setExampleNumber('8081234567') + ->setPossibleLength([10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('751\d{7}') + ->setExampleNumber('7511234567') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('751\d{7}') + ->setPossibleLength([10]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php index cfff4f926..576b63875 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LA.php @@ -1,4 +1,5 @@ 'LA', - 'countryCode' => 856, - 'generalDesc' => [ - 'pattern' => '[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[13]|[35-7][14]|41|8[1468])\\d{6}', - 'example' => '21212862', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '208[78]\\d{6}|(?:20[23579]|30[24])\\d{7}', - 'example' => '2023123456', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '30[0135-9]\\d{6}', - 'example' => '301234567', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[13]|3[14]|[4-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '30[0135-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LA extends PhoneMetadata +{ + protected const ID = 'LA'; + protected const COUNTRY_CODE = 856; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[23]\d{9}|3\d{8}|(?:[235-8]\d|41)\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20(?:[23579]\d|8[78])|30[24]\d)\d{6}|30\d{7}') + ->setExampleNumber('2023123456') + ->setPossibleLength([9, 10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[13]|[35-7][14]|41|8[1468])\d{6}') + ->setExampleNumber('21212862') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[13]|3[14]|[4-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php index 34cf81dde..ed85e572a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LB.php @@ -1,4 +1,5 @@ 'LB', - 'countryCode' => 961, - 'generalDesc' => [ - 'pattern' => '[27-9]\\d{7}|[13-9]\\d{6}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}', - 'example' => '1123456', - ], - 'mobile' => [ - 'pattern' => '793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}', - 'example' => '71123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '9[01]\\d{6}', - 'example' => '90123456', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '80\\d{6}', - 'example' => '80123456', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[27-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LB extends PhoneMetadata +{ + protected const ID = 'LB'; + protected const COUNTRY_CODE = 961; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[27-9]\d{7}|[13-9]\d{6}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:3|81)\d|7(?:[01]\d|6[013-9]|8[7-9]|9[1-3]))\d{5}') + ->setExampleNumber('71123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[01]\d{6}') + ->setExampleNumber('90123456') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:62|8[0-6]|9[04-9])\d{4}|(?:[14-69]\d|2(?:[14-69]\d|[78][1-9])|7[2-57]|8[02-9])\d{5}') + ->setExampleNumber('1123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[27-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}') + ->setExampleNumber('80123456') + ->setPossibleLength([8]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php index 35a3a233f..f67b6f48e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LC.php @@ -1,4 +1,5 @@ 'LC', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|758|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}', - 'example' => '7584305678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}', - 'example' => '7582845678', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-8]\\d{6})$|1', - 'nationalPrefixTransformRule' => '758$1', - 'numberFormat' => [], - 'leadingDigits' => '758', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LC extends PhoneMetadata +{ + protected const ID = 'LC'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '758'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-8]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '758$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|758|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\d|3[0-3])|812)\d{4}') + ->setExampleNumber('7582845678') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('758(?:234|4(?:30|5\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\d{4}') + ->setExampleNumber('7584305678') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php index 7e81085ab..e6af528c3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LI.php @@ -1,4 +1,5 @@ 'LI', - 'countryCode' => 423, - 'generalDesc' => [ - 'pattern' => '[68]\\d{8}|(?:[2378]\\d|90)\\d{5}', - 'posLength' => [ - 7, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}', - 'example' => '2345678', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:6(?:(?:4[5-9]|5[0-469])\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}', - 'example' => '660234567', - ], - 'tollFree' => [ - 'pattern' => '8002[28]\\d\\d|80(?:05\\d|9)\\d{4}', - 'example' => '8002222', - ], - 'premiumRate' => [ - 'pattern' => '90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d', - 'example' => '9002222', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '870(?:28|87)\\d\\d', - 'example' => '8702812', - 'posLength' => [ - 7, - ], - ], - 'voicemail' => [ - 'pattern' => '697(?:42|56|[78]\\d)\\d{4}', - 'example' => '697861234', - 'posLength' => [ - 9, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(1001)|0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2379]|8(?:0[09]|7)', - '[2379]|8(?:0(?:02|9)|7)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '69', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LI extends PhoneMetadata +{ + protected const ID = 'LI'; + protected const COUNTRY_CODE = 423; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '(1001)|0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[68]\d{8}|(?:[2378]\d|90)\d{5}') + ->setPossibleLength([7, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6(?:(?:4[5-9]|5[0-46-9])\d|6(?:[024-6]\d|[17]0|3[7-9]))\d|7(?:[37-9]\d|42|56))\d{4}') + ->setExampleNumber('660234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90(?:02[258]|1(?:23|3[14])|66[136])\d\d') + ->setExampleNumber('9002222') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:01|1[27]|2[024]|3\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\d{4}') + ->setExampleNumber('2345678') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2379]|8(?:0[09]|7)', '[2379]|8(?:0(?:02|9)|7)']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['69']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8002[28]\d\d|80(?:05\d|9)\d{4}') + ->setExampleNumber('8002222'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('870(?:28|87)\d\d') + ->setExampleNumber('8702812') + ->setPossibleLength([7]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('697(?:42|56|[78]\d)\d{4}') + ->setExampleNumber('697861234') + ->setPossibleLength([9]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php index 957cdb899..8d6a7c341 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LK.php @@ -1,4 +1,5 @@ 'LK', - 'countryCode' => 94, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}', - 'example' => '112345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:[0-25-8]\\d|4[0-4])\\d{6}', - 'example' => '712345678', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '1973\\d{5}', - 'example' => '197312345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LK extends PhoneMetadata +{ + protected const ID = 'LK'; + protected const COUNTRY_CODE = 94; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:[0-25-8]\d|4[0-4])\d{6}') + ->setExampleNumber('712345678'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:12[2-9]|602|8[12]\d|9(?:1\d|22|9[245]))\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\d{6}') + ->setExampleNumber('112345678') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-689]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1973\d{5}') + ->setExampleNumber('197312345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php index d05f43e51..dad87e9cc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LR.php @@ -1,4 +1,5 @@ 'LR', - 'countryCode' => 231, - 'generalDesc' => [ - 'pattern' => '(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2\\d{7}', - 'example' => '21234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}', - 'example' => '770123456', - 'posLength' => [ - 7, - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '332(?:02|[34]\\d)\\d{4}', - 'example' => '332021234', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4[67]|[56]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-578]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LR extends PhoneMetadata +{ + protected const ID = 'LR'; + protected const COUNTRY_CODE = 231; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2457]\d|33|88)\d{7}|(?:2\d|[4-6])\d{6}') + ->setPossibleLength([7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:(?:22|33)0|555|7(?:6[01]|7\d)|88\d)\d|4(?:240|[67]))\d{5}|[56]\d{6}') + ->setExampleNumber('770123456') + ->setPossibleLength([7, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('332(?:02|[34]\d)\d{4}') + ->setExampleNumber('332021234') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{7}') + ->setExampleNumber('21234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4[67]|[56]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-578]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php index 0f43a6826..7e933115a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LS.php @@ -1,4 +1,5 @@ 'LS', - 'countryCode' => 266, - 'generalDesc' => [ - 'pattern' => '(?:[256]\\d\\d|800)\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2\\d{7}', - 'example' => '22123456', - ], - 'mobile' => [ - 'pattern' => '[56]\\d{7}', - 'example' => '50123456', - ], - 'tollFree' => [ - 'pattern' => '800[1256]\\d{4}', - 'example' => '80021234', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2568]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LS extends PhoneMetadata +{ + protected const ID = 'LS'; + protected const COUNTRY_CODE = 266; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[256]\d\d|800)\d{5}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[56]\d{7}') + ->setExampleNumber('50123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{7}') + ->setExampleNumber('22123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2568]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[1256]\d{4}') + ->setExampleNumber('80021234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php index 1345cb811..81d2ad895 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LT.php @@ -1,4 +1,5 @@ 'LT', - 'countryCode' => 370, - 'generalDesc' => [ - 'pattern' => '(?:[3469]\\d|52|[78]0)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3[1478]|4[124-6]|52)\\d{6}', - 'example' => '31234567', - ], - 'mobile' => [ - 'pattern' => '6\\d{7}', - 'example' => '61234567', - ], - 'tollFree' => [ - 'pattern' => '80[02]\\d{5}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '9(?:0[0239]|10)\\d{5}', - 'example' => '90012345', - ], - 'sharedCost' => [ - 'pattern' => '808\\d{5}', - 'example' => '80812345', - ], - 'personalNumber' => [ - 'pattern' => '70[05]\\d{5}', - 'example' => '70012345', - ], - 'voip' => [ - 'pattern' => '[89]01\\d{5}', - 'example' => '80123456', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '70[67]\\d{5}', - 'example' => '70712345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '[08]', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '52[0-7]', - ], - 'nationalPrefixFormattingRule' => '(0-$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[7-9]', - ], - 'nationalPrefixFormattingRule' => '0 $1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '37|4(?:[15]|6[1-8])', - ], - 'nationalPrefixFormattingRule' => '(0-$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[3-6]', - ], - 'nationalPrefixFormattingRule' => '(0-$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LT extends PhoneMetadata +{ + protected const ID = 'LT'; + protected const COUNTRY_CODE = 370; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '[08]'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[3469]\d|52|[78]0)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6\d{7}') + ->setExampleNumber('61234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0[0239]|10)\d{5}') + ->setExampleNumber('90012345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[1478]|4[124-6]|52)\d{6}') + ->setExampleNumber('31234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['52[0-7]']) + ->setNationalPrefixFormattingRule('(0-$1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[7-9]']) + ->setNationalPrefixFormattingRule('0 $1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['37|4(?:[15]|6[1-8])']) + ->setNationalPrefixFormattingRule('(0-$1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[3-6]']) + ->setNationalPrefixFormattingRule('(0-$1)') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[02]\d{5}') + ->setExampleNumber('80012345'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808\d{5}') + ->setExampleNumber('80812345'); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[05]\d{5}') + ->setExampleNumber('70012345'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[89]01\d{5}') + ->setExampleNumber('80123456'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[67]\d{5}') + ->setExampleNumber('70712345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php index d9e4377ed..73d812da1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LU.php @@ -1,4 +1,5 @@ 'LU', - 'countryCode' => 352, - 'generalDesc' => [ - 'pattern' => '35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}', - 'example' => '27123456', - ], - 'mobile' => [ - 'pattern' => '6(?:[269][18]|5[1568]|7[189]|81)\\d{6}', - 'example' => '628123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '90[015]\\d{5}', - 'example' => '90012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '801\\d{5}', - 'example' => '80112345', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '20(?:1\\d{5}|[2-689]\\d{1,7})', - 'example' => '20201234', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '20[2-689]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '2(?:[0367]|4[3-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '80[01]|90[015]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '20', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '2(?:[0367]|4[3-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LU extends PhoneMetadata +{ + protected const ID = 'LU'; + protected const COUNTRY_CODE = 352; + + protected ?string $nationalPrefixForParsing = '(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\d)'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('35[013-9]\d{4,8}|6\d{8}|35\d{2,4}|(?:[2457-9]\d|3[0-46-9])\d{2,9}') + ->setPossibleLength([4, 5, 6, 7, 8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:[269][18]|5[1568]|7[189]|81)\d{6}') + ->setExampleNumber('628123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[015]\d{5}') + ->setExampleNumber('90012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:35[013-9]|80[2-9]|90[89])\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\d|8[13-9]|9[2-579])\d{2,9}') + ->setExampleNumber('27123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['20[2-689]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{1,2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['2(?:[0367]|4[3-8])']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['80[01]|90[015]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['20']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})(\d{1,2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['2(?:[0367]|4[3-8])']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{1,5})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]']) + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('801\d{5}') + ->setExampleNumber('80112345') + ->setPossibleLength([8]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:1\d{5}|[2-689]\d{1,7})') + ->setExampleNumber('20201234') + ->setPossibleLength([4, 5, 6, 7, 8, 9, 10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php index 75f7ba8ac..982b10fb2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LV.php @@ -1,4 +1,5 @@ 'LV', - 'countryCode' => 371, - 'generalDesc' => [ - 'pattern' => '(?:[268]\\d|90)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '6\\d{7}', - 'example' => '63123456', - ], - 'mobile' => [ - 'pattern' => '23(?:23[0-57-9]|33[0238])\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[024-9]|3[0-24-9]))\\d{4}', - 'example' => '21234567', - ], - 'tollFree' => [ - 'pattern' => '80\\d{6}', - 'example' => '80123456', - ], - 'premiumRate' => [ - 'pattern' => '90\\d{6}', - 'example' => '90123456', - ], - 'sharedCost' => [ - 'pattern' => '81\\d{6}', - 'example' => '81123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[269]|8[01]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LV extends PhoneMetadata +{ + protected const ID = 'LV'; + protected const COUNTRY_CODE = 371; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[268]\d|90)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2333[0-8]\d{3}|2(?:[0-24-9]\d\d|3(?:0[07]|[14-9]\d|2[02-9]|3[0-24-9]))\d{4}') + ->setExampleNumber('21234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{6}') + ->setExampleNumber('90123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6\d{7}') + ->setExampleNumber('63123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[269]|8[01]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}') + ->setExampleNumber('80123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81\d{6}') + ->setExampleNumber('81123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php index e84122efc..e899dad6c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_LY.php @@ -1,4 +1,5 @@ 'LY', - 'countryCode' => 218, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}', - 'example' => '212345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9[1-6]\\d{7}', - 'example' => '912345678', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_LY extends PhoneMetadata +{ + protected const ID = 'LY'; + protected const COUNTRY_CODE = 218; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[1-6]\d{7}') + ->setExampleNumber('912345678'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:0[56]|[1-6]\d|7[124579]|8[124])|3(?:1\d|2[2356])|4(?:[17]\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\d|5[2-57]|8[1-5])|7(?:[13]\d|2[13-79])|8(?:[124]\d|5[124]|84))\d{6}') + ->setExampleNumber('212345678') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php index 6039bc8ae..ebfc2c2a2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MA.php @@ -1,4 +1,5 @@ 'MA', - 'countryCode' => 212, - 'generalDesc' => [ - 'pattern' => '[5-8]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}', - 'example' => '520123456', - ], - 'mobile' => [ - 'pattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}', - 'example' => '650123456', - ], - 'tollFree' => [ - 'pattern' => '80[0-7]\\d{6}', - 'example' => '801234567', - ], - 'premiumRate' => [ - 'pattern' => '89\\d{7}', - 'example' => '891234567', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', - 'example' => '592401234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '5[45]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[5-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MA extends PhoneMetadata +{ + protected const ID = 'MA'; + protected const COUNTRY_CODE = 212; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[5-8]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6(?:[0-79]\d|8[0-247-9])|7(?:[0167]\d|2[0-8]|5[0-3]|8[0-7]))\d{6}') + ->setExampleNumber('650123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('89\d{7}') + ->setExampleNumber('891234567'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:2(?:[0-25-79]\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\d)\d{5}') + ->setExampleNumber('520123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['5[45]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[5-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-7]\d{6}') + ->setExampleNumber('801234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:592(?:4[0-2]|93)|80[89]\d\d)\d{4}') + ->setExampleNumber('592401234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php index 1b815171c..ce2c1d9f7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MC.php @@ -1,4 +1,5 @@ 'MC', - 'countryCode' => 377, - 'generalDesc' => [ - 'pattern' => '(?:[3489]|6\\d)\\d{7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:870|9[2-47-9]\\d)\\d{5}', - 'example' => '99123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '4(?:[469]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}', - 'example' => '612345678', - ], - 'tollFree' => [ - 'pattern' => '(?:800|90\\d)\\d{5}', - 'example' => '90123456', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '8[07]0\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '87', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[389]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[389]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MC extends PhoneMetadata +{ + protected const ID = 'MC'; + protected const COUNTRY_CODE = 377; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[3489]|6\d)\d{7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:[469]\d|5[1-9])\d{5}|(?:3|6\d)\d{7}') + ->setExampleNumber('612345678'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:870|9[2-47-9]\d)\d{5}') + ->setExampleNumber('99123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['87']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[389]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:800|90\d)\d{5}') + ->setExampleNumber('90123456') + ->setPossibleLength([8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[07]0\d{5}') + ->setPossibleLength([8]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[389]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php index 91f40bc51..a773b0522 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MD.php @@ -1,4 +1,5 @@ 'MD', - 'countryCode' => 373, - 'generalDesc' => [ - 'pattern' => '(?:[235-7]\\d|[89]0)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}', - 'example' => '22212345', - ], - 'mobile' => [ - 'pattern' => '562\\d{5}|(?:6\\d|7[16-9])\\d{6}', - 'example' => '62112345', - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '90[056]\\d{5}', - 'example' => '90012345', - ], - 'sharedCost' => [ - 'pattern' => '808\\d{5}', - 'example' => '80812345', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '3[08]\\d{6}', - 'example' => '30123456', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '803\\d{5}', - 'example' => '80312345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '22|3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[25-7]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MD extends PhoneMetadata +{ + protected const ID = 'MD'; + protected const COUNTRY_CODE = 373; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[235-7]\d|[89]0)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('562\d{5}|(?:6\d|7[16-9])\d{6}') + ->setExampleNumber('62112345'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[056]\d{5}') + ->setExampleNumber('90012345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:2[1-9]|3[1-79])\d|5(?:33|5[257]))\d{5}') + ->setExampleNumber('22212345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['22|3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[25-7]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808\d{5}') + ->setExampleNumber('80812345'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[08]\d{6}') + ->setExampleNumber('30123456'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('803\d{5}') + ->setExampleNumber('80312345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php index 3db832c92..dbac0760c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ME.php @@ -1,4 +1,5 @@ 'ME', - 'countryCode' => 382, - 'generalDesc' => [ - 'pattern' => '(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}', - 'example' => '30234567', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}', - 'example' => '67622901', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80(?:[0-2578]|9\\d)\\d{5}', - 'example' => '80080002', - ], - 'premiumRate' => [ - 'pattern' => '9(?:4[1568]|5[178])\\d{5}', - 'example' => '94515151', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '78[1-49]\\d{5}', - 'example' => '78108780', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '77[1-9]\\d{5}', - 'example' => '77273012', - 'posLength' => [ - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ME extends PhoneMetadata +{ + protected const ID = 'ME'; + protected const COUNTRY_CODE = 382; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20|[3-79]\d)\d{6}|80\d{6,7}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:[07-9]\d|3[024]|6[0-25])\d{5}') + ->setExampleNumber('67622901') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:4[1568]|5[178])\d{5}') + ->setExampleNumber('94515151') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\d{5}') + ->setExampleNumber('30234567') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:[0-2578]|9\d)\d{5}') + ->setExampleNumber('80080002'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('78[1-49]\d{5}') + ->setExampleNumber('78108780') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('77[1-9]\d{5}') + ->setExampleNumber('77273012') + ->setPossibleLength([8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php index d2b41e8a3..931ba6a17 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MF.php @@ -1,4 +1,5 @@ 'MF', - 'countryCode' => 590, - 'generalDesc' => [ - 'pattern' => '590\\d{6}|(?:69|80|9\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}', - 'example' => '590271234', - ], - 'mobile' => [ - 'pattern' => '69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}', - 'example' => '690001234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}', - 'example' => '976012345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MF extends PhoneMetadata +{ + protected const ID = 'MF'; + protected const COUNTRY_CODE = 590; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:590\d|7090)\d{5}|(?:69|80|9\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:69(?:0\d\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\d)|6(?:1[016-9]|5[0-4]|[67]\d))|7090[0-4])\d{4}') + ->setExampleNumber('690001234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\d{4}') + ->setExampleNumber('590271234'); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:39[5-7]|76[018])\d|475[0-6])\d{4}') + ->setExampleNumber('976012345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php index 5bb7d0827..902b2ffda 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MG.php @@ -1,4 +1,5 @@ 'MG', - 'countryCode' => 261, - 'generalDesc' => [ - 'pattern' => '[23]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[356]|8[268]|9[245])\\d{5}', - 'example' => '202123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '3[2-47-9]\\d{7}', - 'example' => '321234567', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '22\\d{7}', - 'example' => '221234567', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '([24-9]\\d{6})$|0', - 'nationalPrefixTransformRule' => '20$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MG extends PhoneMetadata +{ + protected const ID = 'MG'; + protected const COUNTRY_CODE = 261; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '([24-9]\d{6})$|0'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '20$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[23]\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2-47-9]\d{7}') + ->setExampleNumber('321234567'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2072[29]\d{4}|20(?:2\d|4[47]|5[3467]|6[279]|7[356]|8[268]|9[2457])\d{5}') + ->setExampleNumber('202123456') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('22\d{7}') + ->setExampleNumber('221234567'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php index ddb8c43fd..974c7c3a2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MH.php @@ -1,4 +1,5 @@ 'MH', - 'countryCode' => 692, - 'generalDesc' => [ - 'pattern' => '329\\d{4}|(?:[256]\\d|45)\\d{5}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:247|528|625)\\d{4}', - 'example' => '2471234', - ], - 'mobile' => [ - 'pattern' => '(?:(?:23|54)5|329|45[35-8])\\d{4}', - 'example' => '2351234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '635\\d{4}', - 'example' => '6351234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-6]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MH extends PhoneMetadata +{ + protected const ID = 'MH'; + protected const COUNTRY_CODE = 692; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('329\d{4}|(?:[256]\d|45)\d{5}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:23|54)5|329|45[35-8])\d{4}') + ->setExampleNumber('2351234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:247|528|625)\d{4}') + ->setExampleNumber('2471234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-6]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('635\d{4}') + ->setExampleNumber('6351234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php index 99fb3067c..fa7f3dd46 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MK.php @@ -1,4 +1,5 @@ 'MK', - 'countryCode' => 389, - 'generalDesc' => [ - 'pattern' => '[2-578]\\d{7}', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}', - 'example' => '22012345', - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:3555|(?:474|9[019]7)7)\\d{3}|7(?:[0-25-8]\\d\\d|3(?:[1-48]\\d|6[01]|7[01578])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}', - 'example' => '72345678', - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '5\\d{7}', - 'example' => '50012345', - ], - 'sharedCost' => [ - 'pattern' => '8(?:0[1-9]|[1-9]\\d)\\d{5}', - 'example' => '80123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2|34[47]|4(?:[37]7|5[47]|64)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[347]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[58]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MK extends PhoneMetadata +{ + protected const ID = 'MK'; + protected const COUNTRY_CODE = 389; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-578]\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:3555|(?:474|9[019]7)7)\d{3}|7(?:[0-25-8]\d\d|3(?:[1-478]\d|6[01])|4(?:2\d|60|7[01578])|9(?:[2-4]\d|5[01]|7[015]))\d{4}') + ->setExampleNumber('72345678'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5\d{7}') + ->setExampleNumber('50012345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:2(?:62|77)0|3444)\d|4[56]440)\d{3}|(?:34|4[357])700\d{3}|(?:2(?:[0-3]\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\d{5}') + ->setExampleNumber('22012345') + ->setPossibleLengthLocalOnly([6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2|34[47]|4(?:[37]7|5[47]|64)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[347]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[58]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:0[1-9]|[1-9]\d)\d{5}') + ->setExampleNumber('80123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php index 4a550d729..e1a3f0e82 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ML.php @@ -1,4 +1,5 @@ 'ML', - 'countryCode' => 223, - 'generalDesc' => [ - 'pattern' => '[24-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}', - 'example' => '20212345', - ], - 'mobile' => [ - 'pattern' => '2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-49])\\d{6}', - 'example' => '65012345', - ], - 'tollFree' => [ - 'pattern' => '80\\d{6}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '80\\d{6}', - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '67[057-9]|74[045]', - '67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ML extends PhoneMetadata +{ + protected const ID = 'ML'; + protected const COUNTRY_CODE = 223; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[24-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0(?:01|79)|17\d)\d{4}|(?:5[0-3]|[679]\d|8[2-59])\d{6}') + ->setExampleNumber('65012345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:07[0-8]|12[67])\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-59]))\d{5}') + ->setExampleNumber('20212345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['67[057-9]|74[045]', '67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}') + ->setExampleNumber('80012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{6}'); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php index 1551a32fc..df7610a06 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MM.php @@ -1,4 +1,5 @@ 'MM', - 'countryCode' => 95, - 'generalDesc' => [ - 'pattern' => '1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:(?:12|[28]\\d|3[56]|7[3-6]|9[0-6])\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|[26]2|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5(?:2\\d|470))|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:3\\d\\d|4[67]0|8(?:[01459]\\d|8))))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|(?:[35]2|64)\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}', - 'example' => '1234567', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}', - 'example' => '92123456', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80080(?:0[1-9]|2\\d)\\d{3}', - 'example' => '8008001234', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '1333\\d{4}|[12]468\\d{4}', - 'example' => '13331234', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '16|2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[12]|452|678|86', - '[12]|452|6788|86', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[4-7]|8[1-35]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4,6})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9(?:2[0-4]|[35-9]|4[137-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '92', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{5})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MM extends PhoneMetadata +{ + protected const ID = 'MM'; + protected const COUNTRY_CODE = 95; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{5,7}|95\d{6}|(?:[4-7]|9[0-46-9])\d{6,8}|(?:2|8\d)\d{5,8}') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:17[01]|9(?:2(?:[0-4]|[56]\d\d)|(?:3(?:[0-36]|4\d)|(?:6\d|8[89]|9[4-8])\d|7(?:3|40|[5-9]\d))\d|4(?:(?:[0245]\d|[1379])\d|88)|5[0-6])\d)\d{4}|9[69]1\d{6}|9(?:[68]\d|9[089])\d{5}') + ->setExampleNumber('92123456') + ->setPossibleLength([7, 8, 9, 10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:(?:12|[28]\d|3[56]|7[3-6]|9[0-6])\d|4(?:2[29]|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\d|22|7[0-2]|83)|51\d\d)|4(?:2(?:2\d\d|48[013])|3(?:20\d|4(?:70|83)|56)|420\d|5(?:2\d|470))|6(?:0(?:[23]|88\d)|(?:124|[56]2\d)\d|2472|3(?:20\d|470)|4(?:2[04]\d|472)|7(?:3\d\d|4[67]0|8(?:[01459]\d|8))))\d{4}|5(?:2(?:2\d{5,6}|47[02]\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\d|6(?:20\d|483)|7(?:20\d|48[01])|8(?:20\d|47[02])|9(?:20\d|470))\d{4})|7(?:(?:0470|4(?:25\d|470)|5(?:202|470|96\d))\d{4}|1(?:20\d{4,5}|4(?:70|83)\d{4}))|8(?:1(?:2\d{5,6}|4(?:10|7[01]\d)\d{3})|2(?:2\d{5,6}|(?:320|490\d)\d{3})|(?:3(?:2\d\d|470)|4[24-7]|5(?:(?:2\d|51)\d|4(?:[1-35-9]\d|4[0-57-9]))|6[23])\d{4})|(?:1[2-6]\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|(?:[35]2|64)\d))\d{4}|25\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\d{4}') + ->setExampleNumber('1234567') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6, 7, 8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['16|2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[12]|452|678|86', '[12]|452|6788|86']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[4-7]|8[1-35]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4,6})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9(?:2[0-4]|[35-9]|4[137-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['92']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{5})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80080(?:0[1-9]|2\d)\d{3}') + ->setExampleNumber('8008001234') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1333\d{4}') + ->setExampleNumber('13331234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php index 5a356baa8..757659ff8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MN.php @@ -1,4 +1,5 @@ 'MN', - 'countryCode' => 976, - 'generalDesc' => [ - 'pattern' => '[12]\\d{7,9}|[5-9]\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '[12]2[1-3]\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\d\\d|7(?:0(?:[0-5]\\d|7[078]|80)|128))\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}', - 'example' => '53123456', - 'posLengthLocal' => [ - 4, - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:83[01]|92[039])\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\d{6}', - 'example' => '88123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '712[0-79]\\d{4}|7(?:1[013-9]|[25-9]\\d)\\d{5}', - 'example' => '75123456', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '001', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[12]1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[5-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[12]2[1-3]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[12](?:27|3[2-8]|4[2-68]|5[1-4689])', - '[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[12]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MN extends PhoneMetadata +{ + protected const ID = 'MN'; + protected const COUNTRY_CODE = 976; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '001'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d{7,9}|[5-9]\d{7}') + ->setPossibleLengthLocalOnly([4, 5, 6]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:83[01]|92[0139])\d{5}|(?:5[05]|6[069]|72|8[015689]|9[013-9])\d{6}') + ->setExampleNumber('88123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]2[1-3]\d{5,6}|(?:(?:[12](?:1|27)|5[368])\d\d|7(?:0(?:[0-5]\d|7[078]|80)|128))\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\d{6,7}') + ->setExampleNumber('53123456') + ->setPossibleLengthLocalOnly([4, 5, 6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[12]1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[5-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[12]2[1-3]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[12](?:27|3[2-8]|4[2-68]|5[1-4689])', '[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[12]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('712[0-79]\d{4}|7(?:1[013-9]|[5-9]\d)\d{5}') + ->setExampleNumber('75123456') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php index 2978a3a64..9028a890f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MO.php @@ -1,4 +1,5 @@ 'MO', - 'countryCode' => 853, - 'generalDesc' => [ - 'pattern' => '0800\\d{3}|(?:28|[68]\\d)\\d{6}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}', - 'example' => '28212345', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}', - 'example' => '66123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '0800\\d{3}', - 'example' => '0800501', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[268]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MO extends PhoneMetadata +{ + protected const ID = 'MO'; + protected const COUNTRY_CODE = 853; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{3}|(?:28|[68]\d)\d{6}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6800[0-79]\d{3}|6(?:[235]\d\d|6(?:0[0-5]|[1-9]\d)|8(?:0[1-9]|[14-8]\d|2[5-9]|[39][0-4]))\d{4}') + ->setExampleNumber('66123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:28[2-9]|8(?:11|[2-57-9]\d))\d{5}') + ->setExampleNumber('28212345') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[268]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{3}') + ->setExampleNumber('0800501') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php index 9efa1e7fa..ec1f2c40c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MP.php @@ -1,4 +1,5 @@ 'MP', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '[58]\\d{9}|(?:67|90)0\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', - 'example' => '6702345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', - 'example' => '6702345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '670$1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [], - 'leadingDigits' => '670', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MP extends PhoneMetadata +{ + protected const ID = 'MP'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '670'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '670$1'; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[58]\d{9}|(?:67|90)0\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\d{4}') + ->setExampleNumber('6702345678') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\d{4}') + ->setExampleNumber('6702345678') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php index e5ca6e1cc..e50ecbaa9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MQ.php @@ -1,4 +1,5 @@ 'MQ', - 'countryCode' => 596, - 'generalDesc' => [ - 'pattern' => '596\\d{6}|(?:69|80|9\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '596(?:[03-7]\\d|1[05]|2[7-9]|8[0-39]|9[04-9])\\d{4}', - 'example' => '596301234', - ], - 'mobile' => [ - 'pattern' => '69(?:6(?:[0-46-9]\\d|5[0-6])|727)\\d{4}', - 'example' => '696201234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:397[0-3]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}', - 'example' => '976612345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[569]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MQ extends PhoneMetadata +{ + protected const ID = 'MQ'; + protected const COUNTRY_CODE = 596; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:596\d|7091)\d{5}|(?:69|[89]\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:69[67]\d\d|7091[0-3])\d{4}') + ->setExampleNumber('696201234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[129]\d{7}') + ->setExampleNumber('810123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:596(?:[03-7]\d|1[05]|2[7-9]|8[0-39]|9[04-9])|80[6-9]\d\d|9(?:477[6-9]|767[4589]))\d{4}') + ->setExampleNumber('596301234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-79]|8(?:0[6-9]|[36])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:397[0-3]|477[0-5]|76(?:6\d|7[0-367]))\d{4}') + ->setExampleNumber('976612345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php index 0317720ff..b900278cd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MR.php @@ -1,4 +1,5 @@ 'MR', - 'countryCode' => 222, - 'generalDesc' => [ - 'pattern' => '(?:[2-4]\\d\\d|800)\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:25[08]|35\\d|45[1-7])\\d{5}', - 'example' => '35123456', - ], - 'mobile' => [ - 'pattern' => '[2-4][0-46-9]\\d{6}', - 'example' => '22123456', - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2-48]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MR extends PhoneMetadata +{ + protected const ID = 'MR'; + protected const COUNTRY_CODE = 222; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-4]\d\d|800)\d{5}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-4][0-46-9]\d{6}') + ->setExampleNumber('22123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:25[08]|35\d|45[1-7])\d{5}') + ->setExampleNumber('35123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2-48]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php index d2f26b0d2..f5aacffaa 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MS.php @@ -1,4 +1,5 @@ 'MS', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|664|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '6644(?:1[0-3]|91)\\d{4}', - 'example' => '6644912345', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '664(?:3(?:49|9[1-6])|49[2-6])\\d{4}', - 'example' => '6644923456', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([34]\\d{6})$|1', - 'nationalPrefixTransformRule' => '664$1', - 'numberFormat' => [], - 'leadingDigits' => '664', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MS extends PhoneMetadata +{ + protected const ID = 'MS'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '664'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([34]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '664$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|664|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('664(?:3(?:49|9[1-6])|49[2-6])\d{4}') + ->setExampleNumber('6644923456') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6644(?:1[0-3]|91)\d{4}') + ->setExampleNumber('6644912345') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php index de3e989ec..60b8efa5b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MT.php @@ -1,4 +1,5 @@ 'MT', - 'countryCode' => 356, - 'generalDesc' => [ - 'pattern' => '3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}', - 'example' => '21001234', - ], - 'mobile' => [ - 'pattern' => '(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}', - 'example' => '96961234', - ], - 'tollFree' => [ - 'pattern' => '800(?:02|[3467]\\d)\\d{3}', - 'example' => '80071234', - ], - 'premiumRate' => [ - 'pattern' => '5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}', - 'example' => '50037123', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '3550\\d{4}', - 'example' => '35501234', - ], - 'pager' => [ - 'pattern' => '7117\\d{4}', - 'example' => '71171234', - ], - 'uan' => [ - 'pattern' => '501\\d{5}', - 'example' => '50112345', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2357-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MT extends PhoneMetadata +{ + protected const ID = 'MT'; + protected const COUNTRY_CODE = 356; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3550\d{4}|(?:[2579]\d\d|800)\d{5}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7(?:210|[79]\d\d)|9(?:[29]\d\d|69[67]|8(?:1[1-3]|89|97)))\d{4}') + ->setExampleNumber('96961234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:0(?:0(?:37|43)|(?:6\d|70|9[0168])\d)|[12]\d0[1-5])\d{3}') + ->setExampleNumber('50037123'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:3[1-4]|6[059])\d{4}|2(?:0[19]|[1-357]\d|60)\d{5}') + ->setExampleNumber('21001234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2357-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800(?:02|[3467]\d)\d{3}') + ->setExampleNumber('80071234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3550\d{4}') + ->setExampleNumber('35501234'); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7117\d{4}') + ->setExampleNumber('71171234'); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('501\d{5}') + ->setExampleNumber('50112345'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php index 60906c082..4ee607cb2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MU.php @@ -1,4 +1,5 @@ 'MU', - 'countryCode' => 230, - 'generalDesc' => [ - 'pattern' => '(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}', - 'posLength' => [ - 7, - 8, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-8]|71)|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}', - 'example' => '54480123', - 'posLength' => [ - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-4]|3[013]))\\d{5}', - 'example' => '52512345', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '802\\d{7}|80[0-2]\\d{4}', - 'example' => '8001234', - 'posLength' => [ - 7, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '30\\d{5}', - 'example' => '3012345', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '3(?:20|9\\d)\\d{4}', - 'example' => '3201234', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0|[24-7]0|3[03])', - 'preferredInternationalPrefix' => '020', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-46]|8[013]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[57]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MU extends PhoneMetadata +{ + protected const ID = 'MU'; + protected const COUNTRY_CODE = 230; + + protected ?string $internationalPrefix = '0(?:0|[24-7]0|3[03])'; + protected ?string $preferredInternationalPrefix = '020'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[57]|8\d\d)\d{7}|[2-468]\d{6}') + ->setPossibleLength([7, 8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:4(?:2[1-389]|7[1-9])|87[15-8])\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\d|8[0-689]|9[0-8])|7(?:0[0-6]|3[013]))\d{5}') + ->setExampleNumber('52512345') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('30\d{5}') + ->setExampleNumber('3012345') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[0346-8]\d|1[0-8])|4(?:[013568]\d|2[4-8]|71|90)|54(?:[3-5]\d|71)|6\d\d|8(?:14|3[129]))\d{4}') + ->setExampleNumber('54480123') + ->setPossibleLength([7, 8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-46]|8[013]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[57]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('802\d{7}|80[0-2]\d{4}') + ->setExampleNumber('8001234') + ->setPossibleLength([7, 10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:20|9\d)\d{4}') + ->setExampleNumber('3201234') + ->setPossibleLength([7]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('219\d{4}') + ->setExampleNumber('2190123') + ->setPossibleLength([7]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php index 39c416b5a..820195da4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MV.php @@ -1,4 +1,5 @@ 'MV', - 'countryCode' => 960, - 'generalDesc' => [ - 'pattern' => '(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}', - 'posLength' => [ - 7, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}', - 'example' => '6701234', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:46[46]|[79]\\d\\d)\\d{4}', - 'example' => '7712345', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{7}', - 'example' => '9001234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '4(?:0[01]|50)\\d{4}', - 'example' => '4001234', - 'posLength' => [ - 7, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0|19)', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[34679]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MV extends PhoneMetadata +{ + protected const ID = 'MV'; + protected const COUNTRY_CODE = 960; + + protected ?string $internationalPrefix = '0(?:0|19)'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:800|9[0-57-9]\d)\d{7}|[34679]\d{6}') + ->setPossibleLength([7, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:46[46]|[79]\d\d)\d{4}') + ->setExampleNumber('7712345') + ->setPossibleLength([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{7}') + ->setExampleNumber('9001234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:0[0-4]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\d{4}') + ->setExampleNumber('6701234') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[34679]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:0[01]|50)\d{4}') + ->setExampleNumber('4001234') + ->setPossibleLength([7]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php index 3b41ca801..3db73e459 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MW.php @@ -1,4 +1,5 @@ 'MW', - 'countryCode' => 265, - 'generalDesc' => [ - 'pattern' => '(?:[1289]\\d|31|77)\\d{7}|1\\d{6}', - 'posLength' => [ - 7, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1[2-9]|2[12]\\d\\d)\\d{5}', - 'example' => '1234567', - ], - 'mobile' => [ - 'pattern' => '111\\d{6}|(?:31|77|[89][89])\\d{7}', - 'example' => '991234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[2-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[137-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MW extends PhoneMetadata +{ + protected const ID = 'MW'; + protected const COUNTRY_CODE = 265; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1289]\d|31|77)\d{7}|1\d{6}') + ->setPossibleLength([7, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('111\d{6}|(?:31|77|[89][89])\d{7}') + ->setExampleNumber('991234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[2-9]|2[12]\d\d)\d{5}') + ->setExampleNumber('1234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[2-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[137-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php index 2d95a799c..7871b7264 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MX.php @@ -1,4 +1,5 @@ 'MX', - 'countryCode' => 52, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{9}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '657[12]\\d{6}|(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}', - 'example' => '2001234567', - 'posLengthLocal' => [ - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '657[12]\\d{6}|(?:2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}', - 'example' => '2221234567', - 'posLengthLocal' => [ - 7, - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|88)\\d{7}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '900\\d{7}', - 'example' => '9001234567', - ], - 'sharedCost' => [ - 'pattern' => '300\\d{7}', - 'example' => '3001234567', - ], - 'personalNumber' => [ - 'pattern' => '500\\d{7}', - 'example' => '5001234567', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0[09]', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '53', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '33|5[56]|81', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '33|5[56]|81', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MX extends PhoneMetadata +{ + protected const ID = 'MX'; + protected const COUNTRY_CODE = 52; + + protected ?string $internationalPrefix = '0[09]'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{9}') + ->setPossibleLengthLocalOnly([7, 8]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:2\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\d|8[1-35-9]|9[2-689])|5(?:[56]\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-36-9]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\d|5[13-9]|8[1-69]|9[17])|8(?:1\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\d|7[12]|8[1-8]))\d{7}') + ->setExampleNumber('2221234567') + ->setPossibleLengthLocalOnly([7, 8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{7}') + ->setExampleNumber('9001234567'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:0[01]|2\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\d|8[1-35-9]|9[2-689])|5(?:[56]\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-36-9]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\d|5[13-9]|8[1-69]|9[17])|8(?:1\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\d|7[12]|8[1-8]))\d{7}') + ->setExampleNumber('2001234567') + ->setPossibleLengthLocalOnly([7, 8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['53']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['33|5[56]|81']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|88)\d{7}') + ->setExampleNumber('8001234567'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('300\d{7}') + ->setExampleNumber('3001234567'); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('500\d{7}') + ->setExampleNumber('5001234567'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['33|5[56]|81']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php index f54fcef8b..40a175add 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MY.php @@ -1,4 +1,5 @@ 'MY', - 'countryCode' => 60, - 'generalDesc' => [ - 'pattern' => '1\\d{8,9}|(?:3\\d|[4-9])\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '4270\\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}', - 'example' => '323856789', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-7]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}', - 'example' => '123456789', - 'posLength' => [ - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '1[378]00\\d{6}', - 'example' => '1300123456', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '1600\\d{6}', - 'example' => '1600123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}', - 'example' => '1546012345', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '[4-79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '1(?:[02469]|[378][1-9]|53)|8', - '1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3-$4', - 'leadingDigitsPatterns' => [ - '1(?:[367]|80)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '15', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MY extends PhoneMetadata +{ + protected const ID = 'MY'; + protected const COUNTRY_CODE = 60; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{8,9}|(?:3\d|[4-9])\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1888[689]|4400|8(?:47|8[27])[0-4])\d{4}|1(?:0(?:[23568]\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\d\d|6(?:0[5-9]|[1-9]\d)|7(?:[0-4]\d|5[0-7]))|(?:[269]\d|[37][1-9]|4[235-9])\d|5(?:31|9\d\d)|8(?:1[23]|[236]\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\d{5}') + ->setExampleNumber('123456789') + ->setPossibleLength([9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1600\d{6}') + ->setExampleNumber('1600123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('427[01]\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\d|9[0-57])\d|4(?:2[0-689]|[3-79]\d|8[1-35689])|5(?:2[0-589]|[3468]\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\d|[3489][0-8]))\d{5}') + ->setExampleNumber('323856789') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['[4-79]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['1(?:[02469]|[378][1-9]|53)|8', '1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{2})(\d{4})') + ->setFormat('$1-$2-$3-$4') + ->setLeadingDigitsPattern(['1(?:[367]|80)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['15']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[378]00\d{6}') + ->setExampleNumber('1300123456') + ->setPossibleLength([10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('15(?:4(?:6[0-4]\d|8(?:0[125]|[17]\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\d))\d{4}') + ->setExampleNumber('1546012345') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php index a51620f4a..def9524c9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_MZ.php @@ -1,4 +1,5 @@ 'MZ', - 'countryCode' => 258, - 'generalDesc' => [ - 'pattern' => '(?:2|8\\d)\\d{7}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}', - 'example' => '21123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '8[2-79]\\d{7}', - 'example' => '821234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2|8[2-79]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_MZ extends PhoneMetadata +{ + protected const ID = 'MZ'; + protected const COUNTRY_CODE = 258; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2|8\d)\d{7}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[2-79]\d{7}') + ->setExampleNumber('821234567') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[1346]\d|5[0-2]|[78][12]|93)\d{5}') + ->setExampleNumber('21123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2|8[2-79]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php index 65632ffa1..fc3a96cc8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NA.php @@ -1,4 +1,5 @@ 'NA', - 'countryCode' => 264, - 'generalDesc' => [ - 'pattern' => '[68]\\d{7,8}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}', - 'example' => '61221234', - ], - 'mobile' => [ - 'pattern' => '(?:60|8[1245])\\d{7}', - 'example' => '811234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{7}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '8701\\d{5}', - 'example' => '870123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '8(?:3\\d\\d|86)\\d{5}', - 'example' => '88612345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '88', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '87', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NA extends PhoneMetadata +{ + protected const ID = 'NA'; + protected const COUNTRY_CODE = 264; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[68]\d{7,8}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:60|8[1245])\d{7}') + ->setExampleNumber('811234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8701\d{5}') + ->setExampleNumber('870123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('64426\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\d{4,5}|6(?:1(?:(?:0\d|2[0189]|3[24-69]|4[5-9])\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\d{4}') + ->setExampleNumber('61221234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['88']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['87']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{7}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:3\d\d|86)\d{5}') + ->setExampleNumber('88612345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php index 91a58ace9..e070ce5ad 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NC.php @@ -1,4 +1,5 @@ 'NC', - 'countryCode' => 687, - 'generalDesc' => [ - 'pattern' => '(?:050|[2-57-9]\\d\\d)\\d{3}', - 'posLength' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}', - 'example' => '201234', - ], - 'mobile' => [ - 'pattern' => '(?:5[0-4]|[79]\\d|8[0-79])\\d{4}', - 'example' => '751234', - ], - 'tollFree' => [ - 'pattern' => '050\\d{3}', - 'example' => '050012', - ], - 'premiumRate' => [ - 'pattern' => '36\\d{4}', - 'example' => '366711', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '5[6-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1.$2.$3', - 'leadingDigitsPatterns' => [ - '[02-57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1.$2.$3', - 'leadingDigitsPatterns' => [ - '[02-57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NC extends PhoneMetadata +{ + protected const ID = 'NC'; + protected const COUNTRY_CODE = 687; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:050|[2-57-9]\d\d)\d{3}') + ->setPossibleLength([6]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[579]\d|8[0-79])\d{4}') + ->setExampleNumber('751234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('36\d{4}') + ->setExampleNumber('366711'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[03-9]|3[0-5]|4[1-7]|88)\d{4}') + ->setExampleNumber('201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['5[6-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1.$2.$3') + ->setLeadingDigitsPattern(['[02-57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('050\d{3}') + ->setExampleNumber('050012'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1.$2.$3') + ->setLeadingDigitsPattern(['[02-57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php index 11ccb0052..26c93cbad 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NE.php @@ -1,4 +1,5 @@ 'NE', - 'countryCode' => 227, - 'generalDesc' => [ - 'pattern' => '[027-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}', - 'example' => '20201234', - ], - 'mobile' => [ - 'pattern' => '(?:23|7[0467]|[89]\\d)\\d{6}', - 'example' => '93123456', - ], - 'tollFree' => [ - 'pattern' => '08\\d{6}', - 'example' => '08123456', - ], - 'premiumRate' => [ - 'pattern' => '09\\d{6}', - 'example' => '09123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '08', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[089]|2[013]|7[0467]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NE extends PhoneMetadata +{ + protected const ID = 'NE'; + protected const COUNTRY_CODE = 227; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[027-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:23|7[0467]|[89]\d)\d{6}') + ->setExampleNumber('93123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('09\d{6}') + ->setExampleNumber('09123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\d{4}') + ->setExampleNumber('20201234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['08']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[089]|2[013]|7[0467]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('08\d{6}') + ->setExampleNumber('08123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php index 34c8832d8..bb561add0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NF.php @@ -1,4 +1,5 @@ 'NF', - 'countryCode' => 672, - 'generalDesc' => [ - 'pattern' => '[13]\\d{5}', - 'posLength' => [ - 6, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}', - 'example' => '106609', - 'posLengthLocal' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:14|3[58])\\d{4}', - 'example' => '381234', - 'posLengthLocal' => [ - 5, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '([0-258]\\d{4})$', - 'nationalPrefixTransformRule' => '3$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1[0-3]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[13]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NF extends PhoneMetadata +{ + protected const ID = 'NF'; + protected const COUNTRY_CODE = 672; + + protected ?string $nationalPrefixForParsing = '([0-258]\d{4})$'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '3$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[13]\d{5}') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:14|3[58])\d{4}') + ->setExampleNumber('381234') + ->setPossibleLengthLocalOnly([5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:06|17|28|39)|3[0-2]\d)\d{3}') + ->setExampleNumber('106609') + ->setPossibleLengthLocalOnly([5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1[0-3]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[13]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php index 1b25adace..fec342623 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NG.php @@ -1,4 +1,5 @@ 'NG', - 'countryCode' => 234, - 'generalDesc' => [ - 'pattern' => '38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}', - 'posLength' => [ - 8, - 10, - 11, - 12, - 13, - 14, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:20(?:[1259]\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])|38)\\d{6}', - 'example' => '2033123456', - 'posLength' => [ - 8, - 10, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:702[0-24-9]|819[01])\\d{6}|(?:7(?:0[13-9]|[12]\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\d{7}', - 'example' => '8021234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7,11}', - 'example' => '80017591759', - 'posLength' => [ - 10, - 11, - 12, - 13, - 14, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '700\\d{7,11}', - 'example' => '7001234567', - 'posLength' => [ - 10, - 11, - 12, - 13, - 14, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '009', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[7-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '20[129]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[78]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})(\\d{5,6})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[78]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NG extends PhoneMetadata +{ + protected const ID = 'NG'; + protected const COUNTRY_CODE = 234; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '009'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20|9\d)\d{8}|[78]\d{9,13}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([10, 11, 12, 13, 14]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:702[0-24-9]|819[01])\d{6}|(?:7(?:0[13-9]|[12]\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\d{7}') + ->setExampleNumber('8021234567') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:[1259]\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])\d{6}') + ->setExampleNumber('2033123456') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[7-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['20[129]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4,5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[78]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})(\d{5,6})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[78]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7,11}') + ->setExampleNumber('80017591759'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('700\d{7,11}') + ->setExampleNumber('7001234567'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php index b29b94977..957fbcee6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NI.php @@ -1,4 +1,5 @@ 'NI', - 'countryCode' => 505, - 'generalDesc' => [ - 'pattern' => '(?:1800|[25-8]\\d{3})\\d{4}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2\\d{7}', - 'example' => '21234567', - ], - 'mobile' => [ - 'pattern' => '(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}', - 'example' => '81234567', - ], - 'tollFree' => [ - 'pattern' => '1800\\d{4}', - 'example' => '18001234', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[125-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NI extends PhoneMetadata +{ + protected const ID = 'NI'; + protected const COUNTRY_CODE = 505; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1800|[25-8]\d{3})\d{4}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5(?:5[0-7]|[78]\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\d)\d)\d{5}') + ->setExampleNumber('81234567'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{7}') + ->setExampleNumber('21234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[125-8]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{4}') + ->setExampleNumber('18001234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php index 49071beff..918347362 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NL.php @@ -1,4 +1,5 @@ 'NL', - 'countryCode' => 31, - 'generalDesc' => [ - 'pattern' => '(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}', - 'example' => '101234567', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:6[1-58]|970\\d)\\d{7}', - 'example' => '612345678', - 'posLength' => [ - 9, - 11, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4,7}', - 'example' => '8001234', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '90[069]\\d{4,7}', - 'example' => '9061234', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:85|91)\\d{7}', - 'example' => '851234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'pattern' => '66\\d{7}', - 'example' => '662345678', - 'posLength' => [ - 9, - ], - ], - 'uan' => [ - 'pattern' => '140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d', - 'example' => '14020', - 'posLength' => [ - 5, - 6, - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d', - 'posLength' => [ - 5, - 6, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1[238]|[34]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '14', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '66', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[16-8]|2[259]|3[124]|4[17-9]|5[124679]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-578]|91', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '66', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[16-8]|2[259]|3[124]|4[17-9]|5[124679]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-578]|91', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NL extends PhoneMetadata +{ + protected const ID = 'NL'; + protected const COUNTRY_CODE = 31; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[124-7]\d\d|3(?:[02-9]\d|1[0-8]))\d{6}|8\d{6,9}|9\d{6,10}|1\d{4,5}') + ->setPossibleLength([5, 6, 7, 8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6[1-58]|970\d)\d{7}') + ->setExampleNumber('612345678') + ->setPossibleLength([9, 11]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[069]\d{4,7}') + ->setExampleNumber('9061234') + ->setPossibleLength([7, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:[035]\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\d\d)\d{6}') + ->setExampleNumber('101234567') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1[238]|[34]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['14']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['66']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[16-8]|2[259]|3[124]|4[17-9]|5[124679]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-578]|91']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4,7}') + ->setExampleNumber('8001234') + ->setPossibleLength([7, 8, 9, 10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:85|91)\d{7}') + ->setExampleNumber('851234567') + ->setPossibleLength([9]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('66\d{7}') + ->setExampleNumber('662345678') + ->setPossibleLength([9]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\d{6})\d') + ->setExampleNumber('14020') + ->setPossibleLength([5, 6, 9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\d') + ->setPossibleLength([5, 6]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['66']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[16-8]|2[259]|3[124]|4[17-9]|5[124679]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-578]|91']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php index 35c169d7b..34caf2693 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NO.php @@ -1,4 +1,5 @@ 'NO', - 'countryCode' => 47, - 'generalDesc' => [ - 'pattern' => '(?:0|[2-9]\\d{3})\\d{4}', - 'posLength' => [ - 5, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}', - 'example' => '21234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:4[015-8]|9\\d)\\d{6}', - 'example' => '40612345', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80[01]\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '82[09]\\d{5}', - 'example' => '82012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '810(?:0[0-6]|[2-8]\\d)\\d{3}', - 'example' => '81021234', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'pattern' => '880\\d{5}', - 'example' => '88012345', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'pattern' => '85[0-5]\\d{5}', - 'example' => '85012345', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', - 'example' => '02000', - ], - 'voicemail' => [ - 'pattern' => '81[23]\\d{5}', - 'example' => '81212345', - 'posLength' => [ - 8, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2-79]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'leadingDigits' => '[02-689]|7[0-8]', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NO extends PhoneMetadata +{ + protected const ID = 'NO'; + protected const COUNTRY_CODE = 47; + protected const LEADING_DIGITS = '[02-689]|7[0-8]'; + + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0|[2-9]\d{3})\d{4}') + ->setPossibleLength([5, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4[015-8]|9\d)\d{6}') + ->setExampleNumber('40612345') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('82[09]\d{5}') + ->setExampleNumber('82012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\d{6}') + ->setExampleNumber('21234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[2-79]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[01]\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('810(?:0[0-6]|[2-8]\d)\d{3}') + ->setExampleNumber('81021234') + ->setPossibleLength([8]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('880\d{5}') + ->setExampleNumber('88012345') + ->setPossibleLength([8]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('85[0-5]\d{5}') + ->setExampleNumber('85012345') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0[235-9]|81(?:0(?:0[7-9]|1\d)|5\d\d))\d{3}') + ->setExampleNumber('02000'); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81[23]\d{5}') + ->setExampleNumber('81212345') + ->setPossibleLength([8]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php index ea4e8f032..5360590f6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NP.php @@ -1,4 +1,5 @@ 'NP', - 'countryCode' => 977, - 'generalDesc' => [ - 'pattern' => '(?:1\\d|9)\\d{9}|[1-9]\\d{7}', - 'posLength' => [ - 8, - 10, - 11, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}', - 'example' => '14567890', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9(?:00|6[0-3]|7[024-6]|8[0-24-68])\\d{7}', - 'example' => '9841234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:66001|800\\d\\d)\\d{5}', - 'example' => '16600101234', - 'posLength' => [ - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1[01]|[2-8]|9(?:[1-59]|[67][2-6])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1[2-6]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '1[01]|[2-8]|9(?:[1-59]|[67][2-6])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NP extends PhoneMetadata +{ + protected const ID = 'NP'; + protected const COUNTRY_CODE = 977; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1\d|9)\d{9}|[1-9]\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:00|6[0-3]|7[024-6]|8[0-24-68])\d{7}') + ->setExampleNumber('9841234567') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[0-6]\d|99[02-6])\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\d{5}') + ->setExampleNumber('14567890') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1[01]|[2-8]|9(?:[1-59]|[67][2-6])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{5})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:66001|800\d\d)\d{5}') + ->setExampleNumber('16600101234') + ->setPossibleLength([11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1[2-6]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['1[01]|[2-8]|9(?:[1-59]|[67][2-6])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php index 9cc854b13..3eb4f3172 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NR.php @@ -1,4 +1,5 @@ 'NR', - 'countryCode' => 674, - 'generalDesc' => [ - 'pattern' => '(?:444|(?:55|8\\d)\\d|666)\\d{4}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '444\\d{4}', - 'example' => '4441234', - ], - 'mobile' => [ - 'pattern' => '(?:55[3-9]|666|8\\d\\d)\\d{4}', - 'example' => '5551234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[4-68]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NR extends PhoneMetadata +{ + protected const ID = 'NR'; + protected const COUNTRY_CODE = 674; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:222|444|(?:55|8\d)\d|666|777|999)\d{4}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:222|55[3-9]|666|777|8\d\d|999)\d{4}') + ->setExampleNumber('5551234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('444\d{4}') + ->setExampleNumber('4441234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[24-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php index 8b13a3782..e5f19d906 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NU.php @@ -1,4 +1,5 @@ 'NU', - 'countryCode' => 683, - 'generalDesc' => [ - 'pattern' => '(?:[4-7]|888\\d)\\d{3}', - 'posLength' => [ - 4, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '[47]\\d{3}', - 'example' => '7012', - 'posLength' => [ - 4, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[56]|888[1-9])\\d{3}', - 'example' => '8884012', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NU extends PhoneMetadata +{ + protected const ID = 'NU'; + protected const COUNTRY_CODE = 683; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[4-7]|888\d)\d{3}') + ->setPossibleLength([4, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[56]|888[1-9])\d{3}') + ->setExampleNumber('8884012'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[47]\d{3}') + ->setExampleNumber('7012') + ->setPossibleLength([4]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php index de1076159..385d6288e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_NZ.php @@ -1,4 +1,5 @@ 'NZ', - 'countryCode' => 64, - 'generalDesc' => [ - 'pattern' => '[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '240\\d{5}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}', - 'example' => '32345678', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '2(?:[0-27-9]\\d|6)\\d{6,7}|2(?:1\\d|75)\\d{5}', - 'example' => '211234567', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '508\\d{6,7}|80\\d{6,8}', - 'example' => '800123456', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:1[13-57-9]\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}', - 'example' => '900123456', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{7}', - 'example' => '701234567', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '8(?:1[16-9]|22|3\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\d{2,7}', - 'example' => '83012378', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0|161)', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8[1-79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '50[036-8]|8|90', - '50(?:[0367]|88)|8|90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '24|[346]|7[2-57-9]|9[2-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2(?:10|74)|[589]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1|2[028]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2(?:[169]|7[0-35-9])|7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_NZ extends PhoneMetadata +{ + protected const ID = 'NZ'; + protected const COUNTRY_CODE = 64; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '0(?:0|161)'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1289]\d{9}|50\d{5}(?:\d{2,3})?|[27-9]\d{7,8}|(?:[34]\d|6[0-35-9])\d{6}|8\d{4,6}') + ->setPossibleLength([5, 6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[0-27-9]\d|6)\d{6,7}|2(?:1\d|75)\d{5}') + ->setExampleNumber('211234567') + ->setPossibleLength([8, 9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[13-57-9]\d{5}|50(?:0[08]|30|66|77|88))\d{3}|90\d{6,8}') + ->setExampleNumber('900123456') + ->setPossibleLength([7, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('240\d{5}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\d{6}') + ->setExampleNumber('32345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8[1-79]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['50[036-8]|8|90', '50(?:[0367]|88)|8|90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['24|[346]|7[2-57-9]|9[2-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2(?:10|74)|[589]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1|2[028]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2(?:[169]|7[0-35-9])|7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('508\d{6,7}|80\d{6,8}') + ->setExampleNumber('800123456') + ->setPossibleLength([8, 9, 10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{7}') + ->setExampleNumber('701234567') + ->setPossibleLength([9]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:1[16-9]|22|3\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\d{2,7}') + ->setExampleNumber('83012378'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php index 780273aa4..200037077 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_OM.php @@ -1,4 +1,5 @@ 'OM', - 'countryCode' => 968, - 'generalDesc' => [ - 'pattern' => '(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[1-6]\\d{6}', - 'example' => '23123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:1505|90[1-9]\\d)\\d{4}|(?:7[126-9]|9[1-9])\\d{6}', - 'example' => '92123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '8007\\d{4,5}|(?:500|800[05])\\d{4}', - 'example' => '80071234', - ], - 'premiumRate' => [ - 'pattern' => '900\\d{5}', - 'example' => '90012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[58]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[179]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_OM extends PhoneMetadata +{ + protected const ID = 'OM'; + protected const COUNTRY_CODE = 968; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1505|[279]\d{3}|500)\d{4}|800\d{5,6}') + ->setPossibleLength([7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1505|90[1-9]\d)\d{4}|(?:7[126-9]|9[1-9])\d{6}') + ->setExampleNumber('92123456') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{5}') + ->setExampleNumber('90012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[1-6]\d{6}') + ->setExampleNumber('23123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[58]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[179]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8007\d{4,5}|(?:500|800[05])\d{4}') + ->setExampleNumber('80071234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php index ad0b7e23b..1cc8b2c32 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PA.php @@ -1,4 +1,5 @@ 'PA', - 'countryCode' => 507, - 'generalDesc' => [ - 'pattern' => '(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}', - 'posLength' => [ - 7, - 8, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[07-9]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}', - 'example' => '2001234', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}', - 'example' => '61234567', - 'posLength' => [ - 7, - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4,5}|(?:00800|800\\d)\\d{6}', - 'example' => '8001234', - ], - 'premiumRate' => [ - 'pattern' => '(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}', - 'example' => '8601234', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[1-57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[68]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PA extends PhoneMetadata +{ + protected const ID = 'PA'; + protected const COUNTRY_CODE = 507; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:00800|8\d{3})\d{6}|[68]\d{7}|[1-57-9]\d{6}') + ->setPossibleLength([7, 8, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[16]1|21[89]|6\d{3}|8(?:1[01]|7[23]))\d{4}') + ->setExampleNumber('61234567') + ->setPossibleLength([7, 8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\d{4}') + ->setExampleNumber('8601234') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:0\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\d|1[0-7]|4[013-9]|8[02-9])|3(?:[047-9]\d|1[0-8]|2[0-5]|33|5[0-35]|6[068])|4(?:00|3[0-579]|4\d|7[0-57-9])|5(?:[01]\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\d))\d{4}') + ->setExampleNumber('2001234') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[1-57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[68]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4,5}|(?:00800|800\d)\d{6}') + ->setExampleNumber('8001234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php index 8ac9a48b8..f183a719d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PE.php @@ -1,4 +1,5 @@ 'PE', - 'countryCode' => 51, - 'generalDesc' => [ - 'pattern' => '(?:[14-8]|9\\d)\\d{7}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:(?:4[34]|5[14])[0-8]|687)\\d|7(?:173|(?:3[0-8]|55)\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[0569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}', - 'example' => '11234567', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9\\d{8}', - 'example' => '912345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '805\\d{5}', - 'example' => '80512345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '801\\d{5}', - 'example' => '80112345', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'pattern' => '80[24]\\d{5}', - 'example' => '80212345', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|19(?:1[124]|77|90)00', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'preferredExtnPrefix' => ' Anexo ', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[4-8]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PE extends PhoneMetadata +{ + protected const ID = 'PE'; + protected const COUNTRY_CODE = 51; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00|19(?:1[124]|77|90)00'; + protected ?string $preferredInternationalPrefix = '00'; + protected ?string $preferredExtnPrefix = ' Anexo '; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[14-8]|9\d)\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d{8}') + ->setExampleNumber('912345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('805\d{5}') + ->setExampleNumber('80512345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:(?:4[34]|5[14])[0-8]|687)\d|7(?:173|(?:3[0-8]|55)\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[0569]|[56]0)))\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\d{6}') + ->setExampleNumber('11234567') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[4-8]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('801\d{5}') + ->setExampleNumber('80112345') + ->setPossibleLength([8]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[24]\d{5}') + ->setExampleNumber('80212345') + ->setPossibleLength([8]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php index 9ed313699..d6fc906e7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PF.php @@ -1,4 +1,5 @@ 'PF', - 'countryCode' => 689, - 'generalDesc' => [ - 'pattern' => '4\\d{5}(?:\\d{2})?|8\\d{7,8}', - 'posLength' => [ - 6, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '4(?:0[4-689]|9[4-68])\\d{5}', - 'example' => '40412345', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '8[7-9]\\d{6}', - 'example' => '87123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '499\\d{5}', - 'example' => '49901234', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '44\\d{4}', - 'example' => '440123', - 'posLength' => [ - 6, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '44\\d{4}', - 'posLength' => [ - 6, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '44', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '4|8[7-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PF extends PhoneMetadata +{ + protected const ID = 'PF'; + protected const COUNTRY_CODE = 689; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4\d{5}(?:\d{2})?|8\d{7,8}') + ->setPossibleLength([6, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[7-9]\d{6}') + ->setExampleNumber('87123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:0[4-689]|9[4-68])\d{5}') + ->setExampleNumber('40412345') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['44']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['4|8[7-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('499\d{5}') + ->setExampleNumber('49901234') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('44\d{4}') + ->setExampleNumber('440123') + ->setPossibleLength([6]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('44\d{4}') + ->setPossibleLength([6]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php index 3f2d80714..7216780ec 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PG.php @@ -1,4 +1,5 @@ 'PG', - 'countryCode' => 675, - 'generalDesc' => [ - 'pattern' => '(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}', - 'example' => '3123456', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:7\\d|8[1-38])\\d{6}', - 'example' => '70123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '180\\d{4}', - 'example' => '1801234', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '2(?:0[0-57]|7[568])\\d{4}', - 'example' => '2751234', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'pattern' => '27[01]\\d{4}', - 'example' => '2700123', - 'posLength' => [ - 7, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|140[1-3]', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '18|[2-69]|85', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[78]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PG extends PhoneMetadata +{ + protected const ID = 'PG'; + protected const COUNTRY_CODE = 675; + + protected ?string $internationalPrefix = '00|140[1-3]'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:180|[78]\d{3})\d{4}|(?:[2-589]\d|64)\d{5}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7\d|8[1-38])\d{6}') + ->setExampleNumber('70123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:3[0-2]|4[257]|5[34]|9[78])\d|64[1-9]|85[02-46-9])\d{4}') + ->setExampleNumber('3123456') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['18|[2-69]|85']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[78]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('180\d{4}') + ->setExampleNumber('1801234') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0[0-57]|7[568])\d{4}') + ->setExampleNumber('2751234') + ->setPossibleLength([7]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('27[01]\d{4}') + ->setExampleNumber('2700123') + ->setPossibleLength([7]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php index 554c428d8..6d44ea3f7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PH.php @@ -1,4 +1,5 @@ 'PH', - 'countryCode' => 63, - 'generalDesc' => [ - 'pattern' => '(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}', - 'posLength' => [ - 6, - 8, - 9, - 10, - 11, - 12, - 13, - ], - 'posLengthLocal' => [ - 4, - 5, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}', - 'example' => '232345678', - 'posLength' => [ - 6, - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 4, - 5, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}', - 'example' => '9051234567', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{7,9}', - 'example' => '180012345678', - 'posLength' => [ - 11, - 12, - 13, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2', - '3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '346|4(?:27|9[35])|883', - '3469|4(?:279|9(?:30|56))|8834', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-7]|8[2-8]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PH extends PhoneMetadata +{ + protected const ID = 'PH'; + protected const COUNTRY_CODE = 63; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-7]|9\d)\d{8}|2\d{5}|(?:1800|8)\d{7,9}') + ->setPossibleLengthLocalOnly([4, 5, 7]) + ->setPossibleLength([6, 8, 9, 10, 11, 12, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\d|4[2-9]|8[135-9]|9[1-9]))\d{7}') + ->setExampleNumber('9051234567') + ->setPossibleLength([10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\d{3}|88(?:22\d\d|42))\d{4}|(?:2|8[2-8]\d\d)\d{5}') + ->setExampleNumber('232345678') + ->setPossibleLengthLocalOnly([4, 5, 7]) + ->setPossibleLength([6, 8, 9, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2', + '3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))', + ]) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['346|4(?:27|9[35])|883', '3469|4(?:279|9(?:30|56))|8834']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-7]|8[2-8]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{1,2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{7,9}') + ->setExampleNumber('180012345678') + ->setPossibleLength([11, 12, 13]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php index fbbd61bca..59901584b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PK.php @@ -1,4 +1,5 @@ 'PK', - 'countryCode' => 92, - 'generalDesc' => [ - 'pattern' => '122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}', - 'example' => '2123456789', - 'posLength' => [ - 9, - 10, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - 8, - ], - ], - 'mobile' => [ - 'pattern' => '3(?:[0-247]\\d|3[0-79]|55|64)\\d{7}', - 'example' => '3012345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}(?:\\d{3})?', - 'example' => '80012345', - 'posLength' => [ - 8, - 11, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{5}', - 'example' => '90012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '122\\d{6}', - 'example' => '122044444', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}', - 'example' => '21111825888', - 'posLength' => [ - 11, - 12, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])', - '9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '58', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PK extends PhoneMetadata +{ + protected const ID = 'PK'; + protected const COUNTRY_CODE = 92; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('122\d{6}|[24-8]\d{10,11}|9(?:[013-9]\d{8,10}|2(?:[01]\d\d|2(?:[06-8]\d|1[01]))\d{7})|(?:[2-8]\d{3}|92(?:[0-7]\d|8[1-9]))\d{6}|[24-9]\d{8}|[89]\d{7}') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:[0-247]\d|3[0-79]|55|64)\d{7}') + ->setExampleNumber('3012345678') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{5}') + ->setExampleNumber('90012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:21|42)[2-9]|58[126])\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\d{5,6}') + ->setExampleNumber('2123456789') + ->setPossibleLengthLocalOnly([5, 6, 7, 8]) + ->setPossibleLength([9, 10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2,7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])', + '9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]', + ]) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7,8})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['58']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}(?:\d{3})?') + ->setExampleNumber('80012345') + ->setPossibleLength([8, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('122\d{6}') + ->setExampleNumber('122044444') + ->setPossibleLength([9]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\d{6}') + ->setExampleNumber('21111825888') + ->setPossibleLength([11, 12]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php index 658fd2517..54c9533dc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PL.php @@ -1,4 +1,5 @@ 'PL', - 'countryCode' => 48, - 'generalDesc' => [ - 'pattern' => '(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '47\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))', - 'example' => '123456789', - 'posLength' => [ - 7, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '21(?:1[013-5]|2\\d)\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}', - 'example' => '512345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6,7}', - 'example' => '800123456', - 'posLength' => [ - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '70[01346-8]\\d{6}', - 'example' => '701234567', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '801\\d{6}', - 'example' => '801234567', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '39\\d{7}', - 'example' => '391234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'pattern' => '64\\d{4,7}', - 'example' => '641234567', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'uan' => [ - 'pattern' => '804\\d{6}', - 'example' => '804123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '19', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '11|20|64', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1', - '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '64', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[2-8]|[2-7]|8[1-79]|9[145]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PL extends PhoneMetadata +{ + protected const ID = 'PL'; + protected const COUNTRY_CODE = 48; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6|8\d\d)\d{7}|[1-9]\d{6}(?:\d{2})?|[26]\d{5}') + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2131[89]\d{4}|21(?:1[013-5]|2\d|3[2-9])\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\d{7}') + ->setExampleNumber('512345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70[01346-8]\d{6}') + ->setExampleNumber('701234567') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('47\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\d{6}|1(?:[0-8]\d{5}|9\d{3}(?:\d{2})?))') + ->setExampleNumber('123456789') + ->setPossibleLength([7, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['19']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['11|20|64']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1', + '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19', + ]) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['64']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[2-8]|[2-7]|8[1-79]|9[145]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6,7}') + ->setExampleNumber('800123456') + ->setPossibleLength([9, 10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('801\d{6}') + ->setExampleNumber('801234567') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('39\d{7}') + ->setExampleNumber('391234567') + ->setPossibleLength([9]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('64\d{4,7}') + ->setExampleNumber('641234567') + ->setPossibleLength([6, 7, 8, 9]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('804\d{6}') + ->setExampleNumber('804123456') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php index 95833d282..2004f21d3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PM.php @@ -1,4 +1,5 @@ 'PM', - 'countryCode' => 508, - 'generalDesc' => [ - 'pattern' => '[45]\\d{5}|(?:708|80\\d)\\d{6}', - 'posLength' => [ - 6, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:4[1-35-7]|5[01])\\d{4}', - 'example' => '430123', - 'posLength' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:4[02-4]|5[056]|708[45][0-5])\\d{4}', - 'example' => '551234', - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[45]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PM extends PhoneMetadata +{ + protected const ID = 'PM'; + protected const COUNTRY_CODE = 508; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[45]\d{5}|(?:708|8\d\d)\d{6}') + ->setPossibleLength([6, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4[02-489]|5[02-9]|708(?:4[0-5]|5[0-6]))\d{4}') + ->setExampleNumber('551234'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[129]\d{7}') + ->setExampleNumber('810123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4[1-35-9]|5[0-47-9]|80[6-9]\d\d)\d{4}') + ->setExampleNumber('430123'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[45]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php index f55b6203f..304774449 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PR.php @@ -1,4 +1,5 @@ 'PR', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[589]\\d\\d|787)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:787|939)[2-9]\\d{6}', - 'example' => '7872345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:787|939)[2-9]\\d{6}', - 'example' => '7872345678', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [], - 'leadingDigits' => '787|939', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PR extends PhoneMetadata +{ + protected const ID = 'PR'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '787|939'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + protected bool $mobileNumberPortableRegion = true; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[589]\d\d|787)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:787|939)[2-9]\d{6}') + ->setExampleNumber('7872345678') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:787|939)[2-9]\d{6}') + ->setExampleNumber('7872345678') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php index e523feaa8..ce793021f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PS.php @@ -1,4 +1,5 @@ 'PS', - 'countryCode' => 970, - 'generalDesc' => [ - 'pattern' => '[2489]2\\d{6}|(?:1\\d|5)\\d{8}', - 'posLength' => [ - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}', - 'example' => '22234567', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '5[69]\\d{7}', - 'example' => '599123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{6}', - 'example' => '1800123456', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'pattern' => '1700\\d{6}', - 'example' => '1700123456', - 'posLength' => [ - 10, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2489]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PS extends PhoneMetadata +{ + protected const ID = 'PS'; + protected const COUNTRY_CODE = 970; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2489]2\d{6}|(?:1\d|5)\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[69]\d{7}') + ->setExampleNumber('599123456') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\d{5}') + ->setExampleNumber('22234567') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2489]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{6}') + ->setExampleNumber('1800123456') + ->setPossibleLength([10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1700\d{6}') + ->setExampleNumber('1700123456') + ->setPossibleLength([10]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php index 536bead9e..ba26d53e3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PT.php @@ -1,4 +1,5 @@ 'PT', - 'countryCode' => 351, - 'generalDesc' => [ - 'pattern' => '1693\\d{5}|(?:[26-9]\\d|30)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}', - 'example' => '212345678', - ], - 'mobile' => [ - 'pattern' => '6(?:[06]92(?:30|9\\d)|[35]92(?:[049]\\d|3[034]))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}', - 'example' => '912345678', - ], - 'tollFree' => [ - 'pattern' => '80[02]\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}', - 'example' => '760123456', - ], - 'sharedCost' => [ - 'pattern' => '80(?:8\\d|9[1579])\\d{5}', - 'example' => '808123456', - ], - 'personalNumber' => [ - 'pattern' => '884[0-4689]\\d{5}', - 'example' => '884123456', - ], - 'voip' => [ - 'pattern' => '30\\d{7}', - 'example' => '301234567', - ], - 'pager' => [ - 'pattern' => '6(?:222\\d|8988)\\d{4}', - 'example' => '622212345', - ], - 'uan' => [ - 'pattern' => '70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}', - 'example' => '707123456', - ], - 'voicemail' => [ - 'pattern' => '600\\d{6}|6[06]92(?:0\\d|3[349]|49)\\d{3}', - 'example' => '600110000', - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[12]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '16|[236-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PT extends PhoneMetadata +{ + protected const ID = 'PT'; + protected const COUNTRY_CODE = 351; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1693\d{5}|(?:[26-9]\d|30)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:[06]92(?:30|9\d)|[35]92(?:[049]\d|3[034]))\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\d\d|480))\d{5}') + ->setExampleNumber('912345678'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6(?:0[178]|4[68])\d|76(?:0[1-57]|1[2-47]|2[237]))\d{5}') + ->setExampleNumber('760123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[12]\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\d{6}') + ->setExampleNumber('212345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[12]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['16|[236-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[02]\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:8\d|9[1579])\d{5}') + ->setExampleNumber('808123456'); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('884[0-4689]\d{5}') + ->setExampleNumber('884123456'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('30\d{7}') + ->setExampleNumber('301234567'); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:222\d|89(?:00|88|99))\d{4}') + ->setExampleNumber('622212345'); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70(?:38[01]|596|(?:7\d|8[17])\d)\d{4}') + ->setExampleNumber('707123456'); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('600\d{6}|6[06]92(?:0\d|3[349]|49)\d{3}') + ->setExampleNumber('600110000'); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php index 547652d29..b06ae53d6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PW.php @@ -1,4 +1,5 @@ 'PW', - 'countryCode' => 680, - 'generalDesc' => [ - 'pattern' => '(?:[24-8]\\d\\d|345|900)\\d{4}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}', - 'example' => '2771234', - ], - 'mobile' => [ - 'pattern' => '(?:(?:46|83)[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}', - 'example' => '6201234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '01[12]', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PW extends PhoneMetadata +{ + protected const ID = 'PW'; + protected const COUNTRY_CODE = 680; + + protected ?string $internationalPrefix = '01[12]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[24-8]\d\d|345|900)\d{4}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:46|83)[0-5]|(?:6[2-4689]|78)0)\d{4}|(?:45|77|88)\d{5}') + ->setExampleNumber('6201234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\d{4}') + ->setExampleNumber('2771234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php index 5c5ad5861..d0273f64e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_PY.php @@ -1,4 +1,5 @@ 'PY', - 'countryCode' => 595, - 'generalDesc' => [ - 'pattern' => '59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - ], - 'posLengthLocal' => [ - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}', - 'example' => '212345678', - 'posLength' => [ - 7, - 8, - 9, - ], - 'posLengthLocal' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\d{6}', - 'example' => '961456789', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '9800\\d{5,7}', - 'example' => '98000123456', - 'posLength' => [ - 9, - 10, - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '8700[0-4]\\d{4}', - 'example' => '870012345', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '[2-9]0\\d{4,7}', - 'example' => '201234567', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-9]0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '87', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9(?:[5-79]|8[1-7])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-8]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_PY extends PhoneMetadata +{ + protected const ID = 'PY'; + protected const COUNTRY_CODE = 595; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('59\d{4,6}|9\d{5,10}|(?:[2-46-8]\d|5[0-8])\d{4,7}') + ->setPossibleLengthLocalOnly([5]) + ->setPossibleLength([6, 7, 8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\d{6}') + ->setExampleNumber('961456789') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\d{5,7}|(?:2(?:2[4-68]|[4-68]\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\d|6[1-578]|75|8[0-8])|858)\d{5,6}') + ->setExampleNumber('212345678') + ->setPossibleLengthLocalOnly([5, 6]) + ->setPossibleLength([7, 8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-9]0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['87']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9(?:[5-79]|8[1-7])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-8]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9800\d{5,7}') + ->setExampleNumber('98000123456') + ->setPossibleLength([9, 10, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8700[0-4]\d{4}') + ->setExampleNumber('870012345') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]0\d{4,7}') + ->setExampleNumber('201234567') + ->setPossibleLength([6, 7, 8, 9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php index 6db8b717a..21fe977a9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_QA.php @@ -1,4 +1,5 @@ 'QA', - 'countryCode' => 974, - 'generalDesc' => [ - 'pattern' => '800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}', - 'posLength' => [ - 7, - 8, - 9, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}', - 'example' => '44123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '[35-7]\\d{7}', - 'example' => '33123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{4}|(?:0080[01]|800)\\d{6}', - 'example' => '8001234', - 'posLength' => [ - 7, - 9, - 11, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '2[16]\\d{5}', - 'example' => '2123456', - 'posLength' => [ - 7, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[16]|8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[3-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_QA extends PhoneMetadata +{ + protected const ID = 'QA'; + protected const COUNTRY_CODE = 974; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4}|(?:2|800)\d{6}|(?:0080|[3-7])\d{7}') + ->setPossibleLength([7, 8, 9, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[35-7]\d{7}') + ->setExampleNumber('33123456') + ->setPossibleLength([8]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:1111|2022)\d{3}|4(?:[04]\d\d|14[0-6]|999)\d{4}') + ->setExampleNumber('44123456') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[136]|8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[3-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{4}|(?:0080[01]|800)\d{6}') + ->setExampleNumber('8001234') + ->setPossibleLength([7, 9, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[136]\d{5}') + ->setExampleNumber('2123456') + ->setPossibleLength([7]); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php index fb05e0bf5..743722455 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RE.php @@ -1,4 +1,5 @@ 'RE', - 'countryCode' => 262, - 'generalDesc' => [ - 'pattern' => '(?:26|[689]\\d)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}', - 'example' => '262161234', - ], - 'mobile' => [ - 'pattern' => '69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}', - 'example' => '692123456', - ], - 'tollFree' => [ - 'pattern' => '80\\d{7}', - 'example' => '801234567', - ], - 'premiumRate' => [ - 'pattern' => '89[1-37-9]\\d{6}', - 'example' => '891123456', - ], - 'sharedCost' => [ - 'pattern' => '8(?:1[019]|2[0156]|84|90)\\d{6}', - 'example' => '810123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\d{4}', - 'example' => '939901234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[2689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_RE extends PhoneMetadata +{ + protected const ID = 'RE'; + protected const COUNTRY_CODE = 262; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('709\d{6}|(?:26|[689]\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:69(?:2\d\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\d{4}') + ->setExampleNumber('692123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('89[1-37-9]\d{6}') + ->setExampleNumber('891123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('26(?:2\d\d|3(?:0\d|1[0-6]))\d{4}') + ->setExampleNumber('262161234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[26-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{7}') + ->setExampleNumber('801234567'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:1[019]|2[0156]|84|90)\d{6}') + ->setExampleNumber('810123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\d{4}') + ->setExampleNumber('939901234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php index d40d27fd8..5031b8e80 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RO.php @@ -1,4 +1,5 @@ 'RO', - 'countryCode' => 40, - 'generalDesc' => [ - 'pattern' => '(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}', - 'posLength' => [ - 6, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d', - 'example' => '211234567', - ], - 'mobile' => [ - 'pattern' => '(?:630|702)0\\d{5}|(?:6(?:00|2\\d)|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-39]))\\d{6}', - 'example' => '712034567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '90[0136]\\d{6}', - 'example' => '900123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '801\\d{6}', - 'example' => '801123456', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:37\\d|80[578])\\d{6}', - 'example' => '372123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'preferredExtnPrefix' => ' int ', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2[3-6]', - '2[3-6]\\d9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '219|31', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[23]1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[236-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_RO extends PhoneMetadata +{ + protected const ID = 'RO'; + protected const COUNTRY_CODE = 40; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected ?string $preferredExtnPrefix = ' int '; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[236-8]\d|90)\d{7}|[23]\d{5}') + ->setPossibleLength([6, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:630|702)0\d{5}|(?:6(?:00|2\d)|7(?:0[013-9]|1[0-3]|[2-7]\d|8[03-8]|9[0-39]))\d{6}') + ->setExampleNumber('712034567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[0136]\d{6}') + ->setExampleNumber('900123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[23][13-6]\d{7}|(?:2(?:19\d|[3-6]\d9)|31\d\d)\d\d') + ->setExampleNumber('211234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2[3-6]', '2[3-6]\d9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['219|31']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[23]1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[236-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('801\d{6}') + ->setExampleNumber('801123456') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:37\d|80[578])\d{6}') + ->setExampleNumber('372123456') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php index 8adb0e1b7..86ed5efdc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RS.php @@ -1,4 +1,5 @@ 'RS', - 'countryCode' => 381, - 'generalDesc' => [ - 'pattern' => '38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - 'posLengthLocal' => [ - 4, - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}', - 'example' => '10234567', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - 12, - ], - 'posLengthLocal' => [ - 4, - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '6(?:[0-689]|7\\d)\\d{6,7}', - 'example' => '601234567', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{3,9}', - 'example' => '80012345', - ], - 'premiumRate' => [ - 'pattern' => '(?:78\\d|90[0169])\\d{3,7}', - 'example' => '90012345', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '7[06]\\d{4,10}', - 'example' => '700123456', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:2[389]|39)0|[7-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-36]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_RS extends PhoneMetadata +{ + protected const ID = 'RS'; + protected const COUNTRY_CODE = 381; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('38[02-9]\d{6,9}|6\d{7,9}|90\d{4,8}|38\d{5,6}|(?:7\d\d|800)\d{3,9}|(?:[12]\d|3[0-79])\d{5,10}') + ->setPossibleLengthLocalOnly([4, 5]) + ->setPossibleLength([6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:[0-689]|7\d)\d{6,7}') + ->setExampleNumber('601234567') + ->setPossibleLength([8, 9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:78\d|90[0169])\d{3,7}') + ->setExampleNumber('90012345') + ->setPossibleLength([6, 7, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:11[1-9]\d|(?:2[389]|39)(?:0[2-9]|[2-9]\d))\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\d{4,9}') + ->setExampleNumber('10234567') + ->setPossibleLengthLocalOnly([4, 5, 6]) + ->setPossibleLength([7, 8, 9, 10, 11, 12]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,9})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:2[389]|39)0|[7-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[1-36]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{3,9}') + ->setExampleNumber('80012345'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[06]\d{4,10}') + ->setExampleNumber('700123456'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php index 4dbf47aa0..5726f5e0f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RU.php @@ -1,4 +1,5 @@ 'RU', - 'countryCode' => 7, - 'generalDesc' => [ - 'pattern' => '8\\d{13}|[347-9]\\d{9}', - 'posLength' => [ - 10, - 14, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}', - 'example' => '3011234567', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9\\d{9}', - 'example' => '9123456789', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:0[04]|108\\d{3})\\d{7}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '80[39]\\d{7}', - 'example' => '8091234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '808\\d{7}', - 'example' => '8081234567', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '810', - 'preferredInternationalPrefix' => '8~10', - 'nationalPrefix' => '8', - 'nationalPrefixForParsing' => '8', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[0-79]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '7(?:1[0-8]|2[1-9])', - '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))', - '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{5})(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '7(?:1[0-68]|2[1-9])', - '7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))', - '7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '[349]|8(?:[02-7]|1[1-8])', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '7(?:1[0-8]|2[1-9])', - '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))', - '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{5})(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '7(?:1[0-68]|2[1-9])', - '7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))', - '7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '[349]|8(?:[02-7]|1[1-8])', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mainCountryForCode' => true, - 'leadingDigits' => '3[04-689]|[489]', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_RU extends PhoneMetadata +{ + protected const ID = 'RU'; + protected const COUNTRY_CODE = 7; + protected const NATIONAL_PREFIX = '8'; + + protected ?string $nationalPrefixForParsing = '8'; + protected ?string $internationalPrefix = '810'; + protected ?string $preferredInternationalPrefix = '8~10'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{13}|[347-9]\d{9}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10, 14]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d{9}') + ->setExampleNumber('9123456789') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[39]\d{7}') + ->setExampleNumber('8091234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('336(?:[013-9]\d|2[013-9])\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\d{7}') + ->setExampleNumber('3011234567') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[0-79]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern([ + '7(?:1[0-8]|2[1-9])', + '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))', + '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2', + ]) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{5})(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern([ + '7(?:1[0-68]|2[1-9])', + '7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))', + '7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]', + ]) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['[349]|8(?:[02-7]|1[1-8])']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:0[04]|108\d{3})\d{7}') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('808\d{7}') + ->setExampleNumber('8081234567') + ->setPossibleLength([10]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern([ + '7(?:1[0-8]|2[1-9])', + '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))', + '7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2', + ]) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{5})(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern([ + '7(?:1[0-68]|2[1-9])', + '7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))', + '7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]', + ]) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['[349]|8(?:[02-7]|1[1-8])']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('8 ($1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php index 07e570d0a..7f65c180a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_RW.php @@ -1,4 +1,5 @@ 'RW', - 'countryCode' => 250, - 'generalDesc' => [ - 'pattern' => '(?:06|[27]\\d\\d|[89]00)\\d{6}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:06|2[23568]\\d)\\d{6}', - 'example' => '250123456', - ], - 'mobile' => [ - 'pattern' => '7[237-9]\\d{7}', - 'example' => '720123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{6}', - 'example' => '900123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[7-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_RW extends PhoneMetadata +{ + protected const ID = 'RW'; + protected const COUNTRY_CODE = 250; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:06|[27]\d\d|[89]00)\d{6}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[237-9]\d{7}') + ->setExampleNumber('720123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{6}') + ->setExampleNumber('900123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:06|2[23568]\d)\d{6}') + ->setExampleNumber('250123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[7-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php index 875a5855d..12767300d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SA.php @@ -1,4 +1,5 @@ 'SA', - 'countryCode' => 966, - 'generalDesc' => [ - 'pattern' => '92\\d{7}|(?:[15]|8\\d)\\d{8}', - 'posLength' => [ - 9, - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}', - 'example' => '112345678', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '579[01]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}', - 'example' => '512345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - 'posLength' => [ - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '925\\d{6}', - 'example' => '925012345', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '920\\d{6}', - 'example' => '920012345', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '811\\d{7}', - 'example' => '8110123456', - 'posLength' => [ - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '81', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SA extends PhoneMetadata +{ + protected const ID = 'SA'; + protected const COUNTRY_CODE = 966; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[15]\d|800|92)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('579[01]\d{5}|5(?:[013-689]\d|7[0-8])\d{6}') + ->setExampleNumber('512345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('925\d{6}') + ->setExampleNumber('925012345') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\d{6}') + ->setExampleNumber('112345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567') + ->setPossibleLength([10]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('920\d{6}') + ->setExampleNumber('920012345') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php index faa7fb2cc..2874ec682 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SB.php @@ -1,4 +1,5 @@ 'SB', - 'countryCode' => 677, - 'generalDesc' => [ - 'pattern' => '[6-9]\\d{6}|[1-6]\\d{4}', - 'posLength' => [ - 5, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}', - 'example' => '40123', - 'posLength' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '48\\d{3}|(?:(?:6[89]|7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}', - 'example' => '7421234', - ], - 'tollFree' => [ - 'pattern' => '1[38]\\d{3}', - 'example' => '18123', - 'posLength' => [ - 5, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '5[12]\\d{3}', - 'example' => '51123', - 'posLength' => [ - 5, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0[01]', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SB extends PhoneMetadata +{ + protected const ID = 'SB'; + protected const COUNTRY_CODE = 677; + + protected ?string $internationalPrefix = '0[01]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[6-9]\d{6}|[1-6]\d{4}') + ->setPossibleLength([5, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('48\d{3}|(?:(?:6[89]|7[1-9]|8[4-9])\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\d{4}') + ->setExampleNumber('7421234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[4-79]|[23]\d|4[0-2]|5[03]|6[0-37])\d{3}') + ->setExampleNumber('40123') + ->setPossibleLength([5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[38]\d{3}') + ->setExampleNumber('18123') + ->setPossibleLength([5]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[12]\d{3}') + ->setExampleNumber('51123') + ->setPossibleLength([5]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php index 3fd454202..462ad9ac2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SC.php @@ -1,4 +1,5 @@ 'SC', - 'countryCode' => 248, - 'generalDesc' => [ - 'pattern' => '(?:[2489]\\d|64)\\d{5}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '4[2-46]\\d{5}', - 'example' => '4217123', - ], - 'mobile' => [ - 'pattern' => '2[125-8]\\d{5}', - 'example' => '2510123', - ], - 'tollFree' => [ - 'pattern' => '800[08]\\d{3}', - 'example' => '8000000', - ], - 'premiumRate' => [ - 'pattern' => '85\\d{5}', - 'example' => '8512345', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '971\\d{4}|(?:64|95)\\d{5}', - 'example' => '6412345', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '010|0[0-2]', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[246]|9[57]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SC extends PhoneMetadata +{ + protected const ID = 'SC'; + protected const COUNTRY_CODE = 248; + + protected ?string $internationalPrefix = '010|0[0-2]'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2489]\d|64)\d{5}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[125-8]\d{5}') + ->setExampleNumber('2510123'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('85\d{5}') + ->setExampleNumber('8512345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4[2-46]\d{5}') + ->setExampleNumber('4217123'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[246]|9[57]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[08]\d{3}') + ->setExampleNumber('8000000'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('971\d{4}|(?:64|95)\d{5}') + ->setExampleNumber('6412345'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php index f4848bf13..95581cee0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SD.php @@ -1,4 +1,5 @@ 'SD', - 'countryCode' => 249, - 'generalDesc' => [ - 'pattern' => '[19]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '1(?:5\\d|8[35-7])\\d{6}', - 'example' => '153123456', - ], - 'mobile' => [ - 'pattern' => '(?:1[0-2]|9[0-3569])\\d{7}', - 'example' => '911231234', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[19]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SD extends PhoneMetadata +{ + protected const ID = 'SD'; + protected const COUNTRY_CODE = 249; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[0-2]|9[0-3569])\d{7}') + ->setExampleNumber('911231234'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:5\d|8[35-7])\d{6}') + ->setExampleNumber('153123456'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[19]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php index c6d39af69..cda0f29be 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SE.php @@ -1,4 +1,5 @@ 'SE', - 'countryCode' => 46, - 'generalDesc' => [ - 'pattern' => '(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}', - 'example' => '8123456', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '7[02369]\\d{7}', - 'example' => '701234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '20\\d{4,7}', - 'example' => '20123456', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}', - 'example' => '9001234567', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '77[0-7]\\d{6}', - 'example' => '771234567', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'pattern' => '75[1-8]\\d{6}', - 'example' => '751234567', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'pattern' => '74[02-9]\\d{6}', - 'example' => '740123456', - 'posLength' => [ - 9, - ], - ], - 'uan' => [ - 'pattern' => '10[1-8]\\d{6}', - 'example' => '102345678', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'pattern' => '(?:25[245]|67[3-68])\\d{9}', - 'example' => '254123456789', - 'posLength' => [ - 12, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '20', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '9(?:00|39|44|9)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{3})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => [ - '9(?:00|39|44)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '10|7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '[26]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '20', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9(?:00|39|44|9)', - ], - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', - ], - ], - [ - 'pattern' => '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9(?:00|39|44)', - ], - ], - [ - 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]', - ], - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '10|7', - ], - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '9', - ], - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', - 'leadingDigitsPatterns' => [ - '[26]', - ], - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SE extends PhoneMetadata +{ + protected const ID = 'SE'; + protected const COUNTRY_CODE = 46; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[26]\d\d|9)\d{9}|[1-9]\d{8}|[1-689]\d{7}|[1-4689]\d{6}|2\d{5}') + ->setPossibleLength([6, 7, 8, 9, 10, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[02369]\d{7}') + ->setExampleNumber('701234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('649\d{6}|99[1-59]\d{4}(?:\d{3})?|9(?:00|39|44)[1-8]\d{3,6}') + ->setExampleNumber('9001234567') + ->setPossibleLength([7, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\d)\d|90[1-9])\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\d{5,6}') + ->setExampleNumber('8123456') + ->setPossibleLength([7, 8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2,3})(\d{2})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['20']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['9(?:00|39|44|9)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['[12][136]|3[356]|4[0246]|6[03]|90[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{2,3})(\d{2})(\d{2})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{2})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{3})') + ->setFormat('$1-$2 $3') + ->setLeadingDigitsPattern(['9(?:00|39|44)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2,3})(\d{2})(\d{2})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['10|7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{2})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1-$2 $3 $4') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1-$2 $3 $4 $5') + ->setLeadingDigitsPattern(['[26]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20\d{4,7}') + ->setExampleNumber('20123456') + ->setPossibleLength([6, 7, 8, 9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('77[0-7]\d{6}') + ->setExampleNumber('771234567') + ->setPossibleLength([9]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('75[1-8]\d{6}') + ->setExampleNumber('751234567') + ->setPossibleLength([9]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('74[02-9]\d{6}') + ->setExampleNumber('740123456') + ->setPossibleLength([9]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-8]\d{6}') + ->setExampleNumber('102345678') + ->setPossibleLength([9]); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:25[245]|67[3-68])\d{9}') + ->setExampleNumber('254123456789') + ->setPossibleLength([12]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2,3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['20']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9(?:00|39|44|9)']), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[12][136]|3[356]|4[0246]|6[03]|90[1-9]']), + (new NumberFormat()) + ->setPattern('(\d)(\d{2,3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2,3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9(?:00|39|44)']), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2,3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]']), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['10|7']), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{3})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['9']), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4 $5') + ->setLeadingDigitsPattern(['[26]']), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php index 323ee6681..eae4dfda3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SG.php @@ -1,4 +1,5 @@ 'SG', - 'countryCode' => 65, - 'generalDesc' => [ - 'pattern' => '(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}', - 'posLength' => [ - 8, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}', - 'example' => '61234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:8(?:0(?:[1-8]\\d|9[0-689])|[1-8]\\d\\d|9(?:[0-4]\\d|5[0-3]|6[0-2]))|9[0-8]\\d\\d)\\d{4}', - 'example' => '81234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:18|8)00\\d{7}', - 'example' => '18001234567', - 'posLength' => [ - 10, - 11, - ], - ], - 'premiumRate' => [ - 'pattern' => '1900\\d{7}', - 'example' => '19001234567', - 'posLength' => [ - 11, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:3[12]\\d|666)\\d{5}', - 'example' => '31234567', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '7000\\d{7}', - 'example' => '70001234567', - 'posLength' => [ - 11, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0[0-3]\\d', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4,5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '1[013-9]|77', - '1(?:[013-8]|9(?:0[1-9]|[1-9]))|77', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[369]|8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[369]|8(?:0[1-9]|[1-9])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SG extends PhoneMetadata +{ + protected const ID = 'SG'; + protected const COUNTRY_CODE = 65; + + protected ?string $internationalPrefix = '0[0-3]\d'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:1\d|8)\d\d|7000)\d{7}|[3689]\d{7}') + ->setPossibleLength([8, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('897[0-5]\d{4}|(?:8(?:0[1-9]|[1-8]\d|9[0-6])|9[0-8]\d)\d{5}') + ->setExampleNumber('81234567') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1900\d{7}') + ->setExampleNumber('19001234567') + ->setPossibleLength([11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('662[0-24-9]\d{4}|6(?:[0-578]\d|6[013-57-9]|9[0-35-9])\d{5}') + ->setExampleNumber('61234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4,5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['1[013-9]|77', '1(?:[013-8]|9(?:0[1-9]|[1-9]))|77']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[369]|8(?:0[1-9]|[1-9])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:18|8)00\d{7}') + ->setExampleNumber('18001234567') + ->setPossibleLength([10, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[12]\d|666)\d{5}') + ->setExampleNumber('31234567') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7000\d{7}') + ->setExampleNumber('70001234567') + ->setPossibleLength([11]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[369]|8(?:0[1-9]|[1-9])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php index fd5b5252e..5e796cbb7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SH.php @@ -1,4 +1,5 @@ 'SH', - 'countryCode' => 290, - 'generalDesc' => [ - 'pattern' => '(?:[256]\\d|8)\\d{3}', - 'posLength' => [ - 4, - 5, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:[0-57-9]\\d|6[4-9])\\d\\d', - 'example' => '22158', - ], - 'mobile' => [ - 'pattern' => '[56]\\d{4}', - 'example' => '51234', - 'posLength' => [ - 5, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '262\\d\\d', - 'example' => '26212', - 'posLength' => [ - 5, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], - 'mainCountryForCode' => true, - 'leadingDigits' => '[256]', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SH extends PhoneMetadata +{ + protected const ID = 'SH'; + protected const COUNTRY_CODE = 290; + protected const LEADING_DIGITS = '[256]'; + + protected ?string $internationalPrefix = '00'; + protected bool $mainCountryForCode = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[256]\d|8)\d{3}') + ->setPossibleLength([4, 5]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[56]\d{4}') + ->setExampleNumber('51234') + ->setPossibleLength([5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[0-57-9]\d|6[4-9])\d\d') + ->setExampleNumber('22158'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('262\d\d') + ->setExampleNumber('26212') + ->setPossibleLength([5]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php index 0637b2cb3..5bd23d4d8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SI.php @@ -1,4 +1,5 @@ 'SI', - 'countryCode' => 386, - 'generalDesc' => [ - 'pattern' => '[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}', - 'posLength' => [ - 5, - 6, - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:[1-357][2-8]|4[24-8])\\d{6}', - 'example' => '12345678', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}', - 'example' => '31234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{4,6}', - 'example' => '80123456', - 'posLength' => [ - 6, - 7, - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '89[1-3]\\d{2,5}|90\\d{4,6}', - 'example' => '90123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}', - 'example' => '59012345', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|10(?:22|66|88|99)', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8[09]|9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '59|8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[37][01]|4[0139]|51|6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[1-57]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SI extends PhoneMetadata +{ + protected const ID = 'SI'; + protected const COUNTRY_CODE = 386; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00|10(?:22|66|88|99)'; + protected ?string $preferredInternationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-7]\d{7}|8\d{4,7}|90\d{4,6}') + ->setPossibleLength([5, 6, 7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('65(?:[178]\d|5[56]|6[01])\d{4}|(?:[37][01]|4[0139]|51|6[489])\d{6}') + ->setExampleNumber('31234567') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('89[1-3]\d{2,5}|90\d{4,6}') + ->setExampleNumber('90123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1-357][2-8]|4[24-8])\d{6}') + ->setExampleNumber('12345678') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8[09]|9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['59|8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[37][01]|4[0139]|51|6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[1-57]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{4,6}') + ->setExampleNumber('80123456') + ->setPossibleLength([6, 7, 8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:59\d\d|8(?:1(?:[67]\d|8[0-589])|2(?:0\d|2[0-37-9]|8[0-2489])|3[389]\d))\d{4}') + ->setExampleNumber('59012345') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php index 751431293..678204ad1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SJ.php @@ -1,4 +1,5 @@ 'SJ', - 'countryCode' => 47, - 'generalDesc' => [ - 'pattern' => '0\\d{4}|(?:[489]\\d|79)\\d{6}', - 'posLength' => [ - 5, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '79\\d{6}', - 'example' => '79123456', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '(?:4[015-8]|9\\d)\\d{6}', - 'example' => '41234567', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80[01]\\d{5}', - 'example' => '80012345', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '82[09]\\d{5}', - 'example' => '82012345', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'pattern' => '810(?:0[0-6]|[2-8]\\d)\\d{3}', - 'example' => '81021234', - 'posLength' => [ - 8, - ], - ], - 'personalNumber' => [ - 'pattern' => '880\\d{5}', - 'example' => '88012345', - 'posLength' => [ - 8, - ], - ], - 'voip' => [ - 'pattern' => '85[0-5]\\d{5}', - 'example' => '85012345', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', - 'example' => '02000', - ], - 'voicemail' => [ - 'pattern' => '81[23]\\d{5}', - 'example' => '81212345', - 'posLength' => [ - 8, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], - 'leadingDigits' => '79', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SJ extends PhoneMetadata +{ + protected const ID = 'SJ'; + protected const COUNTRY_CODE = 47; + protected const LEADING_DIGITS = '79'; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0\d{4}|(?:[489]\d|79)\d{6}') + ->setPossibleLength([5, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:4[015-8]|9\d)\d{6}') + ->setExampleNumber('41234567') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('82[09]\d{5}') + ->setExampleNumber('82012345') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('79\d{6}') + ->setExampleNumber('79123456') + ->setPossibleLength([8]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[01]\d{5}') + ->setExampleNumber('80012345') + ->setPossibleLength([8]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('810(?:0[0-6]|[2-8]\d)\d{3}') + ->setExampleNumber('81021234') + ->setPossibleLength([8]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('880\d{5}') + ->setExampleNumber('88012345') + ->setPossibleLength([8]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('85[0-5]\d{5}') + ->setExampleNumber('85012345') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0[235-9]|81(?:0(?:0[7-9]|1\d)|5\d\d))\d{3}') + ->setExampleNumber('02000'); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81[23]\d{5}') + ->setExampleNumber('81212345') + ->setPossibleLength([8]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php index 752f9dc01..51ad6f0f9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SK.php @@ -1,4 +1,5 @@ 'SK', - 'countryCode' => 421, - 'generalDesc' => [ - 'pattern' => '[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}', - 'posLength' => [ - 6, - 7, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d', - 'example' => '221234567', - ], - 'mobile' => [ - 'pattern' => '909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}', - 'example' => '912123456', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '9(?:00|[78]\\d)\\d{6}', - 'example' => '900123456', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '8[5-9]\\d{7}', - 'example' => '850123456', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '6(?:02|5[0-4]|9[0-6])\\d{6}', - 'example' => '690123456', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'pattern' => '9090\\d{3}', - 'example' => '9090123', - 'posLength' => [ - 7, - ], - ], - 'uan' => [ - 'pattern' => '96\\d{7}', - 'example' => '961234567', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}', - 'posLength' => [ - 7, - 9, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{2})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '21', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-5][1-8]1', - '[3-5][1-8]1[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '909', - '9090', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1/$2 $3 $4', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1/$2 $3 $4', - 'leadingDigitsPatterns' => [ - '[3-5]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{2})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '21', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-5][1-8]1', - '[3-5][1-8]1[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1/$2 $3 $4', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1/$2 $3 $4', - 'leadingDigitsPatterns' => [ - '[3-5]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SK extends PhoneMetadata +{ + protected const ID = 'SK'; + protected const COUNTRY_CODE = 421; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-689]\d{8}|[2-59]\d{6}|[2-5]\d{5}') + ->setPossibleLength([6, 7, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('909[1-9]\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\d)\d{6}') + ->setExampleNumber('912123456') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:00|[78]\d)\d{6}') + ->setExampleNumber('900123456') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:16|[2-9]\d{3})|(?:(?:[3-5][1-8]\d|819)\d|601[1-5])\d)\d{4}|(?:2|[3-5][1-8])1[67]\d{3}|[3-5][1-8]16\d\d') + ->setExampleNumber('221234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['21']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-5][1-8]1', '[3-5][1-8]1[67]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['909', '9090']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{2})') + ->setFormat('$1/$2 $3 $4') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[689]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1/$2 $3 $4') + ->setLeadingDigitsPattern(['[3-5]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[5-9]\d{7}') + ->setExampleNumber('850123456') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6(?:02|5[0-4]|9[0-6])\d{6}') + ->setExampleNumber('690123456') + ->setPossibleLength([9]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9090\d{3}') + ->setExampleNumber('9090123') + ->setPossibleLength([7]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('96\d{7}') + ->setExampleNumber('961234567') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9090\d{3}|(?:602|8(?:00|[5-9]\d)|9(?:00|[78]\d))\d{6}') + ->setPossibleLength([7, 9]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{2})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['21']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-5][1-8]1', '[3-5][1-8]1[67]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3})(\d{2})') + ->setFormat('$1/$2 $3 $4') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[689]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1/$2 $3 $4') + ->setLeadingDigitsPattern(['[3-5]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php index 716230096..596cd9fc1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SL.php @@ -1,4 +1,5 @@ 'SL', - 'countryCode' => 232, - 'generalDesc' => [ - 'pattern' => '(?:[237-9]\\d|66)\\d{6}', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '22[2-4][2-9]\\d{4}', - 'example' => '22221234', - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\d{6}', - 'example' => '25123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[236-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SL extends PhoneMetadata +{ + protected const ID = 'SL'; + protected const COUNTRY_CODE = 232; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[237-9]\d|66)\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:25|3[0-5]|66|7[1-9]|8[08]|9[09])\d{6}') + ->setExampleNumber('25123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('22[2-4][2-9]\d{4}') + ->setExampleNumber('22221234') + ->setPossibleLengthLocalOnly([6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[236-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php index ca4473b93..b18ab82d1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SM.php @@ -1,4 +1,5 @@ 'SM', - 'countryCode' => 378, - 'generalDesc' => [ - 'pattern' => '(?:0549|[5-7]\\d)\\d{6}', - 'posLength' => [ - 8, - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '0549(?:8[0157-9]|9\\d)\\d{4}', - 'example' => '0549886377', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '6[16]\\d{6}', - 'example' => '66661212', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'pattern' => '7[178]\\d{6}', - 'example' => '71123456', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '5[158]\\d{6}', - 'example' => '58001110', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '([89]\\d{5})$', - 'nationalPrefixTransformRule' => '0549$1', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[5-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[5-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SM extends PhoneMetadata +{ + protected const ID = 'SM'; + protected const COUNTRY_CODE = 378; + + protected ?string $nationalPrefixForParsing = '([89]\d{5})$'; + protected ?string $internationalPrefix = '00'; + protected ?string $nationalPrefixTransformRule = '0549$1'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0549|[5-7]\d)\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([8, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[16]\d{6}') + ->setExampleNumber('66661212') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[178]\d{6}') + ->setExampleNumber('71123456') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0549(?:8[0157-9]|9\d)\d{4}') + ->setExampleNumber('0549886377') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[158]\d{6}') + ->setExampleNumber('58001110') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[5-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php index c884a260f..cdc96ac05 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SN.php @@ -1,4 +1,5 @@ 'SN', - 'countryCode' => 221, - 'generalDesc' => [ - 'pattern' => '(?:[378]\\d|93)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}', - 'example' => '301012345', - ], - 'mobile' => [ - 'pattern' => '7(?:(?:[06-8]\\d|[19]0|21)\\d|5(?:0[01]|[19]0|2[25]|[38]3|[4-7]\\d))\\d{5}', - 'example' => '701234567', - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '88[4689]\\d{6}', - 'example' => '884123456', - ], - 'sharedCost' => [ - 'pattern' => '81[02468]\\d{6}', - 'example' => '810123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}', - 'example' => '933301234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[379]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SN extends PhoneMetadata +{ + protected const ID = 'SN'; + protected const COUNTRY_CODE = 221; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[378]\d|93)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:(?:[06-8]\d|[19]0|21)\d|5(?:0[01]|[19]0|2[25]|3[356]|[4-7]\d|8[35]))\d{5}') + ->setExampleNumber('701234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88[4689]\d{6}') + ->setExampleNumber('884123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\d{5}') + ->setExampleNumber('301012345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[379]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81[02468]\d{6}') + ->setExampleNumber('810123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:392|9[01]\d)\d|93(?:3[13]0|929))\d{4}') + ->setExampleNumber('933301234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php index 3bc832cca..d07191a37 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SO.php @@ -1,4 +1,5 @@ 'SO', - 'countryCode' => 252, - 'generalDesc' => [ - 'pattern' => '[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}', - 'example' => '4012345', - 'posLength' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:(?:15|(?:3[59]|4[89]|6\\d|7[79]|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}', - 'example' => '71123456', - 'posLength' => [ - 7, - 8, - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8[125]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{6})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[134]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[15]|2[0-79]|3[0-46-8]|4[0-7]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:2|90)4|[67]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[348]|64|79|90', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1|28|6[0-35-9]|77|9[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SO extends PhoneMetadata +{ + protected const ID = 'SO'; + protected const COUNTRY_CODE = 252; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[346-9]\d{8}|[12679]\d{7}|[1-5]\d{6}|[1348]\d{5}') + ->setPossibleLength([6, 7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:15|(?:3[59]|4[89]|6\d|7[679]|8[08])\d|9(?:0\d|[2-9]))\d|2(?:4\d|8))\d{5}|(?:[67]\d\d|904)\d{5}') + ->setExampleNumber('71123456') + ->setPossibleLength([7, 8, 9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\d{5}|(?:[134]\d|8[125])\d{4}') + ->setExampleNumber('4012345') + ->setPossibleLength([6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8[125]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{6})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[134]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[15]|2[0-79]|3[0-46-8]|4[0-7]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:2|90)4|[67]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[348]|64|79|90']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1|28|6[0-35-9]|7[67]|9[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php index f057f6ba3..9dc149623 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SR.php @@ -1,4 +1,5 @@ 'SR', - 'countryCode' => 597, - 'generalDesc' => [ - 'pattern' => '(?:[2-5]|68|[78]\\d)\\d{5}', - 'posLength' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}', - 'example' => '211234', - ], - 'mobile' => [ - 'pattern' => '(?:7[124-7]|8[124-9])\\d{5}', - 'example' => '7412345', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '56\\d{4}', - 'example' => '561234', - 'posLength' => [ - 6, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '56', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-5]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[6-8]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SR extends PhoneMetadata +{ + protected const ID = 'SR'; + protected const COUNTRY_CODE = 597; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-5]|68|[78]\d|90)\d{5}') + ->setPossibleLength([6, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7[124-7]|8[1-9])\d{5}') + ->setExampleNumber('7412345') + ->setPossibleLength([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{5}') + ->setExampleNumber('9012345') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[1-3]|3[0-7]|(?:4|68)\d|5[2-58])\d{4}') + ->setExampleNumber('211234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['56']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-5]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[6-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{5}') + ->setExampleNumber('8012345') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('56\d{4}') + ->setExampleNumber('561234') + ->setPossibleLength([6]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php index fa8faf220..60025b515 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SS.php @@ -1,4 +1,5 @@ 'SS', - 'countryCode' => 211, - 'generalDesc' => [ - 'pattern' => '[19]\\d{8}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '1[89]\\d{7}', - 'example' => '181234567', - ], - 'mobile' => [ - 'pattern' => '(?:12|9[1257-9])\\d{7}', - 'example' => '977123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[19]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SS extends PhoneMetadata +{ + protected const ID = 'SS'; + protected const COUNTRY_CODE = 211; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{8}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:12|9[1257-9])\d{7}') + ->setExampleNumber('977123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[89]\d{7}') + ->setExampleNumber('181234567'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[19]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php index bc1a5177d..6a2214c69 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ST.php @@ -1,4 +1,5 @@ 'ST', - 'countryCode' => 239, - 'generalDesc' => [ - 'pattern' => '(?:22|9\\d)\\d{5}', - 'posLength' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '22\\d{5}', - 'example' => '2221234', - ], - 'mobile' => [ - 'pattern' => '900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}', - 'example' => '9812345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[29]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ST extends PhoneMetadata +{ + protected const ID = 'ST'; + protected const COUNTRY_CODE = 239; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:22|9\d)\d{5}') + ->setPossibleLength([7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[5-9]\d{3}|9(?:0[1-9]|[89]\d)\d{4}') + ->setExampleNumber('9812345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('22\d{5}') + ->setExampleNumber('2221234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[29]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php index 956c2777e..c32a096b8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SV.php @@ -1,4 +1,5 @@ 'SV', - 'countryCode' => 503, - 'generalDesc' => [ - 'pattern' => '[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?', - 'posLength' => [ - 7, - 8, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}', - 'example' => '21234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '[67]\\d{7}', - 'example' => '70123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{8}|80[01]\\d{4}', - 'example' => '8001234', - 'posLength' => [ - 7, - 11, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{4}(?:\\d{4})?', - 'example' => '9001234', - 'posLength' => [ - 7, - 11, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[267]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SV extends PhoneMetadata +{ + protected const ID = 'SV'; + protected const COUNTRY_CODE = 503; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[267]\d{7}|(?:80\d|900)\d{4}(?:\d{4})?') + ->setPossibleLength([7, 8, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[67]\d{7}') + ->setExampleNumber('70123456') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{4}(?:\d{4})?') + ->setExampleNumber('9001234') + ->setPossibleLength([7, 11]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:79(?:0[0347-9]|[1-9]\d)|89(?:0[024589]|[1-9]\d))\d{3}|2(?:[1-69]\d|[78][0-8])\d{5}') + ->setExampleNumber('21234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[267]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{8}|80[01]\d{4}') + ->setExampleNumber('8001234') + ->setPossibleLength([7, 11]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php index dfd08630c..0408b14be 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SX.php @@ -1,4 +1,5 @@ 'SX', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '7215(?:4[2-8]|8[239]|9[056])\\d{4}', - 'example' => '7215425678', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}', - 'example' => '7215205678', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002123456', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '(5\\d{6})$|1', - 'nationalPrefixTransformRule' => '721$1', - 'numberFormat' => [], - 'leadingDigits' => '721', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SX extends PhoneMetadata +{ + protected const ID = 'SX'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '721'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '(5\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '721$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7215\d{6}|(?:[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7215(?:1[02]|2\d|5[034679]|8[014-8])\d{4}') + ->setExampleNumber('7215205678') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7215(?:4[2-8]|8[239]|9[056])\d{4}') + ->setExampleNumber('7215425678') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php index a19642d23..121e54ab5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SY.php @@ -1,4 +1,5 @@ 'SY', - 'countryCode' => 963, - 'generalDesc' => [ - 'pattern' => '[1-39]\\d{8}|[1-5]\\d{7}', - 'posLength' => [ - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}', - 'example' => '112345678', - 'posLengthLocal' => [ - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9[1-689]\\d{7}', - 'example' => '944567890', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-5]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SY extends PhoneMetadata +{ + protected const ID = 'SY'; + protected const COUNTRY_CODE = 963; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-39]\d{8}|[1-5]\d{7}') + ->setPossibleLengthLocalOnly([6, 7]) + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[1-9]\d{7}') + ->setExampleNumber('944567890') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('21\d{6,7}|(?:1(?:[14]\d|[2356])|2[235]|3(?:[13]\d|4)|4[134]|5[1-3])\d{6}') + ->setExampleNumber('112345678') + ->setPossibleLengthLocalOnly([6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-5]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php index 77b36d81d..a5cbdefdf 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_SZ.php @@ -1,4 +1,5 @@ 'SZ', - 'countryCode' => 268, - 'generalDesc' => [ - 'pattern' => '0800\\d{4}|(?:[237]\\d|900)\\d{6}', - 'posLength' => [ - 8, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '[23][2-5]\\d{6}', - 'example' => '22171234', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '7[6-9]\\d{6}', - 'example' => '76123456', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '0800\\d{4}', - 'example' => '08001234', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{6}', - 'example' => '900012345', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '70\\d{6}', - 'example' => '70012345', - 'posLength' => [ - 8, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '0800\\d{4}', - 'posLength' => [ - 8, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[0237]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_SZ extends PhoneMetadata +{ + protected const ID = 'SZ'; + protected const COUNTRY_CODE = 268; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{4}|(?:[237]\d|900)\d{6}') + ->setPossibleLength([8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[6-9]\d{6}') + ->setExampleNumber('76123456') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{6}') + ->setExampleNumber('900012345') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[23][2-5]\d{6}') + ->setExampleNumber('22171234') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[0237]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{5})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{4}') + ->setExampleNumber('08001234') + ->setPossibleLength([8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{6}') + ->setExampleNumber('70012345') + ->setPossibleLength([8]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{4}') + ->setPossibleLength([8]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php index 7425bda0f..82519e7fa 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TA.php @@ -1,4 +1,5 @@ 'TA', - 'countryCode' => 290, - 'generalDesc' => [ - 'pattern' => '8\\d{3}', - 'posLength' => [ - 4, - ], - ], - 'fixedLine' => [ - 'pattern' => '8\\d{3}', - 'example' => '8999', - ], - 'mobile' => [ - 'posLength' => [ - -1, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], - 'leadingDigits' => '8', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TA extends PhoneMetadata +{ + protected const ID = 'TA'; + protected const COUNTRY_CODE = 290; + protected const LEADING_DIGITS = '8'; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{3}') + ->setPossibleLength([4]); + $this->mobile = PhoneNumberDesc::empty(); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8\d{3}') + ->setExampleNumber('8999'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php index fca7fc676..74207b4ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TC.php @@ -1,4 +1,5 @@ 'TC', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|649|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '649(?:266|712|9(?:4\\d|50))\\d{4}', - 'example' => '6497121234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}', - 'example' => '6492311234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'pattern' => '649(?:71[01]|966)\\d{4}', - 'example' => '6497101234', - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-479]\\d{6})$|1', - 'nationalPrefixTransformRule' => '649$1', - 'numberFormat' => [], - 'leadingDigits' => '649', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TC extends PhoneMetadata +{ + protected const ID = 'TC'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '649'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-479]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '649$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|649|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('649(?:2(?:3[129]|4[1-79])|3\d\d|4[34][1-3])\d{4}') + ->setExampleNumber('6492311234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('649(?:266|712|9(?:4\d|50))\d{4}') + ->setExampleNumber('6497121234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('649(?:71[01]|966)\d{4}') + ->setExampleNumber('6497101234') + ->setPossibleLengthLocalOnly([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php index bb34208c8..4b637f8a8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TD.php @@ -1,4 +1,5 @@ 'TD', - 'countryCode' => 235, - 'generalDesc' => [ - 'pattern' => '(?:22|[689]\\d|77)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '22(?:[37-9]0|5[0-5]|6[89])\\d{4}', - 'example' => '22501234', - ], - 'mobile' => [ - 'pattern' => '(?:[69]\\d|77|8[56])\\d{6}', - 'example' => '63012345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00|16', - 'preferredInternationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[26-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TD extends PhoneMetadata +{ + protected const ID = 'TD'; + protected const COUNTRY_CODE = 235; + + protected ?string $internationalPrefix = '00|16'; + protected ?string $preferredInternationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:22|30|[689]\d|77)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:30|[69]\d|77|8[56])\d{6}') + ->setExampleNumber('63012345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('22(?:[37-9]0|5[0-5]|6[89])\d{4}') + ->setExampleNumber('22501234'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[236-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php index 007f94831..f2d626617 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TG.php @@ -1,4 +1,5 @@ 'TG', - 'countryCode' => 228, - 'generalDesc' => [ - 'pattern' => '[279]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}', - 'example' => '22212345', - ], - 'mobile' => [ - 'pattern' => '(?:7[019]|9[0-36-9])\\d{6}', - 'example' => '90112345', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[279]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TG extends PhoneMetadata +{ + protected const ID = 'TG'; + protected const COUNTRY_CODE = 228; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[279]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7[0-29]|9[0-36-9])\d{6}') + ->setExampleNumber('90112345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\d{5}') + ->setExampleNumber('22212345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[279]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php index a2346ecff..f85dfe1cc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TH.php @@ -1,4 +1,5 @@ 'TH', - 'countryCode' => 66, - 'generalDesc' => [ - 'pattern' => '(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}', - 'posLength' => [ - 8, - 9, - 10, - 13, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}', - 'example' => '21234567', - 'posLength' => [ - 8, - ], - ], - 'mobile' => [ - 'pattern' => '67(?:1[0-8]|2[4-7])\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}', - 'example' => '812345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:001800\\d|1800)\\d{6}', - 'example' => '1800123456', - 'posLength' => [ - 10, - 13, - ], - ], - 'premiumRate' => [ - 'pattern' => '1900\\d{6}', - 'example' => '1900123456', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '6[08]\\d{7}', - 'example' => '601234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00[1-9]', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[13-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TH extends PhoneMetadata +{ + protected const ID = 'TH'; + protected const COUNTRY_CODE = 66; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00[1-9]'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:001800|[2-57]|[689]\d)\d{7}|1\d{7,9}') + ->setPossibleLength([8, 9, 10, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('67(?:1[0-8]|2[4-7])\d{5}|(?:14|6[1-6]|[89]\d)\d{7}') + ->setExampleNumber('812345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1900\d{6}') + ->setExampleNumber('1900123456') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[0689]|2\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\d{6}') + ->setExampleNumber('21234567') + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[13-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:001800\d|1800)\d{6}') + ->setExampleNumber('1800123456') + ->setPossibleLength([10, 13]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[08]\d{7}') + ->setExampleNumber('601234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php index 3d3f99bf9..0761df066 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TJ.php @@ -1,4 +1,5 @@ 'TJ', - 'countryCode' => 992, - 'generalDesc' => [ - 'pattern' => '[0-57-9]\\d{8}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 3, - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}', - 'example' => '372123456', - 'posLengthLocal' => [ - 3, - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:[09]\\d|1[017]|2[02]|[34]0|5[05]|7[01578]|8[078])\\d{7}', - 'example' => '917123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '810', - 'preferredInternationalPrefix' => '8~10', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{6})(\\d)(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '331', - '3317', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '44[02-479]|[34]7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d)(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '3(?:[1245]|3[12])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[0-57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TJ extends PhoneMetadata +{ + protected const ID = 'TJ'; + protected const COUNTRY_CODE = 992; + + protected ?string $internationalPrefix = '810'; + protected ?string $preferredInternationalPrefix = '8~10'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0-57-9]\d{8}') + ->setPossibleLengthLocalOnly([3, 5, 6, 7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\d{6}|(?:[09]\d|1[0-27-9]|2[0-27]|[34]0|5[05]|7[01578]|8[078])\d{7}') + ->setExampleNumber('917123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\d{6}') + ->setExampleNumber('372123456') + ->setPossibleLengthLocalOnly([3, 5, 6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{6})(\d)(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['331', '3317']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['44[02-479]|[34]7']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d)(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['3(?:[1245]|3[12])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[0-57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php index 2907634db..ea952a78d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TK.php @@ -1,4 +1,5 @@ 'TK', - 'countryCode' => 690, - 'generalDesc' => [ - 'pattern' => '[2-47]\\d{3,6}', - 'posLength' => [ - 4, - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[2-4]|[34]\\d)\\d{2,5}', - 'example' => '3101', - ], - 'mobile' => [ - 'pattern' => '7[2-4]\\d{2,5}', - 'example' => '7290', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TK extends PhoneMetadata +{ + protected const ID = 'TK'; + protected const COUNTRY_CODE = 690; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-47]\d{3,6}') + ->setPossibleLength([4, 5, 6, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[2-4]\d{2,5}') + ->setExampleNumber('7290'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[2-4]|[34]\d)\d{2,5}') + ->setExampleNumber('3101'); + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php index d35bfab07..7e7282db5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TL.php @@ -1,4 +1,5 @@ 'TL', - 'countryCode' => 670, - 'generalDesc' => [ - 'pattern' => '7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}', - 'posLength' => [ - 7, - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[1-5]|3[1-9]|4[1-4])\\d{5}', - 'example' => '2112345', - 'posLength' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '7[2-8]\\d{6}', - 'example' => '77212345', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{5}', - 'example' => '8012345', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'pattern' => '90\\d{5}', - 'example' => '9012345', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '70\\d{5}', - 'example' => '7012345', - 'posLength' => [ - 7, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[2-489]|70', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TL extends PhoneMetadata +{ + protected const ID = 'TL'; + protected const COUNTRY_CODE = 670; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7\d{7}|(?:[2-47]\d|[89]0)\d{5}') + ->setPossibleLength([7, 8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[2-8]\d{6}') + ->setExampleNumber('77212345') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{5}') + ->setExampleNumber('9012345') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[1-5]|3[1-9]|4[1-4])\d{5}') + ->setExampleNumber('2112345') + ->setPossibleLength([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[2-489]|70']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{5}') + ->setExampleNumber('8012345') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('70\d{5}') + ->setExampleNumber('7012345') + ->setPossibleLength([7]); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php index 885f3431e..63f106012 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TM.php @@ -1,4 +1,5 @@ 'TM', - 'countryCode' => 993, - 'generalDesc' => [ - 'pattern' => '(?:[1-6]\\d|71)\\d{6}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}', - 'example' => '12345678', - ], - 'mobile' => [ - 'pattern' => '(?:6\\d|71)\\d{6}', - 'example' => '66123456', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '810', - 'preferredInternationalPrefix' => '8~10', - 'nationalPrefix' => '8', - 'nationalPrefixForParsing' => '8', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '12', - ], - 'nationalPrefixFormattingRule' => '(8 $1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d)(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => [ - '[1-5]', - ], - 'nationalPrefixFormattingRule' => '(8 $1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[67]', - ], - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TM extends PhoneMetadata +{ + protected const ID = 'TM'; + protected const COUNTRY_CODE = 993; + protected const NATIONAL_PREFIX = '8'; + + protected ?string $nationalPrefixForParsing = '8'; + protected ?string $internationalPrefix = '810'; + protected ?string $preferredInternationalPrefix = '8~10'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[1-6]\d|71)\d{6}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6\d|71)\d{6}') + ->setExampleNumber('66123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:2\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\d|6[15])|5(?:22|5[7-9]|6[014-689]))\d{5}') + ->setExampleNumber('12345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['12']) + ->setNationalPrefixFormattingRule('(8 $1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{2})(\d{2})') + ->setFormat('$1 $2-$3-$4') + ->setLeadingDigitsPattern(['[1-5]']) + ->setNationalPrefixFormattingRule('(8 $1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[67]']) + ->setNationalPrefixFormattingRule('8 $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php index 1097c962e..569a71274 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TN.php @@ -1,4 +1,5 @@ 'TN', - 'countryCode' => 216, - 'generalDesc' => [ - 'pattern' => '[2-57-9]\\d{7}', - 'posLength' => [ - 8, - ], - ], - 'fixedLine' => [ - 'pattern' => '81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}', - 'example' => '30010123', - ], - 'mobile' => [ - 'pattern' => '3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-8])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}', - 'example' => '20123456', - ], - 'tollFree' => [ - 'pattern' => '8010\\d{4}', - 'example' => '80101234', - ], - 'premiumRate' => [ - 'pattern' => '88\\d{6}', - 'example' => '88123456', - ], - 'sharedCost' => [ - 'pattern' => '8[12]10\\d{4}', - 'example' => '81101234', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TN extends PhoneMetadata +{ + protected const ID = 'TN'; + protected const COUNTRY_CODE = 216; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-57-9]\d{7}') + ->setPossibleLength([8]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:001|[12]40)\d{4}|(?:(?:[259]\d|4[0-8])\d|3(?:1[1-35]|6[0-4]|91))\d{5}') + ->setExampleNumber('20123456'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88\d{6}') + ->setExampleNumber('88123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81200\d{3}|(?:3[0-2]|7\d)\d{6}') + ->setExampleNumber('30010123'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8010\d{4}') + ->setExampleNumber('80101234'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[12]10\d{4}') + ->setExampleNumber('81101234'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php index b192a55a2..eaee4a19e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TO.php @@ -1,4 +1,5 @@ 'TO', - 'countryCode' => 676, - 'generalDesc' => [ - 'pattern' => '(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}', - 'posLength' => [ - 5, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}', - 'example' => '20123', - 'posLength' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}', - 'example' => '7715123', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '0800\\d{3}', - 'example' => '0800222', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '55[0-37-9]\\d{4}', - 'example' => '5510123', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[2-4]|50|6[09]|7[0-24-69]|8[05]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[5-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TO extends PhoneMetadata +{ + protected const ID = 'TO'; + protected const COUNTRY_CODE = 676; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0800|(?:[5-8]\d\d|999)\d)\d{3}|[2-8]\d{4}') + ->setPossibleLength([5, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5(?:4[0-5]|5[4-6])|6(?:[09]\d|3[02]|8[15-9])|(?:7\d|8[46-9])\d|999)\d{4}') + ->setExampleNumber('7715123') + ->setPossibleLength([7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\d{3}') + ->setExampleNumber('20123') + ->setPossibleLength([5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[2-4]|50|6[09]|7[0-24-69]|8[05]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[5-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0800\d{3}') + ->setExampleNumber('0800222') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('55[0-37-9]\d{4}') + ->setExampleNumber('5510123') + ->setPossibleLength([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php index afa0e6187..f3bbd4a2c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TR.php @@ -1,4 +1,5 @@ 'TR', - 'countryCode' => 90, - 'generalDesc' => [ - 'pattern' => '4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 7, - 10, - 12, - 13, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}', - 'example' => '2123456789', - 'posLength' => [ - 10, - ], - ], - 'mobile' => [ - 'pattern' => '561(?:011|61\\d)\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}', - 'example' => '5012345678', - 'posLength' => [ - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})', - 'example' => '8001234567', - 'posLength' => [ - 10, - 12, - 13, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:8[89]8|900)\\d{7}', - 'example' => '9001234567', - 'posLength' => [ - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '592(?:21[12]|461)\\d{4}', - 'example' => '5922121234', - 'posLength' => [ - 10, - ], - ], - 'voip' => [ - 'pattern' => '850\\d{7}', - 'example' => '8500123456', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'pattern' => '512\\d{7}', - 'example' => '5123456789', - 'posLength' => [ - 10, - ], - ], - 'uan' => [ - 'pattern' => '444\\d{4}', - 'example' => '4441444', - 'posLength' => [ - 7, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '(?:444|811\\d{3})\\d{4}', - 'posLength' => [ - 7, - 10, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d)(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '444', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '512|8[01589]|90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '5(?:[0-59]|61)', - '5(?:[0-59]|61[06])', - '5(?:[0-59]|61[06]1)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24][1-8]|3[1-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{6,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '512|8[01589]|90', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '5(?:[0-59]|61)', - '5(?:[0-59]|61[06])', - '5(?:[0-59]|61[06]1)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[24][1-8]|3[1-9]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{6,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TR extends PhoneMetadata +{ + protected const ID = 'TR'; + protected const COUNTRY_CODE = 90; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4\d{6}|8\d{11,12}|(?:[2-58]\d\d|900)\d{7}') + ->setPossibleLength([7, 10, 12, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('561(?:011|61\d)\d{4}|5(?:0[15-7]|1[06]|24|[34]\d|5[1-59]|9[46])\d{7}') + ->setExampleNumber('5012345678') + ->setPossibleLength([10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8[89]8|900)\d{7}') + ->setExampleNumber('9001234567') + ->setPossibleLength([10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\d{7}') + ->setExampleNumber('2123456789') + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d)(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['444']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['512|8[01589]|90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['5(?:[0-59]|61)', '5(?:[0-59]|61[06])', '5(?:[0-59]|61[06]1)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24][1-8]|3[1-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{6,7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00\d{7}(?:\d{2,3})?|11\d{7})') + ->setExampleNumber('8001234567') + ->setPossibleLength([10, 12, 13]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('592(?:21[12]|461)\d{4}') + ->setExampleNumber('5922121234') + ->setPossibleLength([10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('850\d{7}') + ->setExampleNumber('8500123456') + ->setPossibleLength([10]); + $this->pager = (new PhoneNumberDesc()) + ->setNationalNumberPattern('512\d{7}') + ->setExampleNumber('5123456789') + ->setPossibleLength([10]); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('444\d{4}') + ->setExampleNumber('4441444') + ->setPossibleLength([7]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:444|811\d{3})\d{4}') + ->setPossibleLength([7, 10]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['512|8[01589]|90']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['5(?:[0-59]|61)', '5(?:[0-59]|61[06])', '5(?:[0-59]|61[06]1)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[24][1-8]|3[1-9]']) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{6,7})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php index 6139158d1..269da473c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TT.php @@ -1,4 +1,5 @@ 'TT', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}', - 'example' => '8682211234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}', - 'example' => '8682911234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'pattern' => '868619\\d{4}', - 'example' => '8686191234', - 'posLengthLocal' => [ - 7, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-46-8]\\d{6})$|1', - 'nationalPrefixTransformRule' => '868$1', - 'numberFormat' => [], - 'leadingDigits' => '868', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TT extends PhoneMetadata +{ + protected const ID = 'TT'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '868'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-46-8]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '868$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('868(?:(?:2[5-9]|3\d)\d|4(?:3[0-6]|[6-9]\d)|6(?:20|78|8\d)|7(?:0[1-9]|1[02-9]|[2-9]\d))\d{4}') + ->setExampleNumber('8682911234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('868(?:2(?:01|1[5-9]|[23]\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\d|7[0-79])|82[124])\d{4}') + ->setExampleNumber('8682211234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('868619\d{4}') + ->setExampleNumber('8686191234') + ->setPossibleLengthLocalOnly([7]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php index 08fdcd953..06b288315 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TV.php @@ -1,4 +1,5 @@ 'TV', - 'countryCode' => 688, - 'generalDesc' => [ - 'pattern' => '(?:2|7\\d\\d|90)\\d{4}', - 'posLength' => [ - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[02-9]\\d{3}', - 'example' => '20123', - 'posLength' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:7[01]\\d|90)\\d{4}', - 'example' => '901234', - 'posLength' => [ - 6, - 7, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '90', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TV extends PhoneMetadata +{ + protected const ID = 'TV'; + protected const COUNTRY_CODE = 688; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2|7\d\d|90)\d{4}') + ->setPossibleLength([5, 6, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7[01]\d|90)\d{4}') + ->setExampleNumber('901234') + ->setPossibleLength([6, 7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[02-9]\d{3}') + ->setExampleNumber('20123') + ->setPossibleLength([5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['90']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php index 30cbe936c..e698c3821 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TW.php @@ -1,4 +1,5 @@ 'TW', - 'countryCode' => 886, - 'generalDesc' => [ - 'pattern' => '[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}', - 'posLength' => [ - 7, - 8, - 9, - 10, - 11, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}', - 'example' => '221234567', - 'posLength' => [ - 8, - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:40001[0-2]|9[0-8]\\d{4})\\d{3}', - 'example' => '912345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80[0-79]\\d{6}|800\\d{5}', - 'example' => '800123456', - 'posLength' => [ - 8, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '20(?:[013-9]\\d\\d|2)\\d{4}', - 'example' => '203123456', - 'posLength' => [ - 7, - 9, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '99\\d{7}', - 'example' => '990123456', - 'posLength' => [ - 9, - ], - ], - 'voip' => [ - 'pattern' => '7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}', - 'example' => '7012345678', - 'posLength' => [ - 10, - 11, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '50[0-46-9]\\d{6}', - 'example' => '500123456', - 'posLength' => [ - 9, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0[25-79]|19)', - 'nationalPrefix' => '0', - 'preferredExtnPrefix' => '#', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d)(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '202', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[258]0', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]', - '[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[49]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4,5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TW extends PhoneMetadata +{ + protected const ID = 'TW'; + protected const COUNTRY_CODE = 886; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '0(?:0[25-79]|19)'; + protected ?string $preferredExtnPrefix = '#'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-689]\d{8}|7\d{9,10}|[2-8]\d{7}|2\d{6}') + ->setPossibleLength([7, 8, 9, 10, 11]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:40001[0-2]|9[0-8]\d{4})\d{3}') + ->setExampleNumber('912345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:[013-9]\d\d|2)\d{4}') + ->setExampleNumber('203123456') + ->setPossibleLength([7, 9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[2-8]\d|370|55[01]|7[1-9])\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\d)|1[023]\d)\d{4,5}|(?:[239]\d\d|4(?:0[56]|12|49))\d{5})|6(?:[01]\d{7}|4(?:0[56]|12|24|4[09])\d{4,5})|8(?:(?:2(?:3\d|4[0-269]|[578]0|66)|36[24-9]|90\d\d)\d{4}|4(?:0[56]|12|24|4[09])\d{4,5})|(?:2(?:2(?:0\d\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\d|1[0-4])|(?:4\d|5[0-49]|6[0-29]|7[0-5])\d)\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\d\d|4(?:2(?:[089]\d|7[1-9])|(?:3[0-4]|[78]\d|9[01])\d))\d)\d{3}') + ->setExampleNumber('221234567') + ->setPossibleLength([8, 9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d)(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['202']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[258]0']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3,4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]', '[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[49]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4,5})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-79]\d{6}|800\d{5}') + ->setExampleNumber('800123456') + ->setPossibleLength([8, 9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99\d{7}') + ->setExampleNumber('990123456') + ->setPossibleLength([9]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7010(?:[0-2679]\d|3[0-7]|8[0-5])\d{5}|70\d{8}') + ->setExampleNumber('7012345678') + ->setPossibleLength([10, 11]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('50[0-46-9]\d{6}') + ->setExampleNumber('500123456') + ->setPossibleLength([9]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php index e334a0f7e..0d478d71d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_TZ.php @@ -1,4 +1,5 @@ 'TZ', - 'countryCode' => 255, - 'generalDesc' => [ - 'pattern' => '(?:[25-8]\\d|41|90)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '2[2-8]\\d{7}', - 'example' => '222345678', - ], - 'mobile' => [ - 'pattern' => '(?:6[125-9]|7[13-9])\\d{7}', - 'example' => '621234567', - ], - 'tollFree' => [ - 'pattern' => '80[08]\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '90\\d{7}', - 'example' => '900123456', - ], - 'sharedCost' => [ - 'pattern' => '8(?:40|6[01])\\d{6}', - 'example' => '840123456', - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '41\\d{7}', - 'example' => '412345678', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '(?:8(?:[04]0|6[01])|90\\d)\\d{6}', - ], - 'internationalPrefix' => '00[056]', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[24]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '5', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[67]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_TZ extends PhoneMetadata +{ + protected const ID = 'TZ'; + protected const COUNTRY_CODE = 255; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00[056]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[25-8]\d|41|90)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:6[125-9]|7[13-9])\d{7}') + ->setExampleNumber('621234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90\d{7}') + ->setExampleNumber('900123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[2-8]\d{7}') + ->setExampleNumber('222345678'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[24]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['5']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[67]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[08]\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:40|6[01])\d{6}') + ->setExampleNumber('840123456'); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('41\d{7}') + ->setExampleNumber('412345678'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:8(?:[04]0|6[01])|90\d)\d{6}'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php index 1b9f3ec21..aa9cde55a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UA.php @@ -1,4 +1,5 @@ 'UA', - 'countryCode' => 380, - 'generalDesc' => [ - 'pattern' => '[89]\\d{9}|[3-9]\\d{8}', - 'posLength' => [ - 9, - 10, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}', - 'example' => '311234567', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '790\\d{6}|(?:39|50|6[36-8]|7[1-357]|9[1-9])\\d{7}', - 'example' => '501234567', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '800[1-8]\\d{5,6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '900[239]\\d{5,6}', - 'example' => '900212345', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '89[1-579]\\d{6}', - 'example' => '891234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'preferredInternationalPrefix' => '0~0', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]', - '6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])', - '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[3-7]|89|9[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_UA extends PhoneMetadata +{ + protected const ID = 'UA'; + protected const COUNTRY_CODE = 380; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected ?string $preferredInternationalPrefix = '0~0'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[89]\d{9}|[3-9]\d{8}') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('790\d{6}|(?:39|50|6[36-8]|7[1-357]|9[1-9])\d{7}') + ->setExampleNumber('501234567') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[239]\d{5,6}') + ->setExampleNumber('900212345'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\d{7}') + ->setExampleNumber('311234567') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern([ + '6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]', + '6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])', + '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[3-7]|89|9[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[1-8]\d{5,6}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('89[1-579]\d{6}') + ->setExampleNumber('891234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php index a2a6682f3..9490a416a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UG.php @@ -1,4 +1,5 @@ 'UG', - 'countryCode' => 256, - 'generalDesc' => [ - 'pattern' => '800\\d{6}|(?:[29]0|[347]\\d)\\d{7}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}', - 'example' => '312345678', - 'posLengthLocal' => [ - 5, - 6, - 7, - ], - ], - 'mobile' => [ - 'pattern' => '72[48]0\\d{5}|7(?:[015-8]\\d|2[067]|36|4[0-6]|9[89])\\d{6}', - 'example' => '712345678', - ], - 'tollFree' => [ - 'pattern' => '800[1-3]\\d{5}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'pattern' => '90[1-3]\\d{6}', - 'example' => '901123456', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00[057]', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{4})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '202', - '2024', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[27-9]|4(?:6[45]|[7-9])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[34]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_UG extends PhoneMetadata +{ + protected const ID = 'UG'; + protected const COUNTRY_CODE = 256; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00[057]'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}|(?:[29]0|[347]\d)\d{7}') + ->setPossibleLengthLocalOnly([5, 6, 7]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('72[48]0\d{5}|7(?:[014-8]\d|2[067]|36|9[0189])\d{6}') + ->setExampleNumber('712345678'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[1-3]\d{6}') + ->setExampleNumber('901123456'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('20(?:(?:240|30[67])\d|6(?:00[0-2]|30[0-4]))\d{3}|(?:20(?:[017]\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\d{3})\d{5}') + ->setExampleNumber('312345678') + ->setPossibleLengthLocalOnly([5, 6, 7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{4})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['202', '2024']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[27-9]|4(?:6[45]|[7-9])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[34]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800[1-3]\d{5}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php index dfdde14d9..f3fe7fbe6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_US.php @@ -1,4 +1,5 @@ 'US', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '[2-9]\\d{9}|3\\d{6}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', - 'example' => '2015550123', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', - 'example' => '2015550123', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'pattern' => '305209\\d{4}', - 'example' => '3052090123', - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '310', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[24-9]|3(?:[02-9]|1[1-9])', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '($1) $2-$3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '310', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => [ - '[2-9]', - ], - ], - ], - 'mainCountryForCode' => true, - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_US extends PhoneMetadata +{ + protected const ID = 'US'; + protected const COUNTRY_CODE = 1; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '1'; + protected ?string $internationalPrefix = '011'; + protected bool $mainCountryForCode = true; + protected bool $mobileNumberPortableRegion = true; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{9}|3\d{6}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3052(?:0[0-8]|[1-9]\d)|5056(?:[0-35-9]\d|4[0-68]))\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|983[2-47-9])\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\d{6}') + ->setExampleNumber('2015550123') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3052(?:0[0-8]|[1-9]\d)|5056(?:[0-35-9]\d|4[0-68]))\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|983[2-47-9])\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\d{6}') + ->setExampleNumber('2015550123') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['310']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[24-9]|3(?:[02-9]|1[1-9])']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('($1) $2-$3') + ->setLeadingDigitsPattern(['[2-9]']) + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('305209\d{4}') + ->setExampleNumber('3052090123') + ->setPossibleLengthLocalOnly([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['310']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1-$2-$3') + ->setLeadingDigitsPattern(['[2-9]']), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php index ffb2b38a1..04ce6250b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UY.php @@ -1,4 +1,5 @@ 'UY', - 'countryCode' => 598, - 'generalDesc' => [ - 'pattern' => '0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:770|9(?:20|[89]7))|(?:2\\d|4[2-7])\\d\\d)\\d{4}', - 'example' => '21231234', - 'posLength' => [ - 8, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '9[1-9]\\d{6}', - 'example' => '94231234', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '0004\\d{2,9}|(?:405|80[05])\\d{4}', - 'example' => '8001234', - ], - 'premiumRate' => [ - 'pattern' => '90[0-8]\\d{4}', - 'example' => '9001234', - 'posLength' => [ - 7, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0(?:0|1[3-9]\\d)', - 'preferredInternationalPrefix' => '00', - 'nationalPrefix' => '0', - 'preferredExtnPrefix' => ' int. ', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[49]0|8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '9', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[124]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{2,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '0', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_UY extends PhoneMetadata +{ + protected const ID = 'UY'; + protected const COUNTRY_CODE = 598; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '0(?:0|1[3-9]\d)'; + protected ?string $preferredInternationalPrefix = '00'; + protected ?string $preferredExtnPrefix = ' int. '; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0004\d{2,9}|[1249]\d{7}|(?:[49]\d|80)\d{5}') + ->setPossibleLength([6, 7, 8, 9, 10, 11, 12, 13]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[1-9]\d{6}') + ->setExampleNumber('94231234') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[0-8]\d{4}') + ->setExampleNumber('9001234') + ->setPossibleLength([7]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:770|9(?:20|[89]7))|(?:2\d|4[2-7])\d\d)\d{4}') + ->setExampleNumber('21231234') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[49]0|8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['9']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[124]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{2,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})(\d{2,4})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['0']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0004\d{2,9}|(?:405|80[05])\d{4}') + ->setExampleNumber('8001234'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php index 2bfad4644..84bd2d90f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_UZ.php @@ -1,4 +1,5 @@ 'UZ', - 'countryCode' => 998, - 'generalDesc' => [ - 'pattern' => '(?:20|33|[5-79]\\d|88)\\d{7}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|[69]\\d\\d|7(?:[23]\\d|7[69]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\d{5}', - 'example' => '669050123', - ], - 'mobile' => [ - 'pattern' => '(?:(?:[25]0|33|88|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079])))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}', - 'example' => '912345678', - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '[235-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_UZ extends PhoneMetadata +{ + protected const ID = 'UZ'; + protected const COUNTRY_CODE = 998; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:20|33|[5-9]\d)\d{7}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:(?:[25]0|33|8[78]|9[0-57-9])\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\d|61[23]|7(?:[01][017]|4\d|55|9[5-9]))|2(?:(?:11|7\d)\d|2(?:[12]1|9[01379])|5(?:[126]\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\d)\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\d|4(?:56|83)|7(?:[07]\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\d|[39][07])|9(?:0\d|7[079])))|7(?:[07]\d{3}|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\d|7(?:0\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\d|5(?:0[0-4]|5[579]|9\d)|7(?:[0-3579]\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\d|9[5-9])|7(?:0\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\d))|5(?:112|2(?:0\d|2[29]|[49]4)|3[1568]\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\d)|57[02569]|7(?:2[05-9]|3[37]|4\d|60|7[2579]|87|9[07]))))\d{4}') + ->setExampleNumber('912345678'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:55\d\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|[69]\d\d|7(?:[23]\d|7[69]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|[168]\d\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\d{5}') + ->setExampleNumber('669050123'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['[235-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php index 251dfd39a..9eae0597e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VA.php @@ -1,4 +1,5 @@ 'VA', - 'countryCode' => 39, - 'generalDesc' => [ - 'pattern' => '0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '06698\\d{1,6}', - 'example' => '0669812345', - 'posLength' => [ - 6, - 7, - 8, - 9, - 10, - 11, - ], - ], - 'mobile' => [ - 'pattern' => '3[1-9]\\d{8}|3[2-9]\\d{7}', - 'example' => '3123456789', - 'posLength' => [ - 9, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '80(?:0\\d{3}|3)\\d{3}', - 'example' => '800123456', - 'posLength' => [ - 6, - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}', - 'example' => '899123456', - 'posLength' => [ - 6, - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'pattern' => '84(?:[08]\\d{3}|[17])\\d{3}', - 'example' => '848123456', - 'posLength' => [ - 6, - 9, - ], - ], - 'personalNumber' => [ - 'pattern' => '1(?:78\\d|99)\\d{6}', - 'example' => '1781234567', - 'posLength' => [ - 9, - 10, - ], - ], - 'voip' => [ - 'pattern' => '55\\d{8}', - 'example' => '5512345678', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'pattern' => '3[2-8]\\d{9,10}', - 'example' => '33101234501', - 'posLength' => [ - 11, - 12, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [], - 'leadingDigits' => '06698', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VA extends PhoneMetadata +{ + protected const ID = 'VA'; + protected const COUNTRY_CODE = 39; + protected const LEADING_DIGITS = '06698'; + + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0\d{5,10}|3[0-8]\d{7,10}|55\d{8}|8\d{5}(?:\d{2,4})?|(?:1\d|39)\d{7,8}') + ->setPossibleLength([6, 7, 8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[1-9]\d{8}|3[2-9]\d{7}') + ->setExampleNumber('3123456789') + ->setPossibleLength([9, 10]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0878\d{3}|89(?:2\d|3[04]|4(?:[0-4]|[5-9]\d\d)|5[0-4]))\d\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\d{6}') + ->setExampleNumber('899123456') + ->setPossibleLength([6, 8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('06698\d{1,6}') + ->setExampleNumber('0669812345') + ->setPossibleLength([6, 7, 8, 9, 10, 11]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:0\d{3}|3)\d{3}') + ->setExampleNumber('800123456') + ->setPossibleLength([6, 9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('84(?:[08]\d{3}|[17])\d{3}') + ->setExampleNumber('848123456') + ->setPossibleLength([6, 9]); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:78\d|99)\d{6}') + ->setExampleNumber('1781234567') + ->setPossibleLength([9, 10]); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('55\d{8}') + ->setExampleNumber('5512345678') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2-8]\d{9,10}') + ->setExampleNumber('33101234501') + ->setPossibleLength([11, 12]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php index c869f3c0e..e3fbe2ba9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VC.php @@ -1,4 +1,5 @@ 'VC', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:[58]\\d\\d|784|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}', - 'example' => '7842661234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}', - 'example' => '7844301234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'pattern' => '78451[0-2]\\d{4}', - 'example' => '7845101234', - 'posLengthLocal' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-7]\\d{6})$|1', - 'nationalPrefixTransformRule' => '784$1', - 'numberFormat' => [], - 'leadingDigits' => '784', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VC extends PhoneMetadata +{ + protected const ID = 'VC'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '784'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-7]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '784$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d\d|784|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\d{4}') + ->setExampleNumber('7844301234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('784(?:266|3(?:6[6-9]|7\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\d{4}') + ->setExampleNumber('7842661234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('78451[0-2]\d{4}') + ->setExampleNumber('7845101234') + ->setPossibleLengthLocalOnly([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php index e804f7088..6e064cfb7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VE.php @@ -1,4 +1,5 @@ 'VE', - 'countryCode' => 58, - 'generalDesc' => [ - 'pattern' => '[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}', - 'example' => '2121234567', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '4(?:1[24-8]|2[46])\\d{7}', - 'example' => '4121234567', - ], - 'tollFree' => [ - 'pattern' => '800\\d{7}', - 'example' => '8001234567', - ], - 'premiumRate' => [ - 'pattern' => '90[01]\\d{7}', - 'example' => '9001234567', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '501\\d{7}', - 'example' => '5010123456', - 'posLengthLocal' => [ - 7, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{7})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => [ - '[24-689]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VE extends PhoneMetadata +{ + protected const ID = 'VE'; + protected const COUNTRY_CODE = 58; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[68]00\d{7}|(?:[24]\d|[59]0)\d{8}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:1[24-8]|2[246])\d{7}') + ->setExampleNumber('4121234567'); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('90[01]\d{7}') + ->setExampleNumber('9001234567'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:12|3[457-9]|[467]\d|[58][1-9]|9[1-6])|[4-6]00)\d{7}') + ->setExampleNumber('2121234567') + ->setPossibleLengthLocalOnly([7]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{7})') + ->setFormat('$1-$2') + ->setLeadingDigitsPattern(['[24-689]']) + ->setNationalPrefixFormattingRule('0$1') + ->setDomesticCarrierCodeFormattingRule('$CC $1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{7}') + ->setExampleNumber('8001234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('501\d{7}') + ->setExampleNumber('5010123456') + ->setPossibleLengthLocalOnly([7]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php index a05af1e48..0df3a41cc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VG.php @@ -1,4 +1,5 @@ 'VG', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '(?:284|[58]\\d\\d|900)\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}', - 'example' => '2842291234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}', - 'example' => '2843001234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-578]\\d{6})$|1', - 'nationalPrefixTransformRule' => '284$1', - 'numberFormat' => [], - 'leadingDigits' => '284', - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VG extends PhoneMetadata +{ + protected const ID = 'VG'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '284'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-578]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '284$1'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:284|[58]\d\d|900)\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\d{4}') + ->setExampleNumber('2843001234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\d{4}') + ->setExampleNumber('2842291234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php index fbdb75a7f..e099abdcb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VI.php @@ -1,4 +1,5 @@ 'VI', - 'countryCode' => 1, - 'generalDesc' => [ - 'pattern' => '[58]\\d{9}|(?:34|90)0\\d{7}', - 'posLength' => [ - 10, - ], - 'posLengthLocal' => [ - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', - 'example' => '3406421234', - 'posLengthLocal' => [ - 7, - ], - ], - 'mobile' => [ - 'pattern' => '340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', - 'example' => '3406421234', - 'posLengthLocal' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', - 'example' => '8002345678', - ], - 'premiumRate' => [ - 'pattern' => '900[2-9]\\d{6}', - 'example' => '9002345678', - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'pattern' => '52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', - 'example' => '5002345678', - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '011', - 'nationalPrefix' => '1', - 'nationalPrefixForParsing' => '([2-9]\\d{6})$|1', - 'nationalPrefixTransformRule' => '340$1', - 'sameMobileAndFixedLinePattern' => true, - 'numberFormat' => [], - 'leadingDigits' => '340', -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VI extends PhoneMetadata +{ + protected const ID = 'VI'; + protected const COUNTRY_CODE = 1; + protected const LEADING_DIGITS = '340'; + protected const NATIONAL_PREFIX = '1'; + + protected ?string $nationalPrefixForParsing = '([2-9]\d{6})$|1'; + protected ?string $internationalPrefix = '011'; + protected ?string $nationalPrefixTransformRule = '340$1'; + protected bool $sameMobileAndFixedLinePattern = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[58]\d{9}|(?:34|90)0\d{7}') + ->setPossibleLengthLocalOnly([7]) + ->setPossibleLength([10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('340(?:2(?:0\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\d)|884|998)\d{4}') + ->setExampleNumber('3406421234') + ->setPossibleLengthLocalOnly([7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900[2-9]\d{6}') + ->setExampleNumber('9002345678'); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('340(?:2(?:0\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\d)|884|998)\d{4}') + ->setExampleNumber('3406421234') + ->setPossibleLengthLocalOnly([7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') + ->setExampleNumber('8002345678'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = (new PhoneNumberDesc()) + ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') + ->setExampleNumber('5002345678'); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php index 7dc488abb..06db1e7c2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VN.php @@ -1,4 +1,5 @@ 'VN', - 'countryCode' => 84, - 'generalDesc' => [ - 'pattern' => '[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}', - 'posLength' => [ - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}', - 'example' => '2101234567', - 'posLength' => [ - 10, - ], - ], - 'mobile' => [ - 'pattern' => '(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\d{6}|(?:3\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\d{7}', - 'example' => '912345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1800\\d{4,6}|12(?:0[13]|28)\\d{4}', - 'example' => '1800123456', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'premiumRate' => [ - 'pattern' => '1900\\d{4,6}', - 'example' => '1900123456', - 'posLength' => [ - 8, - 9, - 10, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '672\\d{6}', - 'example' => '672012345', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:[17]99|80\\d)\\d{4}|69\\d{5,6}', - 'example' => '1992000', - 'posLength' => [ - 7, - 8, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'pattern' => '[17]99\\d{4}|69\\d{5,6}', - 'posLength' => [ - 7, - 8, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[17]99', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '69', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[357-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[48]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{4})(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '6', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[357-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2[48]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - [ - 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VN extends PhoneMetadata +{ + protected const ID = 'VN'; + protected const COUNTRY_CODE = 84; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d{9}|[135-9]\d{8}|[16]\d{7}|[16-8]\d{6}') + ->setPossibleLength([7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:5(?:2[238]|59)|89[6-9]|99[013-9])\d{6}|(?:3\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\d{7}') + ->setExampleNumber('912345678') + ->setPossibleLength([9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1900\d{4,6}') + ->setExampleNumber('1900123456') + ->setPossibleLength([8, 9, 10]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\d{7}') + ->setExampleNumber('2101234567') + ->setPossibleLength([10]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[17]99']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['69']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[357-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[48]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1800\d{4,6}|12(?:0[13]|28)\d{4}') + ->setExampleNumber('1800123456') + ->setPossibleLength([8, 9, 10]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('672\d{6}') + ->setExampleNumber('672012345') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[17]99|80\d)\d{4}|69\d{5,6}') + ->setExampleNumber('1992000') + ->setPossibleLength([7, 8]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]99\d{4}|69\d{5,6}') + ->setPossibleLength([7, 8]); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{4,6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['1']) + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['6']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[357-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{4})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2[48]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(true), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php index 1ec3f2293..ebb3fe61c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_VU.php @@ -1,4 +1,5 @@ 'VU', - 'countryCode' => 678, - 'generalDesc' => [ - 'pattern' => '[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}', - 'posLength' => [ - 5, - 7, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}', - 'example' => '22123', - 'posLength' => [ - 5, - ], - ], - 'mobile' => [ - 'pattern' => '(?:[58]\\d|7[013-7])\\d{5}', - 'example' => '5912345', - 'posLength' => [ - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '81[18]\\d\\d', - 'example' => '81123', - 'posLength' => [ - 5, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:0[1-9]|1[01])\\d{4}', - 'example' => '9010123', - 'posLength' => [ - 7, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '(?:3[03]|900\\d)\\d{3}', - 'example' => '30123', - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[57-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_VU extends PhoneMetadata +{ + protected const ID = 'VU'; + protected const COUNTRY_CODE = 678; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[57-9]\d{6}|(?:[238]\d|48)\d{3}') + ->setPossibleLength([5, 7]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[58]\d|7[013-7])\d{5}') + ->setExampleNumber('5912345') + ->setPossibleLength([7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:38[0-8]|48[4-9])\d\d|(?:2[02-9]|3[4-7]|88)\d{3}') + ->setExampleNumber('22123') + ->setPossibleLength([5]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[57-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('81[18]\d\d') + ->setExampleNumber('81123') + ->setPossibleLength([5]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0[1-9]|1[01])\d{4}') + ->setExampleNumber('9010123') + ->setPossibleLength([7]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[03]|900\d)\d{3}') + ->setExampleNumber('30123'); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php index 1c81f875a..f967562c8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WF.php @@ -1,4 +1,5 @@ 'WF', - 'countryCode' => 681, - 'generalDesc' => [ - 'pattern' => '(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}', - 'posLength' => [ - 6, - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '72\\d{4}', - 'example' => '721234', - 'posLength' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:72|8[23])\\d{4}', - 'example' => '821234', - 'posLength' => [ - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '80[0-5]\\d{6}', - 'example' => '800012345', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9[23]\\d{4}', - 'example' => '921234', - 'posLength' => [ - 6, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'pattern' => '[48]0\\d{4}', - 'example' => '401234', - 'posLength' => [ - 6, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[47-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_WF extends PhoneMetadata +{ + protected const ID = 'WF'; + protected const COUNTRY_CODE = 681; + + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:40|72|8\d{4})\d{4}|[89]\d{5}') + ->setPossibleLength([6, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:72|8[23])\d{4}') + ->setExampleNumber('821234') + ->setPossibleLength([6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('72\d{4}') + ->setExampleNumber('721234') + ->setPossibleLength([6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[47-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') + ->setFormat('$1 $2 $3 $4') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80[0-5]\d{6}') + ->setExampleNumber('800012345') + ->setPossibleLength([9]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[23]\d{4}') + ->setExampleNumber('921234') + ->setPossibleLength([6]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[48]0\d{4}') + ->setExampleNumber('401234') + ->setPossibleLength([6]); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php index b74aef98b..b3fe903c5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_WS.php @@ -1,4 +1,5 @@ 'WS', - 'countryCode' => 685, - 'generalDesc' => [ - 'pattern' => '(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}', - 'posLength' => [ - 5, - 6, - 7, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}', - 'example' => '22123', - 'posLength' => [ - 5, - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}', - 'example' => '7212345', - 'posLength' => [ - 7, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{3}', - 'example' => '800123', - 'posLength' => [ - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => [ - '[2-5]|6[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3,7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[68]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_WS extends PhoneMetadata +{ + protected const ID = 'WS'; + protected const COUNTRY_CODE = 685; + + protected ?string $internationalPrefix = '0'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[2-6]|8\d{5})\d{4}|[78]\d{6}|[68]\d{5}') + ->setPossibleLength([5, 6, 7, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:7[1-35-8]|8(?:[3-7]|9\d{3}))\d{5}') + ->setExampleNumber('7212345') + ->setPossibleLength([7, 10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('6[1-9]\d{3}|(?:[2-5]|60)\d{4}') + ->setExampleNumber('22123') + ->setPossibleLength([5, 6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{5})') + ->setFormat('$1') + ->setLeadingDigitsPattern(['[2-5]|6[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[68]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{3}') + ->setExampleNumber('800123') + ->setPossibleLength([6]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php index 2faca2905..6248668e1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_XK.php @@ -1,4 +1,5 @@ 'XK', - 'countryCode' => 383, - 'generalDesc' => [ - 'pattern' => '2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}', - 'posLength' => [ - 8, - 9, - 10, - 11, - 12, - ], - ], - 'fixedLine' => [ - 'pattern' => '38\\d{6,10}|(?:2[89]|39)(?:0\\d{5,6}|[1-9]\\d{5})', - 'example' => '28012345', - ], - 'mobile' => [ - 'pattern' => '4[3-9]\\d{6}', - 'example' => '43201234', - 'posLength' => [ - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '800\\d{5}', - 'example' => '80001234', - 'posLength' => [ - 8, - ], - ], - 'premiumRate' => [ - 'pattern' => '900\\d{5}', - 'example' => '90001234', - 'posLength' => [ - 8, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[89]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[2-4]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2|39', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '3', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_XK extends PhoneMetadata +{ + protected const ID = 'XK'; + protected const COUNTRY_CODE = 383; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2\d{7,8}|3\d{7,11}|(?:4\d\d|[89]00)\d{5}') + ->setPossibleLength([8, 9, 10, 11, 12]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4[3-9]\d{6}') + ->setExampleNumber('43201234') + ->setPossibleLength([8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900\d{5}') + ->setExampleNumber('90001234') + ->setPossibleLength([8]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('38\d{6,10}|(?:2[89]|39)(?:0\d{5,6}|[1-9]\d{5})') + ->setExampleNumber('28012345'); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[89]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[2-4]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2|39']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7,10})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['3']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{5}') + ->setExampleNumber('80001234') + ->setPossibleLength([8]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php index 6cc5bf823..1be276019 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YE.php @@ -1,4 +1,5 @@ 'YE', - 'countryCode' => 967, - 'generalDesc' => [ - 'pattern' => '(?:1|7\\d)\\d{7}|[1-7]\\d{6}', - 'posLength' => [ - 7, - 8, - 9, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}', - 'example' => '1234567', - 'posLength' => [ - 7, - 8, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '7[01378]\\d{7}', - 'example' => '712345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'posLength' => [ - -1, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-6]|7(?:[24-6]|8[0-7])', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_YE extends PhoneMetadata +{ + protected const ID = 'YE'; + protected const COUNTRY_CODE = 967; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1|7\d)\d{7}|[1-7]\d{6}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7, 8, 9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7[01378]\d{7}') + ->setExampleNumber('712345678') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('78[0-7]\d{4}|17\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\d{5}') + ->setExampleNumber('1234567') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([7, 8]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-6]|7(?:[24-6]|8[0-7])']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = PhoneNumberDesc::empty(); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = PhoneNumberDesc::empty(); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php index 3bc428768..954ac8dff 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_YT.php @@ -1,4 +1,5 @@ 'YT', - 'countryCode' => 262, - 'generalDesc' => [ - 'pattern' => '(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}', - 'posLength' => [ - 9, - ], - ], - 'fixedLine' => [ - 'pattern' => '269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}', - 'example' => '269601234', - ], - 'mobile' => [ - 'pattern' => '639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}', - 'example' => '639012345', - ], - 'tollFree' => [ - 'pattern' => '80\\d{7}', - 'example' => '801234567', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '9(?:(?:39|47)8[01]|769\\d)\\d{4}', - 'example' => '939801234', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_YT extends PhoneMetadata +{ + protected const ID = 'YT'; + protected const COUNTRY_CODE = 262; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7093\d{5}|(?:80|9\d)\d{7}|(?:26|63)9\d{6}') + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:639(?:0[0-79]|1[019]|[267]\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\d{4}') + ->setExampleNumber('639012345'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('269(?:0[0-467]|15|5[0-4]|6\d|[78]0)\d{4}') + ->setExampleNumber('269601234'); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{7}') + ->setExampleNumber('801234567'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:(?:39|47)8[01]|769\d)\d{4}') + ->setExampleNumber('939801234'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php index da78014f1..08965d1b5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZA.php @@ -1,4 +1,5 @@ 'ZA', - 'countryCode' => 27, - 'generalDesc' => [ - 'pattern' => '[1-79]\\d{8}|8\\d{4,9}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}', - 'example' => '101234567', - 'posLength' => [ - 9, - ], - ], - 'mobile' => [ - 'pattern' => '(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d\\d|7(?:[0-46-9]\\d|5[0-4]))\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', - 'example' => '711234567', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80\\d{7}', - 'example' => '801234567', - 'posLength' => [ - 9, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:86[2-9]|9[0-2]\\d)\\d{6}', - 'example' => '862345678', - 'posLength' => [ - 9, - ], - ], - 'sharedCost' => [ - 'pattern' => '860\\d{6}', - 'example' => '860123456', - 'posLength' => [ - 9, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}', - 'example' => '871234567', - 'posLength' => [ - 9, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'pattern' => '861\\d{6,7}', - 'example' => '861123456', - 'posLength' => [ - 9, - 10, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{2})(\\d{3,4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8[1-4]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8[1-4]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '860', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'mobileNumberPortableRegion' => true, -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ZA extends PhoneMetadata +{ + protected const ID = 'ZA'; + protected const COUNTRY_CODE = 27; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + protected bool $mobileNumberPortableRegion = true; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-79]\d{8}|8\d{4,9}') + ->setPossibleLength([5, 6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\d{3}|8[1-4]\d{3,7}|(?:2[27]|47|54)4950\d{3}|(?:1(?:049[2-4]|9[12]\d\d)|(?:50[0-2]|6\d\d|7(?:[0-46-9]\d|5[0-4]))\d\d|8(?:5\d{3}|7(?:08[67]|158|28[5-9]|310)))\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\d{3}|(?:12|[2-5]1)492\d{4}') + ->setExampleNumber('711234567') + ->setPossibleLength([5, 6, 7, 8, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:86[2-9]|9[0-2]\d)\d{6}') + ->setExampleNumber('862345678') + ->setPossibleLength([9]); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2(?:0330|4302)|52087)0\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\d|5[1346-8])\d{7}') + ->setExampleNumber('101234567') + ->setPossibleLength([9]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8[1-4]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{2,3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8[1-4]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['860']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80\d{7}') + ->setExampleNumber('801234567') + ->setPossibleLength([9]); + $this->sharedCost = (new PhoneNumberDesc()) + ->setNationalNumberPattern('860\d{6}') + ->setExampleNumber('860123456') + ->setPossibleLength([9]); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\d)\d{5}') + ->setExampleNumber('871234567') + ->setPossibleLength([9]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = (new PhoneNumberDesc()) + ->setNationalNumberPattern('861\d{6,7}') + ->setExampleNumber('861123456') + ->setPossibleLength([9, 10]); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php index 69e2dfa23..e7d2c76a4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZM.php @@ -1,4 +1,5 @@ 'ZM', - 'countryCode' => 260, - 'generalDesc' => [ - 'pattern' => '800\\d{6}|(?:21|63|[79]\\d)\\d{7}', - 'posLength' => [ - 9, - ], - 'posLengthLocal' => [ - 6, - ], - ], - 'fixedLine' => [ - 'pattern' => '21[1-8]\\d{6}', - 'example' => '211234567', - 'posLengthLocal' => [ - 6, - ], - ], - 'mobile' => [ - 'pattern' => '(?:7[5-79]|9[5-8])\\d{7}', - 'example' => '955123456', - ], - 'tollFree' => [ - 'pattern' => '800\\d{6}', - 'example' => '800123456', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '63\\d{7}', - 'example' => '630123456', - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[1-9]', - ], - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[28]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], - 'intlNumberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[28]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '[79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ZM extends PhoneMetadata +{ + protected const ID = 'ZM'; + protected const COUNTRY_CODE = 260; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}|(?:21|[579]\d|63)\d{7}') + ->setPossibleLengthLocalOnly([6]) + ->setPossibleLength([9]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:[59][5-8]|7[5-9])\d{7}') + ->setExampleNumber('955123456'); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('21[1-8]\d{6}') + ->setExampleNumber('211234567') + ->setPossibleLengthLocalOnly([6]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[1-9]']) + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[28]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[579]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('800\d{6}') + ->setExampleNumber('800123456'); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('63\d{7}') + ->setExampleNumber('630123456'); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + $this->intlNumberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[28]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['[579]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php index a1065bca3..0c0796ac1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/PhoneNumberMetadata_ZW.php @@ -1,4 +1,5 @@ 'ZW', - 'countryCode' => 263, - 'generalDesc' => [ - 'pattern' => '2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}', - 'posLength' => [ - 5, - 6, - 7, - 8, - 9, - 10, - ], - 'posLengthLocal' => [ - 3, - 4, - ], - ], - 'fixedLine' => [ - 'pattern' => '(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}', - 'example' => '1312345', - 'posLengthLocal' => [ - 3, - 4, - ], - ], - 'mobile' => [ - 'pattern' => '7(?:[1278]\\d|3[1-9])\\d{6}', - 'example' => '712345678', - 'posLength' => [ - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '80(?:[01]\\d|20|8[0-8])\\d{3}', - 'example' => '8001234', - 'posLength' => [ - 7, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'sharedCost' => [ - 'posLength' => [ - -1, - ], - ], - 'personalNumber' => [ - 'posLength' => [ - -1, - ], - ], - 'voip' => [ - 'pattern' => '86(?:1[12]|22|30|44|55|77|8[368])\\d{6}', - 'example' => '8686123456', - 'posLength' => [ - 10, - ], - ], - 'pager' => [ - 'posLength' => [ - -1, - ], - ], - 'uan' => [ - 'posLength' => [ - -1, - ], - ], - 'voicemail' => [ - 'posLength' => [ - -1, - ], - ], - 'noInternationalDialling' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '00', - 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', - 'numberFormat' => [ - [ - 'pattern' => '(\\d{3})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d)(\\d{3})(\\d{2,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '[49]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '80', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2', - '2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]', - ], - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '7', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)', - '2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '8', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => [ - '29[013-9]|39|54', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - [ - 'pattern' => '(\\d{4})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => [ - '(?:25|54)8', - '258|5483', - ], - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - ], - ], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\NumberFormat; +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class PhoneNumberMetadata_ZW extends PhoneMetadata +{ + protected const ID = 'ZW'; + protected const COUNTRY_CODE = 263; + protected const NATIONAL_PREFIX = '0'; + + protected ?string $nationalPrefixForParsing = '0'; + protected ?string $internationalPrefix = '00'; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:[0-57-9]\d{6,8}|6[0-24-9]\d{6,7})|[38]\d{9}|[35-8]\d{8}|[3-6]\d{7}|[1-689]\d{6}|[1-3569]\d{5}|[1356]\d{4}') + ->setPossibleLengthLocalOnly([3, 4]) + ->setPossibleLength([5, 6, 7, 8, 9, 10]); + $this->mobile = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7(?:[1278]\d|3[1-9])\d{6}') + ->setExampleNumber('712345678') + ->setPossibleLength([9]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->fixedLine = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:(?:3\d|9)\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\d\d|[56](?:[14]\d\d|20)|7(?:[089]|2[03]|[35]\d\d))\d|4(?:2\d\d|8))\d|1(?:2|[39]\d{4}))|3(?:(?:123|(?:29\d|92)\d)\d\d|7(?:[19]|[56]\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\d{3}|83)|5(?:25\d\d|[78])|[689]\d)|6(?:(?:[16-8]21|28|52[013])\d\d|[39])|8(?:[1349]28|523)\d\d)\d{3}|(?:4\d\d|9[2-9])\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\d|7[1-7])\d|2(?:[278]\d|92)|58(?:2\d|3))|3(?:[26]|9\d{3})|5(?:4\d|5)\d\d)\d|6(?:(?:(?:[0-246]|[78]\d)\d|37)\d|5[2-8]))\d\d|(?:2(?:[569]\d|8[2-57-9])|3(?:[013-59]\d|8[37])|6[89]8)\d{3}') + ->setExampleNumber('1312345') + ->setPossibleLengthLocalOnly([3, 4]); + $this->numberFormat = [ + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d)(\d{3})(\d{2,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['[49]']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{4})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['80']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{7})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2', + '2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]', + ]) + ->setNationalPrefixFormattingRule('(0$1)') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['7']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{3})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)', '2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{6})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['8']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern([ + '1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]', + ]) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{2})(\d{3})(\d{3,4})') + ->setFormat('$1 $2 $3') + ->setLeadingDigitsPattern(['29[013-9]|39|54']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + (new NumberFormat()) + ->setPattern('(\d{4})(\d{3,5})') + ->setFormat('$1 $2') + ->setLeadingDigitsPattern(['(?:25|54)8', '258|5483']) + ->setNationalPrefixFormattingRule('0$1') + ->setNationalPrefixOptionalWhenFormatting(false), + ]; + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('80(?:[01]\d|20|8[0-8])\d{3}') + ->setExampleNumber('8001234') + ->setPossibleLength([7]); + $this->sharedCost = PhoneNumberDesc::empty(); + $this->personalNumber = PhoneNumberDesc::empty(); + $this->voip = (new PhoneNumberDesc()) + ->setNationalNumberPattern('86(?:1[12]|22|30|44|55|77|8[368])\d{6}') + ->setExampleNumber('8686123456') + ->setPossibleLength([10]); + $this->pager = PhoneNumberDesc::empty(); + $this->uan = PhoneNumberDesc::empty(); + $this->voicemail = PhoneNumberDesc::empty(); + $this->noInternationalDialling = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php index b5fbbf7b6..5a103f788 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AC.php @@ -1,4 +1,5 @@ 'AC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AC extends PhoneMetadata +{ + protected const ID = 'AC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php index b17ee2626..647924253 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AD.php @@ -1,4 +1,5 @@ 'AD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[0268]', - 'example' => '110', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[0268]', - 'example' => '110', - ], - 'shortCode' => [ - 'pattern' => '11[0268]', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AD extends PhoneMetadata +{ + protected const ID = 'AD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0268]') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0268]') + ->setExampleNumber('110'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0268]') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php index 3c7228b65..010dc6750 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AE.php @@ -1,4 +1,5 @@ 'AE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[149]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '112|99[7-9]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|99[7-9]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '112|445[16]|99[7-9]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '445\\d', - 'example' => '4450', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AE extends PhoneMetadata +{ + protected const ID = 'AE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[149]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[7-9]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[7-9]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|445[16]|99[7-9]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('445\d') + ->setExampleNumber('4450') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php index e1a5d5ffd..d71569536 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AF.php @@ -1,4 +1,5 @@ 'AF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[02]|19)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[02]|19)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[02]|19)|40404', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AF extends PhoneMetadata +{ + protected const ID = 'AF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[02]|19)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[02]|19)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[02]|19)|40404') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php index a24226d48..3aac02511 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AG.php @@ -1,4 +1,5 @@ 'AG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '176|9(?:11|88|99)', - 'example' => '176', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AG extends PhoneMetadata +{ + protected const ID = 'AG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176|9(?:11|88|99)') + ->setExampleNumber('176'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php index 393e594a8..fa53fb83f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AI.php @@ -1,4 +1,5 @@ 'AI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '176|9(?:11|88)', - 'example' => '176', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AI extends PhoneMetadata +{ + protected const ID = 'AI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176|9(?:11|88)') + ->setExampleNumber('176'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php index 22eba47c2..525e8a59d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AL.php @@ -1,4 +1,5 @@ 'AL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[15]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6[01]\\d\\d)|2[7-9]|3[15]|41)', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '5\\d{4}', - 'example' => '50000', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|2[7-9])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:6(?:000|1(?:06|11|23))|8\\d\\d)|65\\d|89[12])|5\\d{4}|1(?:[1349]\\d|2[2-9])', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '123', - 'example' => '123', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '131|5\\d{4}', - 'example' => '131', - 'posLength' => [ - 3, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AL extends PhoneMetadata +{ + protected const ID = 'AL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[15]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5\d{4}') + ->setExampleNumber('50000') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6[01]\d\d)|2[7-9]|3[15]|41)') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|2[7-9])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:6(?:000|1(?:06|11|23))|8\d\d)|65\d|89[12])|5\d{4}|1(?:[1349]\d|2[2-9])') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('123') + ->setExampleNumber('123') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('131|5\d{4}') + ->setExampleNumber('131') + ->setPossibleLength([3, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php index f0b4772a6..b3554dfcc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AM.php @@ -1,4 +1,5 @@ 'AM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[148]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '10[1-3]', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[1-3]', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '(?:1|8[1-7])\\d\\d|40404', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AM extends PhoneMetadata +{ + protected const ID = 'AM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[148]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-3]') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-3]') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1|8[1-7])\d\d|40404') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php index 589d57ee0..4142a7e49 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AO.php @@ -1,4 +1,5 @@ 'AO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[235]', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[235]', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '11[235]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AO extends PhoneMetadata +{ + protected const ID = 'AO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[235]') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[235]') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[235]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php index 491e29bb4..c9cc2a364 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AR.php @@ -1,4 +1,5 @@ 'AR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01389]\\d{1,4}', - 'posLength' => [ - 2, - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '000|1(?:0[0-35-7]|1[0245]|2[015]|3[47]|4[478]|9)|911', - 'example' => '19', - 'posLength' => [ - 2, - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[017]|911', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '000|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478]|9)|3372|89338|911', - 'example' => '19', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '893\\d\\d', - 'example' => '89300', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:337|893\\d)\\d', - 'example' => '3370', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AR extends PhoneMetadata +{ + protected const ID = 'AR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01389]\d{1,4}') + ->setPossibleLength([2, 3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:0[0-35-7]|1[0245]|2[015]|3[47]|4[478]|9)|911') + ->setExampleNumber('19') + ->setPossibleLength([2, 3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[017]|911') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478]|9)|3372|89338|911') + ->setExampleNumber('19'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('893\d\d') + ->setExampleNumber('89300') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:337|893\d)\d') + ->setExampleNumber('3370') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php index 20db008fc..cf7bb88be 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AS.php @@ -1,4 +1,5 @@ 'AS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[49]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '40404|9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AS extends PhoneMetadata +{ + protected const ID = 'AS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[49]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('40404|9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php index 925f836d6..29c252bd7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AT.php @@ -1,4 +1,5 @@ 'AT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1268]\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|2[0238]|3[03]|4[0-247])|1(?:16\\d\\d|4[58])\\d', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:[12]2|33|44)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:00[06]|1(?:17|23)))|2[0238]|3[03]|4(?:[0-247]|5[05]|84))|(?:220|61|8108[1-3])0', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:220|810\\d\\d)\\d|610', - 'example' => '610', - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AT extends PhoneMetadata +{ + protected const ID = 'AT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1268]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|2[0238]|3[03]|4[0-247])|1(?:16\d\d|4[58])\d') + ->setExampleNumber('112') + ->setPossibleLength([3, 4, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[12]2|33|44)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:00[06]|1(?:17|23)))|2[0238]|3[03]|4(?:[0-247]|5[05]|84))|(?:2(?:066|20)|61|8108[1-3])0') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('220\d|610|(?:206|810\d)\d\d') + ->setExampleNumber('610'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('206\d\d') + ->setExampleNumber('20600') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php index 2998d4f33..e1fd75817 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AU.php @@ -1,4 +1,5 @@ 'AU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[0-27]\\d{2,7}', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - 8, - ], - ], - 'tollFree' => [ - 'pattern' => '000|1(?:06|12|258885|55\\d)|733', - 'example' => '000', - 'posLength' => [ - 3, - 4, - 7, - ], - ], - 'premiumRate' => [ - 'pattern' => '1(?:2(?:34|456)|9\\d{4,6})', - 'example' => '1234', - 'posLength' => [ - 4, - 5, - 6, - 7, - 8, - ], - ], - 'emergency' => [ - 'pattern' => '000|1(?:06|12)', - 'example' => '000', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '000|1(?:06|1(?:00|2|9[46])|2(?:014[1-3]|[23]\\d|(?:4|5\\d)\\d{2,3}|68[689]|72(?:20|3\\d\\d)|8(?:[013-9]\\d|2))|555|9\\d{4,6})|225|7(?:33|67)', - 'example' => '000', - ], - 'standardRate' => [ - 'pattern' => '1(?:1[09]\\d|24733)|225|767', - 'example' => '225', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:258885|55\\d)', - 'example' => '1550', - 'posLength' => [ - 4, - 7, - ], - ], - 'smsServices' => [ - 'pattern' => '19\\d{4,6}', - 'example' => '190000', - 'posLength' => [ - 6, - 7, - 8, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AU extends PhoneMetadata +{ + protected const ID = 'AU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0-27]\d{2,7}') + ->setPossibleLength([3, 4, 5, 6, 7, 8]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:2(?:34|456)|9\d{4,6})') + ->setExampleNumber('1234') + ->setPossibleLength([4, 5, 6, 7, 8]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:06|12|258885|55\d)|733') + ->setExampleNumber('000') + ->setPossibleLength([3, 4, 7]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:06|12)') + ->setExampleNumber('000') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:06|1(?:00|2|9[46])|2(?:014[1-3]|[23]\d|(?:4|5\d)\d{2,3}|68[689]|72(?:20|3\d\d)|8(?:[013-9]\d|2))|555|9\d{4,6})|225|7(?:33|67)') + ->setExampleNumber('000'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[09]\d|24733)|225|767') + ->setExampleNumber('225') + ->setPossibleLength([3, 4, 6]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:258885|55\d)') + ->setExampleNumber('1550') + ->setPossibleLength([4, 7]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19\d{4,6}') + ->setExampleNumber('190000') + ->setPossibleLength([6, 7, 8]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php index f2ac9d6d2..5a405012a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AW.php @@ -1,4 +1,5 @@ 'AW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '100|911', - 'example' => '100', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '100|911', - 'example' => '100', - ], - 'shortCode' => [ - 'pattern' => '1(?:00|18|76)|91[13]', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AW extends PhoneMetadata +{ + protected const ID = 'AW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('100|911') + ->setExampleNumber('100'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('100|911') + ->setExampleNumber('100'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|18|76)|91[13]') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php index 8fb774441..970c4496c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AX.php @@ -1,4 +1,5 @@ 'AX', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[17]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '112|75[12]\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AX extends PhoneMetadata +{ + protected const ID = 'AX'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|75[12]\d\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php index 8ac50fccb..8cb879cab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_AZ.php @@ -1,4 +1,5 @@ 'AZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[148]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[1-3]|12)|(?:404|880)0', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:404|880)\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:404|880)\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_AZ extends PhoneMetadata +{ + protected const ID = 'AZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[148]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)|(?:404|880)0') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:404|880)\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:404|880)\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php index fd030dc81..6431ff9ed 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BA.php @@ -1,4 +1,5 @@ 'BA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:16\\d{3}|2[2-4])', - 'example' => '122', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '12[2-4]', - 'example' => '122', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:16(?:00[06]|1(?:1[17]|23))|2(?:0[0-7]|[2-5]|6[0-26])|(?:[3-5]|7\\d)\\d\\d)|1(?:18|2[78])\\d\\d?', - 'example' => '122', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BA extends PhoneMetadata +{ + protected const ID = 'BA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:16\d{3}|2[2-4])') + ->setExampleNumber('122') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12[2-4]') + ->setExampleNumber('122') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:16(?:00[06]|1(?:1[17]|23))|2(?:0[0-7]|[2-5]|6[0-26])|(?:[3-5]|7\d)\d\d)|1(?:18|2[78])\d\d?') + ->setExampleNumber('122'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php index 1f68ae62c..ce0be586f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BB.php @@ -1,4 +1,5 @@ 'BB', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[2-689]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '988|[2359]11', - 'example' => '211', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '[2359]11', - 'example' => '211', - ], - 'shortCode' => [ - 'pattern' => '988|[2-689]11', - 'example' => '211', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '[468]11', - 'example' => '411', - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BB extends PhoneMetadata +{ + protected const ID = 'BB'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-689]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('988|[2359]11') + ->setExampleNumber('211'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2359]11') + ->setExampleNumber('211'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('988|[2-689]11') + ->setExampleNumber('211'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[468]11') + ->setExampleNumber('411'); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php index 0c491df2e..def513450 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BD.php @@ -1,4 +1,5 @@ 'BD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1579]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '10[0-26]|[19]99', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[0-2]|[19]99', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:[0-369]|5[1-4]|7[0-4]|8[0-29])|1[16-9]|2(?:[134]|2[0-5])|3(?:1\\d?|6[3-6])|5[2-9])|5012|786|9594|[19]99|1(?:0(?:50|6\\d)|33|4(?:0|1\\d))\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:11|2[13])|(?:501|959)\\d|786', - 'example' => '111', - 'posLength' => [ - 3, - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '959\\d', - 'example' => '9590', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BD extends PhoneMetadata +{ + protected const ID = 'BD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1579]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-26]|[19]99') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-2]|[19]99') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[0-369]|5[1-4]|7[0-4]|8[0-29])|1[16-9]|2(?:[134]|2[0-5])|3(?:1\d?|6[3-6])|5[2-9])|5012|786|9594|[19]99|1(?:0(?:50|6\d)|33|4(?:0|1\d))\d') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:11|2[13])|(?:501|959)\d|786') + ->setExampleNumber('111') + ->setPossibleLength([3, 4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('959\d') + ->setExampleNumber('9590') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php index 00368d28a..912e6843b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BE.php @@ -1,4 +1,5 @@ 'BE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[0-35-8]|1[0269]|7(?:12|77)|813)|(?:116|8)\\d{3}', - 'example' => '100', - ], - 'premiumRate' => [ - 'pattern' => '1(?:2[03]|40)4|(?:1(?:[24]1|3[01])|[2-79]\\d\\d)\\d', - 'example' => '1204', - 'posLength' => [ - 4, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[01]|12)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[0-8]|16117|2(?:12|3[0-24])|313|414|5(?:1[05]|5[15]|66|95)|6(?:1[167]|36|6[16])|7(?:[07][017]|1[27-9]|22|33|65)|81[39])|[2-9]\\d{3}|11[02679]|1(?:1600|45)0|1(?:[2-4]9|78)9|1[2-4]0[47]', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '[2-9]\\d{3}', - 'example' => '2000', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BE extends PhoneMetadata +{ + protected const ID = 'BE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:2[03]|40)4|(?:1(?:[24]1|3[01])|[2-79]\d\d)\d') + ->setExampleNumber('1204') + ->setPossibleLength([4]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-35-8]|1[0269]|7(?:12|77)|813)|(?:116|8)\d{3}') + ->setExampleNumber('100'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01]|12)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-8]|16117|2(?:12|3[0-24])|313|414|5(?:1[05]|5[15]|66|95)|6(?:1[167]|36|6[16])|7(?:[07][017]|1[27-9]|22|33|65)|81[39])|[2-9]\d{3}|11[02679]|1(?:1600|45)0|1(?:[2-4]9|78)9|1[2-4]0[47]') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{3}') + ->setExampleNumber('2000') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php index e8f679d28..621f3a35e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BF.php @@ -1,4 +1,5 @@ 'BF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BF extends PhoneMetadata +{ + protected const ID = 'BF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php index a2d8945d4..82fc0fc56 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BG.php @@ -1,4 +1,5 @@ 'BG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d{3})?', - 'posLength' => [ - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6\\d{3})|50|6[06])', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|50|6[06])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:000|111))|50|6[06])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BG extends PhoneMetadata +{ + protected const ID = 'BG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d{3})?') + ->setPossibleLength([3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6\d{3})|50|6[06])') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|50|6[06])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:000|111))|50|6[06])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php index 7620122d7..2acb6a2e9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BH.php @@ -1,4 +1,5 @@ 'BH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[0189]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:0[167]|81)\\d{3}|[19]99', - 'example' => '199', - ], - 'premiumRate' => [ - 'pattern' => '9[148]\\d{3}', - 'example' => '91000', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '[19]99', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:[02]\\d|12|4[01]|51|8[18]|9[169])|99[02489]|(?:0[167]|8[158]|9[148])\\d{3}', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '0[67]\\d{3}|88000|98555', - 'example' => '06000', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '88000|98555', - 'example' => '88000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BH extends PhoneMetadata +{ + protected const ID = 'BH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0189]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[148]\d{3}') + ->setExampleNumber('91000') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:0[167]|81)\d{3}|[19]99') + ->setExampleNumber('199'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]99') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[02]\d|12|4[01]|51|8[18]|9[169])|99[02489]|(?:0[167]|8[158]|9[148])\d{3}') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[67]\d{3}|88000|98555') + ->setExampleNumber('06000') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('88000|98555') + ->setExampleNumber('88000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php index 20e8790e8..5effff2b9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BI.php @@ -1,4 +1,5 @@ 'BI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[16-9]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '11[237]|611', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[237]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1\\d|5[2-9]|6[0-256])|611|7(?:10|77|979)|8[28]8|900', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '611|7(?:10|77)|888|900', - 'example' => '611', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:71|90)0', - 'example' => '710', - 'posLength' => [ - 3, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BI extends PhoneMetadata +{ + protected const ID = 'BI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[16-9]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[237]|611') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[237]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1\d|5[2-9]|6[0-256])|611|7(?:10|77|979)|8[28]8|900') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('611|7(?:10|77)|888|900') + ->setExampleNumber('611') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:71|90)0') + ->setExampleNumber('710') + ->setPossibleLength([3]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php index 3454624e8..9e578a21e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BJ.php @@ -1,4 +1,5 @@ 'BJ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[17]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '11[78]|7[3-5]\\d\\d', - 'example' => '117', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[78]', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[78]|2[02-5]|60)|7[0-5]\\d\\d', - 'example' => '117', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '12[02-5]', - 'example' => '120', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BJ extends PhoneMetadata +{ + protected const ID = 'BJ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[246-8]|3[68]|6[06])|7[3-5]\d\d') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[246-8]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05|1[24-8]|2[02-5]|3[126-8]|5[05]|6[06]|89)|7[0-5]\d\d') + ->setExampleNumber('105'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12[02-5]') + ->setExampleNumber('120') + ->setPossibleLength([3]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php index 0d82ed21f..66974b173 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BL.php @@ -1,4 +1,5 @@ 'BL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '18', - 'example' => '18', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '18', - 'example' => '18', - ], - 'shortCode' => [ - 'pattern' => '18', - 'example' => '18', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BL extends PhoneMetadata +{ + protected const ID = 'BL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18') + ->setExampleNumber('18'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18') + ->setExampleNumber('18'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18') + ->setExampleNumber('18'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php index b51dac992..ed2eb5ab7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BM.php @@ -1,4 +1,5 @@ 'BM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '176|9(?:11|88)', - 'example' => '176', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BM extends PhoneMetadata +{ + protected const ID = 'BM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176|9(?:11|88)') + ->setExampleNumber('176'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php index 4d73c191a..78ba6bf79 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BN.php @@ -1,4 +1,5 @@ 'BN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '99[135]', - 'example' => '991', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '99[135]', - 'example' => '991', - ], - 'shortCode' => [ - 'pattern' => '99[135]', - 'example' => '991', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BN extends PhoneMetadata +{ + protected const ID = 'BN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[135]') + ->setExampleNumber('991'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[135]') + ->setExampleNumber('991'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[135]') + ->setExampleNumber('991'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php index 0f5017462..9f285948f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BO.php @@ -1,4 +1,5 @@ 'BO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[089]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[089]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11[089]|40404', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BO extends PhoneMetadata +{ + protected const ID = 'BO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[089]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[089]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[089]|40404') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php index a69656069..e60392368 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BQ.php @@ -1,4 +1,5 @@ 'BQ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112|911', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|76)|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BQ extends PhoneMetadata +{ + protected const ID = 'BQ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|76)|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php index db9d1745c..d61bc6efe 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BR.php @@ -1,4 +1,5 @@ 'BR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-69]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:00|12|28|8[015]|9[0-47-9])|4(?:57|82\\d)|911', - 'example' => '100', - 'posLength' => [ - 3, - 4, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|28|9[023])|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:[02]|3(?:1[2-579]|2[13-9]|3[124-9]|4[1-3578]|5[1-468]|6[139]|8[149]|9[168])|5[0-35-9]|6(?:0|1[0-35-8]?|2[0145]|3[0137]?|4[37-9]?|5[0-35]|6[016]?|7[137]?|8[5-8]|9[1359]))|1[25-8]|2[357-9]|3[024-68]|4[12568]|5\\d|6[0-8]|8[015]|9[0-47-9])|2(?:7(?:330|878)|85959?)|(?:32|91)1|4(?:0404?|57|828)|55555|6(?:0\\d{4}|10000)|(?:133|411)[12]', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '102|273\\d\\d|321', - 'example' => '102', - 'posLength' => [ - 3, - 5, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '151|(?:278|555)\\d\\d|4(?:04\\d\\d?|11\\d|57)', - 'example' => '151', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '285\\d{2,3}|321|40404|(?:27[38]\\d|482)\\d|6(?:0\\d|10)\\d{3}', - 'example' => '321', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BR extends PhoneMetadata +{ + protected const ID = 'BR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-69]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|12|28|8[015]|9[0-47-9])|4(?:57|82\d)|911') + ->setExampleNumber('100') + ->setPossibleLength([3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|28|9[023])|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[02]|3(?:1[2-579]|2[13-9]|3[124-9]|4[1-3578]|5[1-468]|6[139]|8[149]|9[168])|5[0-35-9]|6(?:0|1[0-35-8]?|2[0145]|3[0137]?|4[37-9]?|5[0-35]|6[016]?|7[137]?|8[5-8]|9[1359]))|1[25-8]|2[357-9]|3[024-68]|4[12568]|5\d|6[0-8]|8[015]|9[0-47-9])|2(?:7(?:330|878)|85959?)|(?:32|91)1|4(?:0404?|57|828)|55555|6(?:0\d{4}|10000)|(?:133|411)[12]') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('102|273\d\d|321') + ->setExampleNumber('102') + ->setPossibleLength([3, 5]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('151|(?:278|555)\d\d|4(?:04\d\d?|11\d|57)') + ->setExampleNumber('151') + ->setPossibleLength([3, 4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('285\d{2,3}|321|40404|(?:27[38]\d|482)\d|6(?:0\d|10)\d{3}') + ->setExampleNumber('321'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php index 8096d7f2c..78c982279 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BS.php @@ -1,4 +1,5 @@ 'BS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:1[19]|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '91[19]', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:1[19]|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BS extends PhoneMetadata +{ + protected const ID = 'BS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:1[19]|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[19]') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:1[19]|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php index 101dab1fe..7475980e3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BT.php @@ -1,4 +1,5 @@ 'BT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[023]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[023]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11[0-6]|40404', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BT extends PhoneMetadata +{ + protected const ID = 'BT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0-6]|40404') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php index e8a0a6055..d9be518d5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BW.php @@ -1,4 +1,5 @@ 'BW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|9[7-9])', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|9[7-9])', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[26]|3123)|9(?:1[14]|9[1-57-9])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '131\\d\\d', - 'example' => '13100', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '131\\d\\d', - 'example' => '13100', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BW extends PhoneMetadata +{ + protected const ID = 'BW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|9[7-9])') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|9[7-9])') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[26]|3123)|9(?:1[14]|9[1-57-9])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('131\d\d') + ->setExampleNumber('13100') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('131\d\d') + ->setExampleNumber('13100') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php index 9be7e8ba1..8e7c2cfc8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BY.php @@ -1,4 +1,5 @@ 'BY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[1-79]|1[246]|35|5[1-35]|6[89]|7[5-7]|8[58]|9[1-7])', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BY extends PhoneMetadata +{ + protected const ID = 'BY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-79]|1[246]|35|5[1-35]|6[89]|7[5-7]|8[58]|9[1-7])') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php index a79648e41..0e1c0e428 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_BZ.php @@ -1,4 +1,5 @@ 'BZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:0|11|22|66|77|9[09])', - 'example' => '90', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:0|11|90)', - 'example' => '90', - ], - 'shortCode' => [ - 'pattern' => '9(?:0|11|22|66|77|9[09])', - 'example' => '90', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_BZ extends PhoneMetadata +{ + protected const ID = 'BZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0|11|22|66|77|9[09])') + ->setExampleNumber('90'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0|11|90)') + ->setExampleNumber('90'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:0|11|22|66|77|9[09])') + ->setExampleNumber('90'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php index 9c2ddc735..33e763936 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CA.php @@ -1,4 +1,5 @@ 'CA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '112|988|[29]11', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '[1-35-9]\\d{4,5}|112|[2-8]11|9(?:11|88)', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '[235-7]11', - 'example' => '211', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '[1-35-9]\\d{4,5}', - 'example' => '10000', - 'posLength' => [ - 5, - 6, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CA extends PhoneMetadata +{ + protected const ID = 'CA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|988|[29]11') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-35-9]\d{4,5}|112|[2-8]11|9(?:11|88)') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[235-7]11') + ->setExampleNumber('211') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-35-9]\d{4,5}') + ->setExampleNumber('10000') + ->setPossibleLength([5, 6]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php index ec3d7e8d4..694c08935 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CC.php @@ -1,4 +1,5 @@ 'CC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'shortCode' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CC extends PhoneMetadata +{ + protected const ID = 'CC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php index 81b0c18c4..a27c71627 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CD.php @@ -1,4 +1,5 @@ 'CD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[348]|77|88)', - 'example' => '113', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[348]|77|88)', - 'example' => '113', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[348]|23|77|88)|40404', - 'example' => '113', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CD extends PhoneMetadata +{ + protected const ID = 'CD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[348]|77|88)') + ->setExampleNumber('113') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[348]|77|88)') + ->setExampleNumber('113') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[348]|23|77|88)|40404') + ->setExampleNumber('113'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php index e747a375a..0da3bd913 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CF.php @@ -1,4 +1,5 @@ 'CF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[78]|22\\d)', - 'example' => '117', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[78]|220)', - 'example' => '117', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[478]|220)', - 'example' => '114', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CF extends PhoneMetadata +{ + protected const ID = 'CF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|22\d)') + ->setExampleNumber('117'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|220)') + ->setExampleNumber('117'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[478]|220)') + ->setExampleNumber('114'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php index 9b56fab8d..04893b6bd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CG.php @@ -1,4 +1,5 @@ 'CG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[178]', - 'example' => '111', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[78]', - 'example' => '117', - ], - 'shortCode' => [ - 'pattern' => '11[126-8]', - 'example' => '111', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CG extends PhoneMetadata +{ + protected const ID = 'CG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[178]') + ->setExampleNumber('111'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[78]') + ->setExampleNumber('117'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[126-8]') + ->setExampleNumber('111'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php index f5bcc60e3..0ec2438f8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CH.php @@ -1,4 +1,5 @@ 'CH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:[278]|6\\d{3})|4[47])|5200', - 'example' => '112', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '1(?:14|8[0-2589])\\d|543|83111', - 'example' => '543', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[278]|44)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[78]\\d\\d|1(?:[278]|45|6(?:000|111))|4(?:[03-57]|1[0145])|6(?:00|[1-46])|8(?:02|1[189]|[25]0|7|8[08]|99))|[2-9]\\d{2,4}', - 'example' => '112', - ], - 'standardRate' => [ - 'pattern' => '1(?:4[035]|6[1-46])|1(?:41|60)\\d', - 'example' => '140', - 'posLength' => [ - 3, - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '5(?:200|35)', - 'example' => '535', - 'posLength' => [ - 3, - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '[2-9]\\d{2,4}', - 'example' => '200', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CH extends PhoneMetadata +{ + protected const ID = 'CH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:14|8[0-2589])\d|543|83111') + ->setExampleNumber('543') + ->setPossibleLength([3, 4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[278]|6\d{3})|4[47])|5200') + ->setExampleNumber('112') + ->setPossibleLength([3, 4, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[278]|44)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[78]\d\d|1(?:[278]|45|6(?:000|111))|4(?:[03-57]|1[0145])|6(?:00|[1-46])|8(?:02|1[189]|[25]0|7|8[08]|99))|[2-9]\d{2,4}') + ->setExampleNumber('112'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:4[035]|6[1-46])|1(?:41|60)\d') + ->setExampleNumber('140') + ->setPossibleLength([3, 4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:200|35)') + ->setExampleNumber('535') + ->setPossibleLength([3, 4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{2,4}') + ->setExampleNumber('200') + ->setPossibleLength([3, 4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php index 009f73900..ee511d1dc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CI.php @@ -1,4 +1,5 @@ 'CI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[01]|[78]0)', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[01]|[78]0)', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[01]|[78]0)|4443', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '444\\d', - 'example' => '4440', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '444\\d', - 'example' => '4440', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CI extends PhoneMetadata +{ + protected const ID = 'CI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[01]|[78]0)') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[01]|[78]0)') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[01]|[78]0)|4443') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('444\d') + ->setExampleNumber('4440') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('444\d') + ->setExampleNumber('4440') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php index a15b1f664..8f17dd8db 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CK.php @@ -1,4 +1,5 @@ 'CK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '99[689]', - 'example' => '996', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '99[689]', - 'example' => '996', - ], - 'shortCode' => [ - 'pattern' => '99[689]', - 'example' => '996', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CK extends PhoneMetadata +{ + protected const ID = 'CK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[689]') + ->setExampleNumber('996'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[689]') + ->setExampleNumber('996'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[689]') + ->setExampleNumber('996'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php index 48b1b3536..be639563a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CL.php @@ -1,4 +1,5 @@ 'CL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:213|3[1-3])|434\\d|911', - 'example' => '131', - 'posLength' => [ - 3, - 4, - ], - ], - 'premiumRate' => [ - 'pattern' => '1(?:211|3(?:13|[348]0|5[01]))|(?:1(?:[05]6|[48]1|9[18])|2(?:01\\d|[23]2|77|88)|3(?:0[59]|13|3[279]|66)|4(?:[12]4|36\\d|4[017]|55)|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d', - 'example' => '1060', - 'posLength' => [ - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '13[1-3]|911', - 'example' => '131', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:00|21[13]|3(?:13|[348]0|5[01])|4(?:0[02-6]|17|[379])|818|919)|2(?:0(?:01|122)|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|[37]7)|665)|43656|5(?:(?:00|415)4|5(?:66|77)|995)|6(?:131|222|366|699)|7878|8(?:011|11[28]|482|889)|9(?:01|1)1|13\\d|4(?:[13]42|243|4(?:02|15|77)|554)|(?:1(?:[05]6|98)|339|6(?:07|[35])0|9(?:[12]0|33))0', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '(?:200|333)\\d', - 'example' => '2000', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '13(?:13|[348]0|5[01])|(?:1(?:[05]6|[28]1|4[01]|9[18])|2(?:0(?:0|1\\d)|[23]2|77|88)|3(?:0[59]|13|3[2379]|66)|436\\d|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d|4(?:[1-3]4|4[017]|55)\\d', - 'example' => '1060', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CL extends PhoneMetadata +{ + protected const ID = 'CL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:211|3(?:13|[348]0|5[01]))|(?:1(?:[05]6|[48]1|9[18])|2(?:01\d|[23]2|77|88)|3(?:0[59]|13|3[279]|66)|4(?:[12]4|36\d|4[017]|55)|5(?:00|41\d|5[67]|99)|6(?:07\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\d') + ->setExampleNumber('1060') + ->setPossibleLength([4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:213|3[1-3])|434\d|911') + ->setExampleNumber('131') + ->setPossibleLength([3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13[1-3]|911') + ->setExampleNumber('131') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|21[13]|3(?:13|[348]0|5[01])|4(?:0[02-6]|17|[379])|818|919)|2(?:0(?:01|122)|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|[37]7)|665)|43656|5(?:(?:00|415)4|5(?:66|77)|995)|6(?:131|222|366|699)|7878|8(?:011|11[28]|482|889)|9(?:01|1)1|13\d|4(?:[13]42|243|4(?:02|15|77)|554)|(?:1(?:[05]6|98)|339|6(?:07|[35])0|9(?:[12]0|33))0') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:200|333)\d') + ->setExampleNumber('2000') + ->setPossibleLength([4]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13(?:13|[348]0|5[01])|(?:1(?:[05]6|[28]1|4[01]|9[18])|2(?:0(?:0|1\d)|[23]2|77|88)|3(?:0[59]|13|3[2379]|66)|436\d|5(?:00|41\d|5[67]|99)|6(?:07\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\d|4(?:[1-3]4|4[017]|55)\d') + ->setExampleNumber('1060') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php index a32560c1d..378ebd258 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CM.php @@ -1,4 +1,5 @@ 'CM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[18]\\d{1,3}', - 'posLength' => [ - 2, - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[37]|[37])', - 'example' => '13', - 'posLength' => [ - 2, - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[37]|[37])', - 'example' => '13', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[37]|[37])|8711', - 'example' => '13', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '871\\d', - 'example' => '8710', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '871\\d', - 'example' => '8710', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CM extends PhoneMetadata +{ + protected const ID = 'CM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[18]\d{1,3}') + ->setPossibleLength([2, 3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[37]|[37])') + ->setExampleNumber('13') + ->setPossibleLength([2, 3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[37]|[37])') + ->setExampleNumber('13') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[37]|[37])|8711') + ->setExampleNumber('13'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('871\d') + ->setExampleNumber('8710') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('871\d') + ->setExampleNumber('8710') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php index 079270864..0b0bb5571 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CN.php @@ -1,4 +1,5 @@ 'CN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[09]|2(?:[02]|1\\d\\d|395))', - 'example' => '110', - 'posLength' => [ - 3, - 5, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[09]|20)', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:00|1[0249]|2395|6[08])|9[56]\\d{3,4}|12[023]|1(?:0(?:[0-26]\\d|8)|21\\d)\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '1(?:0(?:[0-26]\\d|8)\\d|1[24]|23|6[08])|9[56]\\d{3,4}|100', - 'example' => '100', - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '12110', - 'example' => '12110', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CN extends PhoneMetadata +{ + protected const ID = 'CN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[09]|2(?:[02]|1\d\d|395))') + ->setExampleNumber('110') + ->setPossibleLength([3, 5]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[09]|20)') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|1[0249]|2395|6[08])|9[56]\d{3,4}|12[023]|1(?:0(?:[0-26]\d|8)|21\d)\d') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[0-26]\d|8)\d|1[24]|23|6[08])|9[56]\d{3,4}|100') + ->setExampleNumber('100'); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12110') + ->setExampleNumber('12110') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php index 412a5c599..4dbacbc1e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CO.php @@ -1,4 +1,5 @@ 'CO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-589]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[29]|23|32|56)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[29]|23|32|56)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:06|1[2-9]|2[35-7]|3[27]|4[467]|5[36]|6[4-7]|95)|(?:29002|39003)9|40404|5930\\d\\d|85432|(?:[2359][57]|8(?:7|9\\d))\\d{3}', - 'example' => '106', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:40|85)4\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:40|85)4\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CO extends PhoneMetadata +{ + protected const ID = 'CO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-589]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[29]|23|32|56)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[29]|23|32|56)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:06|1[2-9]|2[35-7]|3[27]|4[467]|5[36]|6[4-7]|95)|(?:29002|39003)9|40404|5930\d\d|85432|(?:[2359][57]|8(?:7|9\d))\d{3}') + ->setExampleNumber('106'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:40|85)4\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:40|85)4\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php index 70e6ccf6f..d401fd701 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CR.php @@ -1,4 +1,5 @@ 'CR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1359]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '112|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:00|15|2[2-4679])|1(?:1[0-35-9]|2|37|[46]6|7[57]|8[79]|9[0-379])|2(?:00|[12]2|34|55)|3(?:21|33)|4(?:0[06]|1[4-6])|5(?:15|5[15])|693|7(?:00|1[7-9]|2[02]|[67]7)|975)|3855|5(?:0(?:30|49)|510)|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:385|5(?:0[34]|51))\\d', - 'example' => '3850', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CR extends PhoneMetadata +{ + protected const ID = 'CR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1359]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:00|15|2[2-4679])|1(?:1[0-35-9]|2|37|[46]6|7[57]|8[79]|9[0-379])|2(?:00|[12]2|34|55)|3(?:21|33)|4(?:0[06]|1[4-6])|5(?:15|5[15])|693|7(?:00|1[7-9]|2[02]|[67]7)|975)|3855|5(?:0(?:30|49)|510)|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:385|5(?:0[34]|51))\d') + ->setExampleNumber('3850') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php index 4cb80abe7..284664fdc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CU.php @@ -1,4 +1,5 @@ 'CU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12]\\d\\d(?:\\d{3,4})?', - 'posLength' => [ - 3, - 6, - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '10[4-7]|(?:116|204\\d)\\d{3}', - 'example' => '104', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[4-6]', - 'example' => '104', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[4-7]|1(?:6111|8)|40)|2045252', - 'example' => '104', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CU extends PhoneMetadata +{ + protected const ID = 'CU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d\d(?:\d{3,4})?') + ->setPossibleLength([3, 6, 7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[4-7]|(?:116|204\d)\d{3}') + ->setExampleNumber('104'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[4-6]') + ->setExampleNumber('104') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[4-7]|1(?:6111|8)|40)|2045252') + ->setExampleNumber('104'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php index 9d95a2103..9fe36d4ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CV.php @@ -1,4 +1,5 @@ 'CV', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '13[0-2]', - 'example' => '130', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '13[0-2]', - 'example' => '130', - ], - 'shortCode' => [ - 'pattern' => '13[0-2]', - 'example' => '130', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CV extends PhoneMetadata +{ + protected const ID = 'CV'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13[0-2]') + ->setExampleNumber('130'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13[0-2]') + ->setExampleNumber('130'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('13[0-2]') + ->setExampleNumber('130'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php index 618056bd5..3317a43f2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CW.php @@ -1,4 +1,5 @@ 'CW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112|911', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|76)|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CW extends PhoneMetadata +{ + protected const ID = 'CW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|76)|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php index c3c109e88..7e974dfb5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CX.php @@ -1,4 +1,5 @@ 'CX', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'shortCode' => [ - 'pattern' => '000|112', - 'example' => '000', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CX extends PhoneMetadata +{ + protected const ID = 'CX'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|112') + ->setExampleNumber('000'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php index f43fe6533..b3602c86d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CY.php @@ -1,4 +1,5 @@ 'CY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d{3})?', - 'posLength' => [ - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6\\d{3})|99)', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|99)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:000|111))|99)', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CY extends PhoneMetadata +{ + protected const ID = 'CY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d{3})?') + ->setPossibleLength([3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6\d{3})|99)') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|99)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:000|111))|99)') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php index 0e62b9488..b41465a3a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_CZ.php @@ -1,4 +1,5 @@ 'CZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6(?:00[06]|1(?:11|23)))|5\\d)', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|5\\d)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|8\\d)|(?:2|3\\d)\\d{2,3}|5\\d|99)|1(?:16|4)\\d{3}', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_CZ extends PhoneMetadata +{ + protected const ID = 'CZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:00[06]|1(?:11|23)))|5\d)') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|5\d)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|8\d)|(?:2|3\d)\d{2,3}|5\d|99)|1(?:16|4)\d{3}') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php index ea241cda9..c613080aa 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DE.php @@ -1,4 +1,5 @@ 'DE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[13]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:[02]|6\\d{3})', - 'example' => '110', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[02]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|3311|118\\d\\d', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '331\\d', - 'example' => '3310', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DE extends PhoneMetadata +{ + protected const ID = 'DE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[137]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[02]|6\d{3})') + ->setExampleNumber('110') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\d)|3311|7464|118\d\d') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:331|746)\d') + ->setExampleNumber('3310') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('746\d') + ->setExampleNumber('7460') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php index a4d2c3661..bd5b919ea 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DJ.php @@ -1,4 +1,5 @@ 'DJ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DJ extends PhoneMetadata +{ + protected const ID = 'DJ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php index 35b3f5b5d..5949411b1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DK.php @@ -1,4 +1,5 @@ 'DK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:[24]|6\\d{3})', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[24]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[2-48]|6(?:00[06]|111))|619[0-2]|8(?:01|1[0238]|28|30|5[13]|8[18]))', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DK extends PhoneMetadata +{ + protected const ID = 'DK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[24]|6\d{3})') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[24]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[248]|6(?:00[06]|111))|619[0-2]|8(?:01|1[0238]|28|30|5[13]|8[18]))') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php index 0b10fa40b..ef7df4382 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DM.php @@ -1,4 +1,5 @@ 'DM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[39]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '333|9(?:11|88|99)', - 'example' => '333', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '333|9(?:11|99)', - 'example' => '333', - ], - 'shortCode' => [ - 'pattern' => '333|9(?:11|88|99)', - 'example' => '333', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DM extends PhoneMetadata +{ + protected const ID = 'DM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[39]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|88|99)') + ->setExampleNumber('333'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|99)') + ->setExampleNumber('333'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|88|99)') + ->setExampleNumber('333'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php index f4078aad7..3f48c8e58 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DO.php @@ -1,4 +1,5 @@ 'DO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112|9(?:11|88)', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '112|9(?:11|88)', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DO extends PhoneMetadata +{ + protected const ID = 'DO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9(?:11|88)') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9(?:11|88)') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php index dd31ac2b5..607f55220 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_DZ.php @@ -1,4 +1,5 @@ 'DZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[17]\\d{1,3}', - 'posLength' => [ - 2, - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|[47]|54\\d)', - 'example' => '14', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|[47])', - 'example' => '14', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:055|12|[47]|548)|730', - 'example' => '14', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '730', - 'example' => '730', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '730', - 'example' => '730', - 'posLength' => [ - 3, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_DZ extends PhoneMetadata +{ + protected const ID = 'DZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]\d{1,3}') + ->setPossibleLength([2, 3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[47]|54\d)') + ->setExampleNumber('14'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[47])') + ->setExampleNumber('14') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:055|12|[47]|548)|730') + ->setExampleNumber('14'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('730') + ->setExampleNumber('730') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('730') + ->setExampleNumber('730') + ->setPossibleLength([3]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php index 5024cadce..cb73bdd9e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EC.php @@ -1,4 +1,5 @@ 'EC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[12]|12)|911', - 'example' => '101', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[12]|12)|911', - 'example' => '101', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[12]|12)|911', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_EC extends PhoneMetadata +{ + protected const ID = 'EC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[12]|12)|911') + ->setExampleNumber('101'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[12]|12)|911') + ->setExampleNumber('101'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[12]|12)|911') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php index b35ca9f63..04d358b1b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EE.php @@ -1,4 +1,5 @@ 'EE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:[02]|6\\d{3})|2(?:05|28)|3(?:014|3(?:21|5\\d?)|660)|492|5(?:1[03]|410|501)|6(?:112|333|644)|7(?:012|127|89)|8(?:10|8[57])|9(?:0[134]|14))', - 'example' => '110', - ], - 'premiumRate' => [ - 'pattern' => '1(?:18(?:00|[12458]\\d?)|2(?:0(?:[02-46-8]\\d?|1[0-36])|1(?:[0-4]\\d?|6[06])|2(?:[0-4]\\d?|5[25])|[367]|4(?:0[04]|[12]\\d?|4[24]|54)|55[12457])|3(?:0(?:[02]\\d?|1[13578]|3[356])|1[1347]|2[02-5]|3(?:[01347]\\d?|2[023]|88)|4(?:[35]\\d?|4[34])|5(?:3[134]|5[035])|666)|4(?:2(?:00|4\\d?)|4(?:0[01358]|1[024]|50|7\\d?)|900)|5(?:0[0-35]|1(?:[1267]\\d?|5[0-7]|82)|2(?:[014-6]\\d?|22)|330|4(?:[35]\\d?|44)|5(?:00|[1-69]\\d?)|9(?:[159]\\d?|[38]0|77))|6(?:1(?:00|1[19]|[35-9]\\d?)|2(?:2[26]|[68]\\d?)|3(?:22|36|6[36])|5|6(?:[0-359]\\d?|6[0-26])|7(?:00|55|7\\d?|8[89])|9(?:00|1\\d?|69))|7(?:0(?:[023]\\d?|1[0578])|1(?:00|2[034]|[4-9]\\d?)|2(?:[07]\\d?|20|44)|7(?:[0-57]\\d?|9[79])|8(?:0[08]|2\\d?|8[0178])|9(?:00|97))|8(?:1[127]|8[1268]|9[269])|9(?:0(?:[02]\\d?|69|9[0269])|1[1-3689]|21))', - 'example' => '123', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '11[02]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[02-579]|6(?:000|111)|8(?:[09]\\d|[1-8]))|2[36-9]|3[7-9]|4[05-7]|5[6-8]|6[05]|7[3-6]|8[02-7]|9[3-9])|1(?:2[0-245]|3[0-6]|4[1-489]|5[0-59]|6[1-46-9]|7[0-27-9]|8[189]|9[0-2])\\d\\d?', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '1(?:18[1258]|2(?:0(?:1[036]|[46]\\d?)|166|21|4(?:0[04]|1\\d?|5[47])|[67])|3(?:0(?:1[13-578]|2\\d?|3[56])|1[15]|2[045]|3(?:[13]\\d?|2[13])|43|5(?:00|3[34]|53))|44(?:0[0135]|14|50|7\\d?)|5(?:05|1(?:[12]\\d?|5[1246]|8[12])|2(?:[01]\\d?|22)|3(?:00|3[03])|4(?:15|5\\d?)|500|9(?:5\\d?|77|80))|6(?:1[35-8]|226|3(?:22|3[36]|66)|644|7(?:00|7\\d?|89)|9(?:00|69))|7(?:01[258]|1(?:00|[15]\\d?)|2(?:44|7\\d?)|8(?:00|87|9\\d?))|8(?:1[128]|8[56]|9(?:[26]\\d?|77))|90(?:2\\d?|69|92))', - 'example' => '126', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_EE extends PhoneMetadata +{ + protected const ID = 'EE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:18(?:00|[12458]\d?)|2(?:0(?:[02-46-8]\d?|1[0-36])|1(?:[0-4]\d?|6[06])|2(?:[0-4]\d?|5[25])|[367]|4(?:0[04]|[12]\d?|4[24]|54)|55[12457])|3(?:0(?:[02]\d?|1[13578]|3[356])|1[1347]|2[02-5]|3(?:[01347]\d?|2[023]|88)|4(?:[35]\d?|4[34])|5(?:3[134]|5[035])|666)|4(?:2(?:00|4\d?)|4(?:0[01358]|1[024]|50|7\d?)|900)|5(?:0[0-35]|1(?:[1267]\d?|5[0-7]|82)|2(?:[014-6]\d?|22)|330|4(?:[35]\d?|44)|5(?:00|[1-69]\d?)|9(?:[159]\d?|[38]0|77))|6(?:1(?:00|1[19]|[35-9]\d?)|2(?:2[26]|[68]\d?)|3(?:22|36|6[36])|5|6(?:[0-359]\d?|6[0-26])|7(?:00|55|7\d?|8[89])|9(?:00|1\d?|69))|7(?:0(?:[023]\d?|1[0578])|1(?:00|2[034]|[4-9]\d?)|2(?:[07]\d?|20|44)|7(?:[0-57]\d?|9[79])|8(?:0[08]|2\d?|8[0178])|9(?:00|97))|8(?:1[127]|8[1268]|9[269])|9(?:0(?:[02]\d?|69|9[0269])|1[1-3689]|21))') + ->setExampleNumber('123') + ->setPossibleLength([3, 4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[02]|6\d{3})|2(?:05|28)|3(?:014|3(?:21|5\d?)|660)|492|5(?:1[03]|410|501)|6(?:112|333|644)|7(?:012|127|89)|8(?:10|8[57])|9(?:0[134]|14))') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[02-579]|6(?:000|111)|8(?:[09]\d|[1-8]))|2[36-9]|3[7-9]|4[05-7]|5[6-8]|6[05]|7[3-6]|8[02-7]|9[3-9])|1(?:2[0-245]|3[0-6]|4[1-489]|5[0-59]|6[1-46-9]|7[0-27-9]|8[189]|9[0-2])\d\d?') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:18[1258]|2(?:0(?:1[036]|[46]\d?)|166|21|4(?:0[04]|1\d?|5[47])|[67])|3(?:0(?:1[13-578]|2\d?|3[56])|1[15]|2[045]|3(?:[13]\d?|2[13])|43|5(?:00|3[34]|53))|44(?:0[0135]|14|50|7\d?)|5(?:05|1(?:[12]\d?|5[1246]|8[12])|2(?:[01]\d?|22)|3(?:00|3[03])|4(?:15|5\d?)|500|9(?:5\d?|77|80))|6(?:1[35-8]|226|3(?:22|3[36]|66)|644|7(?:00|7\d?|89)|9(?:00|69))|7(?:01[258]|1(?:00|[15]\d?)|2(?:44|7\d?)|8(?:00|87|9\d?))|8(?:1[128]|8[56]|9(?:[26]\d?|77))|90(?:2\d?|69|92))') + ->setExampleNumber('126') + ->setPossibleLength([3, 4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php index 403e41331..5c420351e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EG.php @@ -1,4 +1,5 @@ 'EG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[13]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:2[23]|80)', - 'example' => '122', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:2[23]|80)', - 'example' => '122', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:2[23]|[679]\\d{3}|80)|34400', - 'example' => '122', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '344\\d\\d', - 'example' => '34400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '344\\d\\d', - 'example' => '34400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_EG extends PhoneMetadata +{ + protected const ID = 'EG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[13]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:2[23]|80)') + ->setExampleNumber('122') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:2[23]|80)') + ->setExampleNumber('122') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:2[23]|[679]\d{3}|80)|34400') + ->setExampleNumber('122'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('344\d\d') + ->setExampleNumber('34400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('344\d\d') + ->setExampleNumber('34400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php index fd4ab52d2..b03778cf9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_EH.php @@ -1,4 +1,5 @@ 'EH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_EH extends PhoneMetadata +{ + protected const ID = 'EH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php index 05a6aa710..f3ac50d71 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ER.php @@ -1,4 +1,5 @@ 'ER', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12]\\d\\d(?:\\d{3})?', - 'posLength' => [ - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11[2-46]|(?:12[47]|20[12])\\d{3}', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[2-46]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[2-6]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ER extends PhoneMetadata +{ + protected const ID = 'ER'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d\d(?:\d{3})?') + ->setPossibleLength([3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2-46]|(?:12[47]|20[12])\d{3}') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[2-46]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[2-6]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php index 1a5ca9b03..2fed858b0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ES.php @@ -1,4 +1,5 @@ 'ES', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[0-379]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '0(?:16|6[57]|8[58])|1(?:006|12|[3-7]\\d\\d)|(?:116|20\\d)\\d{3}', - 'example' => '016', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '[12]2\\d{1,4}|90(?:5\\d|7)|(?:118|2(?:[357]\\d|80)|3[357]\\d)\\d\\d|[79]9[57]\\d{3}', - 'example' => '120', - ], - 'emergency' => [ - 'pattern' => '08[58]|112', - 'example' => '085', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d\\d)|2\\d{1,4}|[3-9]\\d\\d)|2(?:2\\d{1,4}|80\\d\\d)|90(?:5[124578]|7)|1(?:3[34]|77)|(?:2[01]\\d|[79]9[57])\\d{3}|[23][357]\\d{3}', - 'example' => '010', - ], - 'standardRate' => [ - 'pattern' => '0(?:[16][0-2]|80|9[12])|21\\d{4}', - 'example' => '010', - 'posLength' => [ - 3, - 6, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:3[34]|77)|[12]2\\d{1,4}', - 'example' => '120', - ], - 'smsServices' => [ - 'pattern' => '(?:2[0-2]\\d|3[357]|[79]9[57])\\d{3}|2(?:[2357]\\d|80)\\d\\d', - 'example' => '22000', - 'posLength' => [ - 5, - 6, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ES extends PhoneMetadata +{ + protected const ID = 'ES'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0-379]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]2\d{1,4}|90(?:5\d|7)|(?:118|2(?:[357]\d|80)|3[357]\d)\d\d|[79]9[57]\d{3}') + ->setExampleNumber('120'); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:16|6[57]|8[58])|1(?:006|12|[3-7]\d\d)|(?:116|20\d)\d{3}') + ->setExampleNumber('016') + ->setPossibleLength([3, 4, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('08[58]|112') + ->setExampleNumber('085') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\d{1,3}|1(?:2|6(?:000|111)|8\d\d)|2\d{1,4}|[3-9]\d\d)|2(?:2\d{1,4}|80\d\d)|90(?:5[124578]|7)|1(?:3[34]|77)|(?:2[01]\d|[79]9[57])\d{3}|[23][357]\d{3}') + ->setExampleNumber('010'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:[16][0-2]|80|9[12])|21\d{4}') + ->setExampleNumber('010') + ->setPossibleLength([3, 6]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3[34]|77)|[12]2\d{1,4}') + ->setExampleNumber('120'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:2[0-2]\d|3[357]|[79]9[57])\d{3}|2(?:[2357]\d|80)\d\d') + ->setExampleNumber('22000') + ->setPossibleLength([5, 6]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php index 843f747c4..2bf1aff70 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ET.php @@ -1,4 +1,5 @@ 'ET', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:07|11?|2|39?|9[17])', - 'example' => '91', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11?|2|39?|9[17])', - 'example' => '91', - ], - 'shortCode' => [ - 'pattern' => '9(?:07|11?|2|39?|45|9[17])', - 'example' => '91', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ET extends PhoneMetadata +{ + protected const ID = 'ET'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:07|11?|2|39?|9[17])') + ->setExampleNumber('91'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11?|2|39?|9[17])') + ->setExampleNumber('91'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:07|11?|2|39?|45|9[17])') + ->setExampleNumber('91'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php index 9f840dc92..5867f7d53 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FI.php @@ -1,4 +1,5 @@ 'FI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[17]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:2|6(?:00[06]|1(?:1[17]|23)))|(?:1[235-8]\\d|75[12])\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'pattern' => '1[235-8]\\d{3}', - 'example' => '12000', - 'posLength' => [ - 5, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FI extends PhoneMetadata +{ + protected const ID = 'FI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[17]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6(?:00[06]|1(?:1[17]|23)))|(?:1[2-8]\d|75[12])\d\d') + ->setExampleNumber('112'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[2-8]\d{3}') + ->setExampleNumber('12000') + ->setPossibleLength([5]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php index 8599a0962..0e811f120 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FJ.php @@ -1,4 +1,5 @@ 'FJ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[0-579]\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 2, - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '91[17]', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '91[17]', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:1[34]|8[1-4])|1(?:0[1-3]|[25]9)|2[289]|30|40404|91[137]|[45]4|75', - 'example' => '22', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FJ extends PhoneMetadata +{ + protected const ID = 'FJ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0-579]\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([2, 3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[17]') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[17]') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:1[34]|8[1-4])|1(?:0[1-3]|[25]9)|2[289]|30|40404|91[137]|[45]4|75') + ->setExampleNumber('22'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php index cc69ab078..3b1784127 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FK.php @@ -1,4 +1,5 @@ 'FK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '1\\d\\d|999', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FK extends PhoneMetadata +{ + protected const ID = 'FK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d|999') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php index af9ba89e8..5045636ad 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FM.php @@ -1,4 +1,5 @@ 'FM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[39]\\d\\d(?:\\d{3})?', - 'posLength' => [ - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '320\\d{3}|911', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '(?:32022|91)1', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '(?:32022|91)1', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FM extends PhoneMetadata +{ + protected const ID = 'FM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[39]\d\d(?:\d{3})?') + ->setPossibleLength([3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('320\d{3}|911') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:32022|91)1') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:32022|91)1') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php index cfe25ebaf..413fe910f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FO.php @@ -1,4 +1,5 @@ 'FO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[24]|81\\d)', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[24]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[248]|819)|1(?:4[124]|71|8[7-9])\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FO extends PhoneMetadata +{ + protected const ID = 'FO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[24]|81\d)') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[24]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[248]|819)|1(?:4[124]|71|8[7-9])\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php index f31961544..f1ded9755 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_FR.php @@ -1,4 +1,5 @@ 'FR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-8]\\d{1,5}', - 'posLength' => [ - 2, - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[02459]|[578]|9[167])|224|(?:3370|74)0|(?:116\\d|3[01])\\d\\d', - 'example' => '15', - ], - 'premiumRate' => [ - 'pattern' => '(?:1(?:0|18\\d)|366|[4-8]\\d\\d)\\d\\d|3[2-9]\\d\\d', - 'example' => '1000', - 'posLength' => [ - 4, - 5, - 6, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0\\d\\d|1(?:[02459]|6(?:000|111)|8\\d{3})|[578]|9[167])|2(?:0(?:00|2)0|24)|[3-8]\\d{4}|3\\d{3}|6(?:1[14]|34)|7(?:0[06]|22|40)', - 'example' => '15', - ], - 'standardRate' => [ - 'pattern' => '202\\d|6(?:1[14]|34)|70[06]', - 'example' => '611', - 'posLength' => [ - 3, - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '118777|224|6(?:1[14]|34)|7(?:0[06]|22|40)|20(?:0\\d|2)\\d', - 'example' => '224', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'smsServices' => [ - 'pattern' => '114|[3-8]\\d{4}', - 'example' => '114', - 'posLength' => [ - 3, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_FR extends PhoneMetadata +{ + protected const ID = 'FR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-8]\d{1,5}') + ->setPossibleLength([2, 3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:0|18\d)|366|[4-8]\d\d)\d\d|3[2-9]\d\d') + ->setExampleNumber('1000') + ->setPossibleLength([4, 5, 6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[02459]|[578]|9[167])|224|(?:3370|74)0|(?:116\d|3[01])\d\d') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0\d\d|1(?:[02459]|6(?:000|111)|8\d{3})|[578]|9[167])|2(?:0(?:00|2)0|24)|[3-8]\d{4}|3\d{3}|6(?:1[14]|34)|7(?:0[06]|22|40)') + ->setExampleNumber('15'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('202\d|6(?:1[14]|34)|70[06]') + ->setExampleNumber('611') + ->setPossibleLength([3, 4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('118777|224|6(?:1[14]|34)|7(?:0[06]|22|40)|20(?:0\d|2)\d') + ->setExampleNumber('224') + ->setPossibleLength([3, 4, 5, 6]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('114|[3-8]\d{4}') + ->setExampleNumber('114') + ->setPossibleLength([3, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php index 47eb9755f..30b9561c7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GA.php @@ -1,4 +1,5 @@ 'GA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d(?:\\d{2})?', - 'posLength' => [ - 2, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '18|1(?:3\\d|73)\\d', - 'example' => '18', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:3\\d\\d|730|8)', - 'example' => '18', - ], - 'shortCode' => [ - 'pattern' => '1(?:3\\d\\d|730|8)', - 'example' => '18', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GA extends PhoneMetadata +{ + protected const ID = 'GA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d(?:\d{2})?') + ->setPossibleLength([2, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('18|1(?:3\d|73)\d') + ->setExampleNumber('18'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3\d\d|730|8)') + ->setExampleNumber('18'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3\d\d|730|8)') + ->setExampleNumber('18'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php index d6a38709e..3f3b00a1a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GB.php @@ -1,4 +1,5 @@ 'GB', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-46-9]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:05|1(?:[29]|6\\d{3})|7[56]\\d|8000)|2(?:20\\d|48)|4444|999', - 'example' => '105', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[015]|1(?:[129]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[1-3]|50)|33|4(?:1|7\\d)|571|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:0202|1300|2(?:02|11)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|(?:[68]\\d|7[089])\\d{3}|15\\d|2[02]2|650|789|9(?:01|99)', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:(?:25|7[56])\\d|571)|2(?:02(?:\\d{2})?|[13]3\\d\\d|48)|4444|901', - 'example' => '202', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:125|2(?:020|13\\d)|(?:7[089]|8[01])\\d\\d)\\d', - 'example' => '1250', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GB extends PhoneMetadata +{ + protected const ID = 'GB'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-46-9]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05|1(?:[29]|6\d{3})|7[56]\d|8000)|2(?:20\d|48)|4444|999') + ->setExampleNumber('105'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[015]|1(?:[129]|6(?:000|1(?:11|23))|8\d{3})|2(?:[1-3]|50)|33|4(?:1|7\d)|571|7(?:0\d|[56]0)|800\d|9[15])|2(?:0202|1300|2(?:02|11)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\d)|(?:[68]\d|7[089])\d{3}|15\d|2[02]2|650|789|9(?:01|99)') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:(?:25|7[56])\d|571)|2(?:02(?:\d{2})?|[13]3\d\d|48)|4444|901') + ->setExampleNumber('202') + ->setPossibleLength([3, 4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:125|2(?:020|13\d)|(?:7[089]|8[01])\d\d)\d') + ->setExampleNumber('1250') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php index b13923dc2..e5418c0ad 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GD.php @@ -1,4 +1,5 @@ 'GD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '176|9(?:11|88)', - 'example' => '176', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GD extends PhoneMetadata +{ + protected const ID = 'GD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176|9(?:11|88)') + ->setExampleNumber('176'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php index 3e5fd6f3e..767c98074 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GE.php @@ -1,4 +1,5 @@ 'GE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[014]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '0(?:11|33)|11[1-3]|[01]22', - 'example' => '011', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '0(?:11|33)|11[1-3]|[01]22', - 'example' => '011', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:11|33)|11[1-3]|40404|[01]22', - 'example' => '011', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GE extends PhoneMetadata +{ + protected const ID = 'GE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[014]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11|33)|11[1-3]|[01]22') + ->setExampleNumber('011') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11|33)|11[1-3]|[01]22') + ->setExampleNumber('011') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11|33)|11[1-3]|40404|[01]22') + ->setExampleNumber('011'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php index dcba58eb1..239078b40 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GF.php @@ -1,4 +1,5 @@ 'GF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GF extends PhoneMetadata +{ + protected const ID = 'GF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php index ae1c8e24c..95e5bcfd3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GG.php @@ -1,4 +1,5 @@ 'GG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[01]|1[12]|23|41|55|9[05])|999|1(?:1[68]\\d\\d|47|800)\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GG extends PhoneMetadata +{ + protected const ID = 'GG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01]|1[12]|23|41|55|9[05])|999|1(?:1[68]\d\d|47|800)\d') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php index 42f707bb0..77b587c44 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GH.php @@ -1,4 +1,5 @@ 'GH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14589]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '19[1-3]|999', - 'example' => '191', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[1-3]|999', - 'example' => '191', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '19[1-3]|40404|(?:54|83)00|999', - 'example' => '191', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d|(?:54|83)0\\d', - 'example' => '5400', - 'posLength' => [ - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d|(?:54|83)0\\d', - 'example' => '5400', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GH extends PhoneMetadata +{ + protected const ID = 'GH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14589]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1-3]|999') + ->setExampleNumber('191') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1-3]|999') + ->setExampleNumber('191') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1-3]|40404|(?:54|83)00|999') + ->setExampleNumber('191'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d|(?:54|83)0\d') + ->setExampleNumber('5400') + ->setPossibleLength([4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d|(?:54|83)0\d') + ->setExampleNumber('5400') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php index a2905df59..992bf4517 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GI.php @@ -1,4 +1,5 @@ 'GI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[158]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:00|1[25]|23|4(?:1|7\\d)|5[15]|9[02-49])|555|(?:116\\d|80)\\d\\d', - 'example' => '100', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '8[1-69]\\d\\d', - 'example' => '8100', - 'posLength' => [ - 4, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|9[09])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:00|1(?:[25]|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|23|4(?:1|7[014])|5[015]|9[02-49])|555|8[0-79]\\d\\d|8(?:00|4[0-2]|8[0-589])', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '150|87\\d\\d', - 'example' => '150', - 'posLength' => [ - 3, - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:00|1(?:5|8\\d\\d)|23|51|9[2-4])|555|8(?:00|4[0-2]|8[0-589])', - 'example' => '100', - 'posLength' => [ - 3, - 5, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GI extends PhoneMetadata +{ + protected const ID = 'GI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[158]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8[1-69]\d\d') + ->setExampleNumber('8100') + ->setPossibleLength([4]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|1[25]|23|4(?:1|7\d)|5[15]|9[02-49])|555|(?:116\d|80)\d\d') + ->setExampleNumber('100') + ->setPossibleLength([3, 4, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[09])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|1(?:[25]|6(?:00[06]|1(?:1[17]|23))|8\d\d)|23|4(?:1|7[014])|5[015]|9[02-49])|555|8[0-79]\d\d|8(?:00|4[0-2]|8[0-589])') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('150|87\d\d') + ->setExampleNumber('150') + ->setPossibleLength([3, 4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|1(?:5|8\d\d)|23|51|9[2-4])|555|8(?:00|4[0-2]|8[0-589])') + ->setExampleNumber('100') + ->setPossibleLength([3, 5]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php index 95a6011e6..698aec0d7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GL.php @@ -1,4 +1,5 @@ 'GL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1[1-8]\\d', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GL extends PhoneMetadata +{ + protected const ID = 'GL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[1-8]\d') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php index 184bfd66d..4558b1db8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GM.php @@ -1,4 +1,5 @@ 'GM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[6-8]|[6-8])', - 'example' => '16', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[6-8]|[6-8])', - 'example' => '16', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[6-8]|[6-8])', - 'example' => '16', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GM extends PhoneMetadata +{ + protected const ID = 'GM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[6-8]|[6-8])') + ->setExampleNumber('16'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[6-8]|[6-8])') + ->setExampleNumber('16'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[6-8]|[6-8])') + ->setExampleNumber('16'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php index 45b69341d..8247175c2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GN.php @@ -1,4 +1,5 @@ 'GN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'posLength' => [ - -1, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'posLength' => [ - -1, - ], - ], - 'shortCode' => [ - 'pattern' => '12\\d|40404', - 'example' => '120', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GN extends PhoneMetadata +{ + protected const ID = 'GN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = PhoneNumberDesc::empty(); + $this->emergency = PhoneNumberDesc::empty(); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12\d|40404') + ->setExampleNumber('120'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php index 7c63d433f..d205feedd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GP.php @@ -1,4 +1,5 @@ 'GP', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GP extends PhoneMetadata +{ + protected const ID = 'GP'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php index cab07f68f..a3fba2014 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GR.php @@ -1,4 +1,5 @@ 'GR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[089]|1(?:2|6\\d{3})|66|99)', - 'example' => '100', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:00|12|66|99)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[089]|1(?:2|320|6(?:000|1(?:1[17]|23)))|(?:389|9)9|66)', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '113\\d\\d', - 'example' => '11300', - 'posLength' => [ - 5, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GR extends PhoneMetadata +{ + protected const ID = 'GR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[089]|1(?:2|6\d{3})|66|99)') + ->setExampleNumber('100') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|12|66|99)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[089]|1(?:2|320|6(?:000|1(?:1[17]|23)))|(?:389|9)9|66)') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('113\d\d') + ->setExampleNumber('11300') + ->setPossibleLength([5]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php index 8295d3978..900a37f35 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GT.php @@ -1,4 +1,5 @@ 'GT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:10|2[03])', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:10|2[03])', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '110|40404|1(?:2|[57]\\d)\\d', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GT extends PhoneMetadata +{ + protected const ID = 'GT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:10|2[03])') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:10|2[03])') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('110|40404|1(?:2|[57]\d)\d') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php index fc0681a1f..d0644a8dc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GU.php @@ -1,4 +1,5 @@ 'GU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GU extends PhoneMetadata +{ + protected const ID = 'GU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php index a4d493207..04eee2f0d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GW.php @@ -1,4 +1,5 @@ 'GW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[378]', - 'example' => '113', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[378]', - 'example' => '113', - ], - 'shortCode' => [ - 'pattern' => '11[378]', - 'example' => '113', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GW extends PhoneMetadata +{ + protected const ID = 'GW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[378]') + ->setExampleNumber('113'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[378]') + ->setExampleNumber('113'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[378]') + ->setExampleNumber('113'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php index 17409e365..1e6dc9680 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_GY.php @@ -1,4 +1,5 @@ 'GY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[019]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '91[1-3]', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '91[1-3]', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:02|(?:17|80)1|444|7(?:[67]7|9)|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[1-3]', - 'example' => '002', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '144\\d', - 'example' => '1440', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '144\\d', - 'example' => '1440', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_GY extends PhoneMetadata +{ + protected const ID = 'GY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[019]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[1-3]') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[1-3]') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:02|(?:17|80)1|444|7(?:[67]7|9)|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[1-3]') + ->setExampleNumber('002'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('144\d') + ->setExampleNumber('1440') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('144\d') + ->setExampleNumber('1440') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php index 19a456c34..1834f67c7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HK.php @@ -1,4 +1,5 @@ 'HK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,6}', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '112|99[29]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|99[29]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:(?:[0136]\\d|2[14])\\d{0,3}|8[138])|12|2(?:[0-3]\\d{0,4}|(?:58|8[13])\\d{0,3})|7(?:[135-9]\\d{0,4}|219\\d{0,2})|8(?:0(?:(?:[13]|60\\d)\\d|8)|1(?:0\\d|[2-8])|2(?:0[5-9]|(?:18|2)2|3|8[128])|(?:(?:3[0-689]\\d|7(?:2[1-389]|8[0235-9]|93))\\d|8)\\d|50[138]|6(?:1(?:11|86)|8)))|99[29]|10[0139]', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '109|1(?:08|85\\d)\\d', - 'example' => '109', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '992', - 'example' => '992', - 'posLength' => [ - 3, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_HK extends PhoneMetadata +{ + protected const ID = 'HK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,6}') + ->setPossibleLength([3, 4, 5, 6, 7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[29]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[29]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:(?:[0136]\d|2[14])\d{0,3}|8[138])|12|2(?:[0-3]\d{0,4}|(?:58|8[13])\d{0,3})|7(?:[135-9]\d{0,4}|219\d{0,2})|8(?:0(?:(?:[13]|60\d)\d|8)|1(?:0\d|[2-8])|2(?:0[5-9]|(?:18|2)2|3|8[128])|(?:(?:3[0-689]\d|7(?:2[1-389]|8[0235-9]|93))\d|8)\d|50[138]|6(?:1(?:11|86)|8)))|99[29]|10[0139]') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('109|1(?:08|85\d)\d') + ->setExampleNumber('109') + ->setPossibleLength([3, 4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('992') + ->setExampleNumber('992') + ->setPossibleLength([3]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php index c8d9c08fb..7bc183c1f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HN.php @@ -1,4 +1,5 @@ 'HN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '199', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '199', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '199|40404', - 'example' => '199', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_HN extends PhoneMetadata +{ + protected const ID = 'HN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199|40404') + ->setExampleNumber('199'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php index 79f62f632..4dd56eb2c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HR.php @@ -1,4 +1,5 @@ 'HR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{1,5}', - 'posLength' => [ - 2, - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|9[2-4])|9[34]|1(?:16\\d|39)\\d\\d', - 'example' => '93', - 'posLength' => [ - 2, - 3, - 5, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '118\\d\\d', - 'example' => '11800', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|9[2-4])|9[34]', - 'example' => '93', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|3977|9(?:[2-5]|87))|9[34]', - 'example' => '93', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '139\\d\\d', - 'example' => '13900', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '139\\d\\d', - 'example' => '13900', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_HR extends PhoneMetadata +{ + protected const ID = 'HR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[016-9]\d{1,5}') + ->setPossibleLength([2, 3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('06\d|(?:118|[6-8]\d{3})\d\d') + ->setExampleNumber('060') + ->setPossibleLength([3, 5, 6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])|9[34]|1(?:16\d|39)\d\d') + ->setExampleNumber('93') + ->setPossibleLength([2, 3, 5, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])|9[34]') + ->setExampleNumber('93') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:06|[6-8]\d{4})\d|1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\d\d)|3977|9(?:[2-5]|87))|9[34]') + ->setExampleNumber('93'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('139\d\d') + ->setExampleNumber('13900') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('139\d\d') + ->setExampleNumber('13900') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php index 6cea43362..45b1a2f1c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HT.php @@ -1,4 +1,5 @@ 'HT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[48]', - 'example' => '114', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[48]', - 'example' => '114', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11[48]|40404', - 'example' => '114', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_HT extends PhoneMetadata +{ + protected const ID = 'HT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[48]') + ->setExampleNumber('114') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[48]') + ->setExampleNumber('114') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[48]|40404') + ->setExampleNumber('114'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php index be4d5dda0..766eb2074 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_HU.php @@ -1,4 +1,5 @@ 'HU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[457]|12|4[0-4]\\d)|1(?:16\\d|37|45)\\d\\d', - 'example' => '104', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[457]|12)', - 'example' => '104', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[457]|1(?:2|6(?:000|1(?:11|23))|800)|2(?:0[0-4]|1[013489]|2[0-5]|3[0-46]|4[0-24-68]|5[0-2568]|6[06]|7[0-25-7]|8[028]|9[08])|37(?:00|37|7[07])|4(?:0[0-5]|1[013-8]|2[034]|3[23]|4[02-9]|5(?:00|41|67))|777|8(?:1[27-9]|2[04]|40|[589]))', - 'example' => '104', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:4[0-4]|77)\\d|1(?:18|2|45)\\d\\d', - 'example' => '1200', - 'posLength' => [ - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '184\\d', - 'example' => '1840', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_HU extends PhoneMetadata +{ + protected const ID = 'HU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[457]|12|4[0-4]\d)|1(?:16\d|37|45)\d\d') + ->setExampleNumber('104'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[457]|12)') + ->setExampleNumber('104') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[457]|1(?:2|6(?:000|1(?:11|23))|800)|2(?:0[0-4]|1[013489]|2[0-5]|3[0-46]|4[0-24-68]|5[0-2568]|6[06]|7[0-25-7]|8[028]|9[08])|37(?:00|37|7[07])|4(?:0[0-5]|1[013-8]|2[034]|3[23]|4[02-9]|5(?:00|41|67))|777|8(?:1[27-9]|2[04]|40|[589]))') + ->setExampleNumber('104'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:4[0-4]|77)\d|1(?:18|2|45)\d\d') + ->setExampleNumber('1200') + ->setPossibleLength([4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('184\d') + ->setExampleNumber('1840') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php index e6511f169..ed7bafa9a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ID.php @@ -1,4 +1,5 @@ 'ID', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[178]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11[02389]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[02389]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[02389]|40\\d\\d|50264)|71400|89887', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:714|898)\\d\\d', - 'example' => '71400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '714\\d\\d', - 'example' => '71400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ID extends PhoneMetadata +{ + protected const ID = 'ID'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[178]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02389]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02389]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[02389]|40\d\d|50264)|71400|89887') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:714|898)\d\d') + ->setExampleNumber('71400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('714\d\d') + ->setExampleNumber('71400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php index 41dbaae9b..fb3c3a760 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IE.php @@ -1,4 +1,5 @@ 'IE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[159]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})|999', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '5[37]\\d{3}', - 'example' => '53000', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:2|6(?:00[06]|1(?:1[17]|23)))|999|(?:1(?:18|9)|5[0137]\\d)\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'pattern' => '51\\d{3}', - 'example' => '51000', - 'posLength' => [ - 5, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '51210', - 'example' => '51210', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '51210|(?:118|5[037]\\d)\\d\\d', - 'example' => '11800', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IE extends PhoneMetadata +{ + protected const ID = 'IE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[159]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5[37]\d{3}') + ->setExampleNumber('53000') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})|999') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6(?:00[06]|1(?:1[17]|23)))|999|(?:1(?:18|9)|5[0137]\d)\d\d') + ->setExampleNumber('112'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('51\d{3}') + ->setExampleNumber('51000') + ->setPossibleLength([5]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('51210') + ->setExampleNumber('51210') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('51210|(?:118|5[037]\d)\d\d') + ->setExampleNumber('11800') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php index 7c4da549b..cc4111ca6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IL.php @@ -1,4 +1,5 @@ 'IL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[0-2]|12)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[0-2]|12)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[0-2]|1(?:[013-9]\\d|2)|[2-9]\\d\\d)|2407|(?:104|27)00', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '104\\d\\d', - 'example' => '10400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '104\\d\\d', - 'example' => '10400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IL extends PhoneMetadata +{ + protected const ID = 'IL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|12)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|12)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|1(?:[013-9]\d|2)|[2-9]\d\d)|2407|(?:104|27)00') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('104\d\d') + ->setExampleNumber('10400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('104\d\d') + ->setExampleNumber('10400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php index 4abf6199b..514bc1a72 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IM.php @@ -1,4 +1,5 @@ 'IM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[189]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1\\d\\d(?:\\d{3})?|8(?:6444|9887)|999', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '8(?:64|98)\\d\\d', - 'example' => '86400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IM extends PhoneMetadata +{ + protected const ID = 'IM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[189]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d{3})?|8(?:6444|9887)|999') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('8(?:64|98)\d\d') + ->setExampleNumber('86400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php index d9e8d5a11..30bd9ba2a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IN.php @@ -1,4 +1,5 @@ 'IN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12578]\\d{2,8}', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[0-248]|1[289]|21|[39][89]|4[01]|6(?:1|6\\d?)|8[12])|777|800|1[05]5\\d|1(?:07|51|94)\\d\\d?|(?:1(?:[05]5\\d|70)\\d|261)\\d|1(?:0[369]|10|29|3[126]|9[0-256])\\d', - 'example' => '100', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '11[67]\\d{4}|56161561', - 'example' => '1160000', - 'posLength' => [ - 7, - 8, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[0-28]|12|298)|2611', - 'example' => '100', - 'posLength' => [ - 3, - 4, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:[0-248]|3[39]|5(?:010|6)|6[3468]|7(?:[01357]|[28]0?|4[01])|9[0135-9])|1(?:00|[289])|2(?:1|98)|3(?:11|2[0-2]|63|[89])|4[01]|5(?:1(?:0[0-36]|[127])|54)|6(?:1|6[01]?)|7000|8[12]|9(?:0[013-59]|12|25|4[4-9]\\d?|50|6[1347]|[89]))|2611|5(?:0(?:0(?:0\\d|1|20?)|325|5[2-79]\\d{3,5})|1(?:234|555|717|818|96[49])|2(?:0(?:0[01]|[14]0)|151|555|666|888|9(?:06|99\\d?))|3(?:0[01]0|131|553|(?:66|77)6)|(?:464|55[05])\\d{1,3}|6(?:070|3[68]|43)|717\\d)|777|800|5(?:05(?:0|1\\d)|221|3(?:03|3[23]))\\d{1,4}|5(?:(?:04|88)0|2(?:2[0267]|3[16])|4(?:1[04]|20|3[02])|5(?:3[16]|67)|6(?:06|[67]\\d)|787|9(?:64|90))\\d\\d?|(?:1(?:05[79]|(?:1[67][0-2]|802)\\d|55[23])\\d|5(?:(?:00(?:0\\d|1)|(?:304|616)\\d\\d)\\d|1(?:0[12]|4[2-4])|2(?:2[3589]|3(?:1\\d{3}|2)|4[04]|7[78])|4(?:[02]4|32\\d{4}|4[04]|99)|5(?:1[25]|[36]5|4[45]|93)|7(?:(?:17\\d|57)\\d\\d|[27]7|88)|8(?:3[4-69]|4[01]|5[58]|88(?:8\\d\\d|9)|99)|9(?:0(?:0|2\\d{3})|55|6[67]|77|88)))\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '5(?:14(?:2[5-9]|[34]\\d)|757555)', - 'example' => '51425', - 'posLength' => [ - 5, - 7, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:(?:1[67]\\d\\d|70)\\d\\d|55330|909)|5(?:300\\d|6161(?:17[89]|561))|1(?:[19][89]|21|4[01])', - 'example' => '118', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - 8, - ], - ], - 'smsServices' => [ - 'pattern' => '1(?:39|90[019])|5(?:14(?:2[5-9]|[34]\\d)|6161(?:17[89]|561)|757555)', - 'example' => '139', - 'posLength' => [ - 3, - 4, - 5, - 7, - 8, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IN extends PhoneMetadata +{ + protected const ID = 'IN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12578]\d{2,8}') + ->setPossibleLength([3, 4, 5, 6, 7, 8, 9]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[67]\d{4}|56161561') + ->setExampleNumber('1160000') + ->setPossibleLength([7, 8]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-248]|1[289]|21|[39][89]|4[01]|6(?:1|6\d?)|8[12])|777|800|1[05]5\d|1(?:07|51|94)\d\d?|(?:1(?:[05]5\d|70)\d|261)\d|1(?:0[369]|10|29|3[126]|9[0-256])\d') + ->setExampleNumber('100') + ->setPossibleLength([3, 4, 5, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-28]|12|298)|2611') + ->setExampleNumber('100') + ->setPossibleLength([3, 4]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[0-248]|3[39]|5(?:010|6)|6[3468]|7(?:[01357]|[28]0?|4[01])|9[0135-9])|1(?:00|[289])|2(?:1|98)|3(?:11|2[0-2]|63|[89])|4[01]|5(?:1(?:0[0-36]|[127])|54)|6(?:1|6[01]?)|7000|8[12]|9(?:0[013-59]|12|25|4[4-9]\d?|50|6[1347]|[89]))|2611|5(?:0(?:0(?:0\d|1|20?)|325|5[2-79]\d{3,5})|1(?:234|555|717|818|96[49])|2(?:0(?:0[01]|[14]0)|151|555|666|888|9(?:06|99\d?))|3(?:0[01]0|131|553|(?:66|77)6)|(?:464|55[05])\d{1,3}|6(?:070|3[68]|43)|717\d)|777|800|5(?:05(?:0|1\d)|221|3(?:03|3[23]))\d{1,4}|5(?:(?:04|88)0|2(?:2[0267]|3[16])|4(?:1[04]|20|3[02])|5(?:3[16]|67)|6(?:06|[67]\d)|787|9(?:64|90))\d\d?|(?:1(?:05[79]|(?:1[67][0-2]|802)\d|55[23])\d|5(?:(?:00(?:0\d|1)|(?:304|616)\d\d)\d|1(?:0[12]|4[2-4])|2(?:2[3589]|3(?:1\d{3}|2)|4[04]|7[78])|4(?:[02]4|32\d{4}|4[04]|99)|5(?:1[25]|[36]5|4[45]|93)|7(?:(?:17\d|57)\d\d|[27]7|88)|8(?:3[4-69]|4[01]|5[58]|88(?:8\d\d|9)|99)|9(?:0(?:0|2\d{3})|55|6[67]|77|88)))\d') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:14(?:2[5-9]|[34]\d)|757555)') + ->setExampleNumber('51425') + ->setPossibleLength([5, 7]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:(?:1[67]\d\d|70)\d\d|55330|909)|5(?:300\d|6161(?:17[89]|561))|1(?:[19][89]|21|4[01])') + ->setExampleNumber('118') + ->setPossibleLength([3, 4, 5, 6, 7, 8]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:39|90[019])|5(?:14(?:2[5-9]|[34]\d)|6161(?:17[89]|561)|757555)') + ->setExampleNumber('139') + ->setPossibleLength([3, 4, 5, 7, 8]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php index c75d1c40c..f9e8d9cbb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IQ.php @@ -1,4 +1,5 @@ 'IQ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1479]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[04]|15|22)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[04]|15|22)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[04]|15|22)|4432|71117|9988', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:443|711\\d|998)\\d', - 'example' => '4430', - 'posLength' => [ - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:443|711\\d|998)\\d', - 'example' => '4430', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IQ extends PhoneMetadata +{ + protected const ID = 'IQ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1479]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[04]|15|22)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[04]|15|22)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[04]|15|22)|4432|71117|9988') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:443|711\d|998)\d') + ->setExampleNumber('4430') + ->setPossibleLength([4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:443|711\d|998)\d') + ->setExampleNumber('4430') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php index 8c19c6945..ef936772f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IR.php @@ -1,4 +1,5 @@ 'IR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[129]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[0-68]|2[0-59]|9[0-579])|911', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[025]|25)|911', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[0-68]|2[0-59]|3[346-8]|4(?:[0147]|[289]0)|5(?:0[14]|1[02479]|2[0-3]|39|[49]0|65)|6(?:[16]6|[27]|90)|8(?:03|1[18]|22|3[37]|4[28]|88|99)|9[0-579])|20(?:[09]0|1(?:[038]|1[079]|26|9[69])|2[01])|9(?:11|9(?:0009|90))', - 'example' => '110', - ], - 'standardRate' => [ - 'pattern' => '1(?:5[0-469]|8[0-489])\\d', - 'example' => '1500', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:1(?:5[0-469]|8[0-489])|99(?:0\\d\\d|9))\\d', - 'example' => '1500', - 'posLength' => [ - 4, - 6, - ], - ], - 'smsServices' => [ - 'pattern' => '990\\d{3}', - 'example' => '990000', - 'posLength' => [ - 6, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IR extends PhoneMetadata +{ + protected const ID = 'IR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[129]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[0-68]|2[0-59]|9[0-579])|911') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[025]|25)|911') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[0-68]|2[0-59]|3[346-8]|4(?:[0147]|[289]0)|5(?:0[14]|1[02479]|2[0-3]|39|[49]0|65)|6(?:[16]6|[27]|90)|8(?:03|1[18]|22|3[37]|4[28]|88|99)|9[0-579])|20(?:[09]0|1(?:[038]|1[079]|26|9[69])|2[01])|9(?:11|9(?:0009|90))') + ->setExampleNumber('110'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:5[0-469]|8[0-489])\d') + ->setExampleNumber('1500') + ->setPossibleLength([4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:5[0-469]|8[0-489])|99(?:0\d\d|9))\d') + ->setExampleNumber('1500') + ->setPossibleLength([4, 6]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('990\d{3}') + ->setExampleNumber('990000') + ->setPossibleLength([6]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php index fa940c8c8..30ff967f8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IS.php @@ -1,4 +1,5 @@ 'IS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|71\\d)', - 'example' => '112', - 'posLength' => [ - 3, - 4, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[28]|61(?:16|23))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:[02]0|1[16-9]|88)|900)', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '14(?:0\\d|41)', - 'example' => '1400', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '1(?:415|90\\d)', - 'example' => '1415', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IS extends PhoneMetadata +{ + protected const ID = 'IS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|71\d)') + ->setExampleNumber('112') + ->setPossibleLength([3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[28]|61(?:16|23))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:[02]0|1[16-9]|88)|900)') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('14(?:0\d|41)') + ->setExampleNumber('1400') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:415|90\d)') + ->setExampleNumber('1415') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php index 2254eaf98..2da2493ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_IT.php @@ -1,4 +1,5 @@ 'IT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d{2,6}', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:[2358]|6\\d{3})|87)', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:12|4(?:[478](?:[0-4]|[5-9]\\d\\d)|55))\\d\\d', - 'example' => '1200', - 'posLength' => [ - 4, - 5, - 7, - ], - ], - 'emergency' => [ - 'pattern' => '11[2358]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0\\d{2,3}|1(?:[2-57-9]|6(?:000|111))|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2[2-9]|4\\d|696))|4(?:2323|5045)|(?:1(?:2|92[01])|4(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d)|55))\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '4(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d)|5[05])\\d\\d', - 'example' => '43000', - 'posLength' => [ - 5, - 7, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_IT extends PhoneMetadata +{ + protected const ID = 'IT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d{2,6}') + ->setPossibleLength([3, 4, 5, 6, 7]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:12|4(?:[478](?:[0-4]|[5-9]\d\d)|55))\d\d') + ->setExampleNumber('1200') + ->setPossibleLength([4, 5, 7]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[2358]|6\d{3})|87)') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2358]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0\d{2,3}|1(?:[2-57-9]|6(?:000|111))|3[39]|4(?:82|9\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2[2-9]|4\d|696))|4(?:2323|5045)|(?:1(?:2|92[01])|4(?:3(?:[01]|[45]\d\d)|[478](?:[0-4]|[5-9]\d\d)|55))\d\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('4(?:3(?:[01]|[45]\d\d)|[478](?:[0-4]|[5-9]\d\d)|5[05])\d\d') + ->setExampleNumber('43000') + ->setPossibleLength([5, 7]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php index 5317b91ae..7ce21721f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JE.php @@ -1,4 +1,5 @@ 'JE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[129]\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[0135])|23[2-4]|999', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_JE extends PhoneMetadata +{ + protected const ID = 'JE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[129]\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:00|1(?:2|8\d{3})|23|4(?:[14]|28|7\d)|5\d|7(?:0[12]|[128]|35?)|808|9[0135])|23[2-4]|999') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php index f40865eb0..4798dd5f7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JM.php @@ -1,4 +1,5 @@ 'JM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[029]|9(?:11|88)', - 'example' => '110', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[029]|911', - 'example' => '110', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[029]|76)|9(?:11|88)', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'smsServices' => [ - 'pattern' => '176', - 'example' => '176', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_JM extends PhoneMetadata +{ + protected const ID = 'JM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[029]|9(?:11|88)') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[029]|911') + ->setExampleNumber('110'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[029]|76)|9(?:11|88)') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('176') + ->setExampleNumber('176'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php index 3e8494cd0..86c47ba68 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JO.php @@ -1,4 +1,5 @@ 'JO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[235]|1[2-6]|9[127])|911', - 'example' => '102', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '9[0-4689]\\d{3}', - 'example' => '90000', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|9[127])|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[2359]|1[0-68]|9[0-24-79])|9[0-4689]\\d{3}|911', - 'example' => '102', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '9[0-4689]\\d{3}', - 'example' => '90000', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '9[0-4689]\\d{3}', - 'example' => '90000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_JO extends PhoneMetadata +{ + protected const ID = 'JO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[0-4689]\d{3}') + ->setExampleNumber('90000') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[235]|1[2-6]|9[127])|911') + ->setExampleNumber('102') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[127])|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[2359]|1[0-68]|9[0-24-79])|9[0-4689]\d{3}|911') + ->setExampleNumber('102'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[0-4689]\d{3}') + ->setExampleNumber('90000') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9[0-4689]\d{3}') + ->setExampleNumber('90000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php index e4407c6dd..cac4f43b7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_JP.php @@ -1,4 +1,5 @@ 'JP', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d\\d(?:\\d{7})?', - 'posLength' => [ - 3, - 10, - ], - ], - 'tollFree' => [ - 'pattern' => '11[089]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[09]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '000[259]\\d{6}|1(?:0[24]|1[089]|44|89)', - 'example' => '102', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '000[259]\\d{6}', - 'example' => '0002000000', - 'posLength' => [ - 10, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_JP extends PhoneMetadata +{ + protected const ID = 'JP'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d\d(?:\d{7})?') + ->setPossibleLength([3, 10]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[089]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[09]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000[259]\d{6}|1(?:0[24]|1[089]|44|89)') + ->setExampleNumber('102'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000[259]\d{6}') + ->setExampleNumber('0002000000') + ->setPossibleLength([10]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php index 6dfd75e49..b5b39a03e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KE.php @@ -1,4 +1,5 @@ 'KE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:[246]|9\\d)|5(?:01|2[127]|6[26]\\d))|999', - 'example' => '112', - ], - 'premiumRate' => [ - 'pattern' => '909\\d\\d', - 'example' => '90900', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '11[24]|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:[07-9]|1[0-25]|400)|1(?:[024-6]|9[0-579])|2[1-3]|3[01]|4[14]|5(?:[01][01]|2[0-24-79]|33|4[05]|5[59]|6(?:00|29|6[67]))|(?:6[035]\\d|[78])\\d|9(?:[02-9]\\d\\d|19))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99))\\d\\d|9(?:09\\d\\d|99)|8988', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:(?:04|6[35])\\d\\d|3[01]|4[14]|5(?:1\\d|2[25]))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99)|909)\\d\\d|898\\d', - 'example' => '130', - ], - 'smsServices' => [ - 'pattern' => '1(?:(?:04|6[035])\\d\\d|4[14]|5(?:01|55|6[26]\\d))|40404|8988|909\\d\\d', - 'example' => '141', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KE extends PhoneMetadata +{ + protected const ID = 'KE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('909\d\d') + ->setExampleNumber('90900') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[246]|9\d)|5(?:01|2[127]|6[26]\d))|999') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[24]|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[07-9]|1[0-25]|400)|1(?:[024-6]|9[0-579])|2[1-3]|3[01]|4[14]|5(?:[01][01]|2[0-24-79]|33|4[05]|5[59]|6(?:00|29|6[67]))|(?:6[035]\d|[78])\d|9(?:[02-9]\d\d|19))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\d)\d|5(?:[0-7]\d|99))\d\d|9(?:09\d\d|99)|8988') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:(?:04|6[35])\d\d|3[01]|4[14]|5(?:1\d|2[25]))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\d)\d|5(?:[0-7]\d|99)|909)\d\d|898\d') + ->setExampleNumber('130'); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:(?:04|6[035])\d\d|4[14]|5(?:01|55|6[26]\d))|40404|8988|909\d\d') + ->setExampleNumber('141'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php index 11370838c..c16eb404e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KG.php @@ -1,4 +1,5 @@ 'KG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '10[1-3]', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[1-3]', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '10[1-3]|4040', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KG extends PhoneMetadata +{ + protected const ID = 'KG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-3]') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-3]') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[1-3]|4040') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php index 073bc1f9a..28139e449 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KH.php @@ -1,4 +1,5 @@ 'KH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[146]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[7-9]|666', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[7-9]|666', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11[7-9]|40404|666', - 'example' => '117', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KH extends PhoneMetadata +{ + protected const ID = 'KH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[146]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[7-9]|666') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[7-9]|666') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[7-9]|40404|666') + ->setExampleNumber('117'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php index b0bb12832..cd7f6984d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KI.php @@ -1,4 +1,5 @@ 'KI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[179]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '19[2-5]|99[2-4]', - 'example' => '192', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[2-5]|99[2-4]', - 'example' => '192', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:05[0-259]|88|9[2-5])|777|99[2-4]|10[0-8]', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '103', - 'example' => '103', - 'posLength' => [ - 3, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KI extends PhoneMetadata +{ + protected const ID = 'KI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[179]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[2-5]|99[2-4]') + ->setExampleNumber('192') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[2-5]|99[2-4]') + ->setExampleNumber('192') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05[0-259]|88|9[2-5])|777|99[2-4]|10[0-8]') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('103') + ->setExampleNumber('103') + ->setPossibleLength([3]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php index a3ee670e7..7213df76f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KM.php @@ -1,4 +1,5 @@ 'KM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KM extends PhoneMetadata +{ + protected const ID = 'KM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php index 9f02bcaf3..63d2c383d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KN.php @@ -1,4 +1,5 @@ 'KN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[39]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '333|9(?:11|88|99)', - 'example' => '333', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '333|9(?:11|99)', - 'example' => '333', - ], - 'shortCode' => [ - 'pattern' => '333|9(?:11|88|99)', - 'example' => '333', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KN extends PhoneMetadata +{ + protected const ID = 'KN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[39]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|88|99)') + ->setExampleNumber('333'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|99)') + ->setExampleNumber('333'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('333|9(?:11|88|99)') + ->setExampleNumber('333'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php index b2e743fa3..a079cc619 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KP.php @@ -1,4 +1,5 @@ 'KP', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[18]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[29]|819', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[29]|819', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '11[29]|819', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KP extends PhoneMetadata +{ + protected const ID = 'KP'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[18]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[29]|819') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[29]|819') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[29]|819') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php index 15d09eb3c..31472eff2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KR.php @@ -1,4 +1,5 @@ 'KR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[27-9]|28|330|82)', - 'example' => '112', - 'posLength' => [ - 3, - 4, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[29]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:[016-9]114|3(?:0[01]|2|3[0-35-9]|45?|5[057]|6[569]|7[79]|8[2589]|9[0189]))|1(?:0[015]|1\\d|2[01357-9]|41|8[28])', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:0[01]|1[4-6]|41)|1(?:[06-9]1\\d|111)\\d', - 'example' => '100', - 'posLength' => [ - 3, - 5, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KR extends PhoneMetadata +{ + protected const ID = 'KR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[27-9]|28|330|82)') + ->setExampleNumber('112') + ->setPossibleLength([3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[29]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[016-9]114|3(?:0[01]|2|3[0-35-9]|45?|5[057]|6[569]|7[79]|8[2589]|9[0189]))|1(?:0[015]|1\d|2[01357-9]|41|8[28])') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01]|1[4-6]|41)|1(?:[06-9]1\d|111)\d') + ->setExampleNumber('100') + ->setPossibleLength([3, 5]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php index b789fd2b1..8ca40608a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KW.php @@ -1,4 +1,5 @@ 'KW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[18]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1[0-7]\\d|89887', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '898\\d\\d', - 'example' => '89800', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KW extends PhoneMetadata +{ + protected const ID = 'KW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[18]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[0-7]\d|89887') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('898\d\d') + ->setExampleNumber('89800') + ->setPossibleLength([5]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php index b1cd40d71..1d4a43f7d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KY.php @@ -1,4 +1,5 @@ 'KY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KY extends PhoneMetadata +{ + protected const ID = 'KY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php index 0b6bd82da..c1c03b3a2 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_KZ.php @@ -1,4 +1,5 @@ 'KZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-4]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[1-3]|12)|212\\d', - 'example' => '101', - 'posLength' => [ - 3, - 4, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[1-4]|12)|2121|(?:3040|404)0', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:304\\d|404)\\d', - 'example' => '4040', - 'posLength' => [ - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:304\\d|404)\\d', - 'example' => '4040', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_KZ extends PhoneMetadata +{ + protected const ID = 'KZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-4]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)|212\d') + ->setExampleNumber('101') + ->setPossibleLength([3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-4]|12)|2121|(?:3040|404)0') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:304\d|404)\d') + ->setExampleNumber('4040') + ->setPossibleLength([4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:304\d|404)\d') + ->setExampleNumber('4040') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php index d785777ea..8ae014fea 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LA.php @@ -1,4 +1,5 @@ 'LA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '19[015]', - 'example' => '190', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[015]', - 'example' => '190', - ], - 'shortCode' => [ - 'pattern' => '19[015]', - 'example' => '190', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LA extends PhoneMetadata +{ + protected const ID = 'LA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[015]') + ->setExampleNumber('190'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[015]') + ->setExampleNumber('190'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[015]') + ->setExampleNumber('190'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php index e9bd9cdeb..5f95bb48c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LB.php @@ -1,4 +1,5 @@ 'LB', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|40|75)|999', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|40|75)|999', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|40|75)|999', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LB extends PhoneMetadata +{ + protected const ID = 'LB'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|40|75)|999') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|40|75)|999') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|40|75)|999') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php index 4f473a4a7..34a162a19 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LC.php @@ -1,4 +1,5 @@ 'LC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LC extends PhoneMetadata +{ + protected const ID = 'LC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php index b863d952d..35b4d4d2f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LI.php @@ -1,4 +1,5 @@ 'LI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[278]|44)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[278]|44)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LI extends PhoneMetadata +{ + protected const ID = 'LI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[278]|44)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[278]|44)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php index ac0c17157..38d42c89c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LK.php @@ -1,4 +1,5 @@ 'LK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '11[02689]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[02689]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[024-9]|3(?:00|1[2-49]|2[23]|3[1-3]|44|5[07]|[67]9|88|9[039])|9(?:0[0-2589]|1[0-357-9]|2[0-25689]|3[0389]|4[0489]|5[014-69]|6[0-2689]|7[03579]|8[02457-9]|9[0-2569]))', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LK extends PhoneMetadata +{ + protected const ID = 'LK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02689]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[02689]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[024-9]|3(?:00|1[2-49]|2[23]|3[1-3]|44|5[07]|[67]9|88|9[039])|9(?:0[0-2589]|1[0-357-9]|2[0-25689]|3[0389]|4[0489]|5[014-69]|6[0-2689]|7[03579]|8[02457-9]|9[0-2569]))') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php index b3229ab07..07d5e4cc9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LR.php @@ -1,4 +1,5 @@ 'LR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[3489]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '355|911', - 'example' => '355', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '355|911', - 'example' => '355', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '355|4040|8(?:400|933)|911', - 'example' => '355', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:404|8(?:40|93))\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:404|8(?:40|93))\\d', - 'example' => '4040', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LR extends PhoneMetadata +{ + protected const ID = 'LR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[3489]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('355|911') + ->setExampleNumber('355') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('355|911') + ->setExampleNumber('355') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('355|4040|8(?:400|933)|911') + ->setExampleNumber('355'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:404|8(?:40|93))\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:404|8(?:40|93))\d') + ->setExampleNumber('4040') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php index 1177a357e..2203532e1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LS.php @@ -1,4 +1,5 @@ 'LS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[257]', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[257]', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '11[257]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LS extends PhoneMetadata +{ + protected const ID = 'LS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[257]') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[257]') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[257]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php index a348c9891..b0d900c48 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LT.php @@ -1,4 +1,5 @@ 'LT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d(?:\\d(?:\\d{3})?)?', - 'posLength' => [ - 2, - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|1(?:2|6111))|116(?:0\\d|12)\\d', - 'example' => '01', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|12)', - 'example' => '01', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|1(?:[27-9]|6(?:000|1(?:1[17]|23))))', - 'example' => '01', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LT extends PhoneMetadata +{ + protected const ID = 'LT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d(?:\d(?:\d{3})?)?') + ->setPossibleLength([2, 3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11?|22?|33?)|1(?:0[1-3]|1(?:2|6111))|116(?:0\d|12)\d') + ->setExampleNumber('01'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11?|22?|33?)|1(?:0[1-3]|12)') + ->setExampleNumber('01') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:11?|22?|33?)|1(?:0[1-3]|1(?:[27-9]|6(?:000|1(?:1[17]|23))))') + ->setExampleNumber('01'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php index 0f6805f70..fc2a08eb3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LU.php @@ -1,4 +1,5 @@ 'LU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:[23]|6\\d{3})', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[23]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:[23]|6(?:000|111))|1(?:18|[25]\\d|3)\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LU extends PhoneMetadata +{ + protected const ID = 'LU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[23]|6\d{3})') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[23]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[23]|6(?:000|111))|1(?:18|[25]\d|3)\d\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php index a6025aa33..42b8f3965 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LV.php @@ -1,4 +1,5 @@ 'LV', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[018]\\d{1,5}', - 'posLength' => [ - 2, - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '0[1-3]|11(?:[023]|6\\d{3})', - 'example' => '01', - 'posLength' => [ - 2, - 3, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '1180|821\\d\\d', - 'example' => '1180', - 'posLength' => [ - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '0[1-3]|11[023]', - 'example' => '01', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|(?:5|65)5|77)|821[57]4', - 'example' => '01', - ], - 'standardRate' => [ - 'pattern' => '1181', - 'example' => '1181', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '165\\d', - 'example' => '1650', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LV extends PhoneMetadata +{ + protected const ID = 'LV'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[018]\d{1,5}') + ->setPossibleLength([2, 3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1180|821\d\d') + ->setExampleNumber('1180') + ->setPossibleLength([4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-3]|11(?:[023]|6\d{3})') + ->setExampleNumber('01') + ->setPossibleLength([2, 3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-3]|11[023]') + ->setExampleNumber('01') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|(?:5|65)5|77)|821[57]4') + ->setExampleNumber('01'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1181') + ->setExampleNumber('1181') + ->setPossibleLength([4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('165\d') + ->setExampleNumber('1650') + ->setPossibleLength([4]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php index 2c4ea24fb..bf29489b9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_LY.php @@ -1,4 +1,5 @@ 'LY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '19[013]', - 'example' => '190', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[013]', - 'example' => '190', - ], - 'shortCode' => [ - 'pattern' => '19[013]', - 'example' => '190', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_LY extends PhoneMetadata +{ + protected const ID = 'LY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[013]') + ->setExampleNumber('190'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[013]') + ->setExampleNumber('190'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[013]') + ->setExampleNumber('190'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php index 44335aff2..616f86216 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MA.php @@ -1,4 +1,5 @@ 'MA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:[59]|77)', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MA extends PhoneMetadata +{ + protected const ID = 'MA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[59]|77)') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php index b109446d1..e8ff6704a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MC.php @@ -1,4 +1,5 @@ 'MC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|41|[578])', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MC extends PhoneMetadata +{ + protected const ID = 'MC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|41|[578])') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php index 262b6d650..816cd8f67 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MD.php @@ -1,4 +1,5 @@ 'MD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6(?:000|1(?:11|2\\d)))|90[1-3]', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|90[1-3]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d?|99)|90[04-9])|90[1-3]|1(?:4\\d\\d|6[0-389]|9[1-4])\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MD extends PhoneMetadata +{ + protected const ID = 'MD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6(?:000|1(?:11|2\d)))|90[1-3]') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|90[1-3]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\d\d?|99)|90[04-9])|90[1-3]|1(?:4\d\d|6[0-389]|9[1-4])\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php index 4aa5a1b6b..e6f982183 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ME.php @@ -1,4 +1,5 @@ 'ME', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|2[2-4])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|2[2-4])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:(?:[013-57-9]|6\\d\\d)\\d|2)|[249]\\d{3}|5999|8(?:0[089]|1[0-8]|888))|1(?:[02-5]\\d\\d|60[06]|700)|12\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ME extends PhoneMetadata +{ + protected const ID = 'ME'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|2[2-4])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|2[2-4])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:(?:[013-57-9]|6\d\d)\d|2)|[249]\d{3}|5999|8(?:0[089]|1[0-8]|888))|1(?:[02-5]\d\d|60[06]|700)|12\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php index 879c20279..3027b4c5f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MF.php @@ -1,4 +1,5 @@ 'MF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MF extends PhoneMetadata +{ + protected const ID = 'MF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php index 5b36d7432..8c8db9f4c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MG.php @@ -1,4 +1,5 @@ 'MG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[78]|[78])', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[78]|[78])', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[78]|[78])', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MG extends PhoneMetadata +{ + protected const ID = 'MG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|[78])') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|[78])') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|[78])') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php index 10f3e9158..4513cc14a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MH.php @@ -1,4 +1,5 @@ 'MH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MH extends PhoneMetadata +{ + protected const ID = 'MH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php index 796378e08..864145173 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MK.php @@ -1,4 +1,5 @@ 'MK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6\\d{3})|9[2-4])', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|9[2-4])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|8\\d)|3\\d|9[2-4])|1(?:16|2\\d)\\d{3}', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MK extends PhoneMetadata +{ + protected const ID = 'MK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6\d{3})|9[2-4])') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|8\d)|3\d|9[2-4])|1(?:16|2\d)\d{3}') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php index 5b05506ab..430380a53 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ML.php @@ -1,4 +1,5 @@ 'ML', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[136-8]\\d{1,4}', - 'posLength' => [ - 2, - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]|(?:352|67)00|7402|(?:677|744|8000)\\d', - 'example' => '15', - 'posLength' => [ - 2, - 4, - 5, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:12|800)2\\d|3(?:52(?:11|2[02]|3[04-6]|99)|7574)', - 'example' => '1220', - 'posLength' => [ - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - 'posLength' => [ - 2, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[013-9]\\d|2)|2(?:1[02-469]|2[13])|[578])|350(?:35|57)|67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)|800[0-2][12]|3(?:52|[67]\\d)\\d\\d', - 'example' => '15', - ], - 'standardRate' => [ - 'pattern' => '37(?:433|575)|7400|8001\\d', - 'example' => '7400', - 'posLength' => [ - 4, - 5, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '3503\\d|(?:3[67]\\d|800)\\d\\d', - 'example' => '35030', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '374(?:0[24-9]|[1-9]\\d)|7400|3(?:6\\d|75)\\d\\d', - 'example' => '7400', - 'posLength' => [ - 4, - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ML extends PhoneMetadata +{ + protected const ID = 'ML'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[136-8]\d{1,4}') + ->setPossibleLength([2, 3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:12|800)2\d|3(?:52(?:11|2[02]|3[04-6]|99)|7574)') + ->setExampleNumber('1220') + ->setPossibleLength([4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]|(?:352|67)00|7402|(?:677|744|8000)\d') + ->setExampleNumber('15') + ->setPossibleLength([2, 4, 5]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15') + ->setPossibleLength([2]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[013-9]\d|2)|2(?:1[02-469]|2[13])|[578])|350(?:35|57)|67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)|800[0-2][12]|3(?:52|[67]\d)\d\d') + ->setExampleNumber('15'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('37(?:433|575)|7400|8001\d') + ->setExampleNumber('7400') + ->setPossibleLength([4, 5]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3503\d|(?:3[67]\d|800)\d\d') + ->setExampleNumber('35030') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('374(?:0[24-9]|[1-9]\d)|7400|3(?:6\d|75)\d\d') + ->setExampleNumber('7400') + ->setPossibleLength([4, 5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php index 3ba889453..2cba008f3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MM.php @@ -1,4 +1,5 @@ 'MM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '199', - 'example' => '199', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '199', - 'example' => '199', - ], - 'shortCode' => [ - 'pattern' => '199', - 'example' => '199', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MM extends PhoneMetadata +{ + protected const ID = 'MM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php index def26dc6f..775aa32bd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MN.php @@ -1,4 +1,5 @@ 'MN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '10[0-35]', - 'example' => '100', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[0-35]', - 'example' => '100', - ], - 'shortCode' => [ - 'pattern' => '10[0-35]', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MN extends PhoneMetadata +{ + protected const ID = 'MN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-35]') + ->setExampleNumber('100'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-35]') + ->setExampleNumber('100'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-35]') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php index 915bffa5e..e4e220caa 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MO.php @@ -1,4 +1,5 @@ 'MO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MO extends PhoneMetadata +{ + protected const ID = 'MO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php index 43c590949..ab2e230a8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MP.php @@ -1,4 +1,5 @@ 'MP', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MP extends PhoneMetadata +{ + protected const ID = 'MP'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php index d38ebb4d7..f04041aac 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MQ.php @@ -1,4 +1,5 @@ 'MQ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MQ extends PhoneMetadata +{ + protected const ID = 'MQ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[13]\d(?:\d(?:\d(?:\d{2})?)?)?') + ->setPossibleLength([2, 3, 4, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2469]\d\d') + ->setExampleNumber('3200') + ->setPossibleLength([4]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])|3[01]\d\d') + ->setExampleNumber('15') + ->setPossibleLength([2, 3, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])|(?:118[02-9]|3[0-2469])\d\d') + ->setExampleNumber('15'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('118\d{3}') + ->setExampleNumber('118000') + ->setPossibleLength([6]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php index 426cac4a2..91c5c4fa0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MR.php @@ -1,4 +1,5 @@ 'MR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MR extends PhoneMetadata +{ + protected const ID = 'MR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php index ca51ff6f5..d6ddba20b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MS.php @@ -1,4 +1,5 @@ 'MS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[29]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '211|9(?:11|88|99)', - 'example' => '211', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MS extends PhoneMetadata +{ + protected const ID = 'MS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[29]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('211|9(?:11|88|99)') + ->setExampleNumber('211'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php index 87e6f82b6..3c610e3d8 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MT.php @@ -1,4 +1,5 @@ 'MT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d{3})?', - 'posLength' => [ - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:2|6(?:000|1(?:11|23)))', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MT extends PhoneMetadata +{ + protected const ID = 'MT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d{3})?') + ->setPossibleLength([3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6(?:000|1(?:11|23)))') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php index 5bd1ca4f2..c43f741ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MU.php @@ -1,4 +1,5 @@ 'MU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[189]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[45]|99[59]', - 'example' => '114', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[45]|99[59]', - 'example' => '114', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1\\d{2,4}|(?:8\\d\\d|99)\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MU extends PhoneMetadata +{ + protected const ID = 'MU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[189]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[45]|99[59]') + ->setExampleNumber('114') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[45]|99[59]') + ->setExampleNumber('114') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,4}|(?:8\d\d|99)\d') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php index ec90518c7..8697f5f8e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MV.php @@ -1,4 +1,5 @@ 'MV', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:02|1[89])', - 'example' => '102', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:02|1[89])', - 'example' => '102', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:[0-37-9]|[4-6]\\d)\\d|4040|1[45]1', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1[45]1', - 'example' => '141', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MV extends PhoneMetadata +{ + protected const ID = 'MV'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:02|1[89])') + ->setExampleNumber('102') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:02|1[89])') + ->setExampleNumber('102') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[0-37-9]|[4-6]\d)\d|4040|1[45]1') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[45]1') + ->setExampleNumber('141') + ->setPossibleLength([3]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php index a68242665..6bfb21149 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MW.php @@ -1,4 +1,5 @@ 'MW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[189]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '199|99[7-9]', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '199|99[7-9]', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '199|80400|99[7-9]', - 'example' => '199', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '804\\d\\d', - 'example' => '80400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '804\\d\\d', - 'example' => '80400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MW extends PhoneMetadata +{ + protected const ID = 'MW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[189]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199|99[7-9]') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199|99[7-9]') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199|80400|99[7-9]') + ->setExampleNumber('199'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('804\d\d') + ->setExampleNumber('80400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('804\d\d') + ->setExampleNumber('80400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php index 6258139f3..9f902bb81 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MX.php @@ -1,4 +1,5 @@ 'MX', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[0579]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '0(?:6[0568]|80)|911', - 'example' => '060', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:530\\d|776)\\d', - 'example' => '7760', - 'posLength' => [ - 4, - 5, - ], - ], - 'emergency' => [ - 'pattern' => '0(?:6[0568]|80)|911', - 'example' => '060', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0[1-9]\\d|53053|7766|911', - 'example' => '010', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '0(?:[249]0|[35][01])', - 'example' => '020', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MX extends PhoneMetadata +{ + protected const ID = 'MX'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[0579]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:530\d|776)\d') + ->setExampleNumber('7760') + ->setPossibleLength([4, 5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:6[0568]|80)|911') + ->setExampleNumber('060') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:6[0568]|80)|911') + ->setExampleNumber('060') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-9]\d|53053|7766|911') + ->setExampleNumber('010'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:[249]0|[35][01])') + ->setExampleNumber('020') + ->setPossibleLength([3]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php index 6497ba404..f6aad936a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MY.php @@ -1,4 +1,5 @@ 'MY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1369]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|999', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[01348]|1(?:[02]|1[128]|311)|2(?:0[125]|[13-6]|2\\d{0,2})|(?:3[1-35-79]|7[45])\\d\\d?|5(?:454|5\\d\\d?|77|888|999?)|8(?:18?|2|8[18])|9(?:[124]\\d?|68|71|9[0679]))|66628|99[1-469]|13[5-7]|(?:1(?:0[569]|309|5[12]|7[136-9]|9[03])|3[23679]\\d\\d)\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '666\\d\\d', - 'example' => '66600', - 'posLength' => [ - 5, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:3[23679]\\d|666)\\d\\d', - 'example' => '32000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MY extends PhoneMetadata +{ + protected const ID = 'MY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1369]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|999') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01348]|1(?:[02]|1[128]|311)|2(?:0[125]|[13-6]|2\d{0,2})|(?:3[1-35-79]|7[45])\d\d?|5(?:454|5\d\d?|77|888|999?)|8(?:18?|2|8[18])|9(?:[124]\d?|68|71|9[0679]))|66628|99[1-469]|13[5-7]|(?:1(?:0[569]|309|5[12]|7[136-9]|9[03])|3[23679]\d\d)\d') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('666\d\d') + ->setExampleNumber('66600') + ->setPossibleLength([5]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:3[23679]\d|666)\d\d') + ->setExampleNumber('32000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php index 2a934e8f2..f014bec70 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_MZ.php @@ -1,4 +1,5 @@ 'MZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[79]|9[78])', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[79]|9[78])', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:[02-5]\\d\\d|1[79]|9[78])', - 'example' => '117', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_MZ extends PhoneMetadata +{ + protected const ID = 'MZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[79]|9[78])') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[79]|9[78])') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[02-5]\d\d|1[79]|9[78])') + ->setExampleNumber('117'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php index 5fe4989dd..c7829b5ab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NA.php @@ -1,4 +1,5 @@ 'NA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '10111', - 'example' => '10111', - 'posLength' => [ - 5, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10111', - 'example' => '10111', - 'posLength' => [ - 5, - ], - ], - 'shortCode' => [ - 'pattern' => '(?:10|93)111|(?:1\\d|9)\\d\\d', - 'example' => '900', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NA extends PhoneMetadata +{ + protected const ID = 'NA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10111') + ->setExampleNumber('10111') + ->setPossibleLength([5]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10111') + ->setExampleNumber('10111') + ->setPossibleLength([5]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:10|93)111|(?:1\d|9)\d\d') + ->setExampleNumber('900'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php index 0a2786f4f..c6a41ce1a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NC.php @@ -1,4 +1,5 @@ 'NC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[135]\\d{1,3}', - 'posLength' => [ - 2, - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0(?:00|1[23]|3[0-2]|8\\d)|[5-8])|363\\d|577', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[5-8]', - 'example' => '15', - 'posLength' => [ - 2, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:0[06]|1[02-46]|20|3[0-25]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d', - 'example' => '15', - ], - 'standardRate' => [ - 'pattern' => '5(?:67|88)', - 'example' => '567', - 'posLength' => [ - 3, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NC extends PhoneMetadata +{ + protected const ID = 'NC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[135]\d{1,3}') + ->setPossibleLength([2, 3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:00|1[23]|3[0-2]|8\d)|[5-8])|363\d|577') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[5-8]') + ->setExampleNumber('15') + ->setPossibleLength([2]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:0[06]|1[02-46]|20|3[0-25]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\d') + ->setExampleNumber('15'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('5(?:67|88)') + ->setExampleNumber('567') + ->setPossibleLength([3]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php index 595b1f1a9..edb948a3a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NE.php @@ -1,4 +1,5 @@ 'NE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-3578]\\d(?:\\d(?:\\d{3})?)?', - 'posLength' => [ - 2, - 3, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:18|[578])|723\\d{3}', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:18|[578])|723141', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[01]|1[128]|2[034]|3[013]|[46]0|55?|[78])|222|333|555|723141|888', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:0[01]|1[12]|2[034]|3[013]|[46]0|55)|222|333|555|888', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NE extends PhoneMetadata +{ + protected const ID = 'NE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-3578]\d(?:\d(?:\d{3})?)?') + ->setPossibleLength([2, 3, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:18|[578])|723\d{3}') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:18|[578])|723141') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01]|1[128]|2[034]|3[013]|[46]0|55?|[78])|222|333|555|723141|888') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[01]|1[12]|2[034]|3[013]|[46]0|55)|222|333|555|888') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php index deb7089dc..e2fcfe331 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NF.php @@ -1,4 +1,5 @@ 'NF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|55|77)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|55|77)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|55|77)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NF extends PhoneMetadata +{ + protected const ID = 'NF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|55|77)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|55|77)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|55|77)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php index dbf8bf2b4..ac3c1ef68 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NG.php @@ -1,4 +1,5 @@ 'NG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '199', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '199', - 'example' => '199', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '199|40700', - 'example' => '199', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '407\\d\\d', - 'example' => '40700', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '407\\d\\d', - 'example' => '40700', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NG extends PhoneMetadata +{ + protected const ID = 'NG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199') + ->setExampleNumber('199') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('199|40700') + ->setExampleNumber('199'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('407\d\d') + ->setExampleNumber('40700') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('407\d\d') + ->setExampleNumber('40700') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php index 2e9b9661a..f2682cf90 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NI.php @@ -1,4 +1,5 @@ 'NI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12467]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[58]|2[08])|737\\d', - 'example' => '115', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[58]|2[08])', - 'example' => '115', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[58]|200)|4878|7(?:010|373)|12[0158]|(?:19|[267]1)00', - 'example' => '115', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NI extends PhoneMetadata +{ + protected const ID = 'NI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12467]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[58]|2[08])|737\d') + ->setExampleNumber('115'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[58]|2[08])') + ->setExampleNumber('115') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[58]|200)|4878|7(?:010|373)|12[0158]|(?:19|[267]1)00') + ->setExampleNumber('115'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php index 3e5ee2de2..20f129dae 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NL.php @@ -1,4 +1,5 @@ 'NL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1349]\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})|911', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\\d|400|8(?:[02-9]\\d|1[0-79]))|[34]000|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '120\\d', - 'example' => '1200', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '[34]00\\d', - 'example' => '3000', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NL extends PhoneMetadata +{ + protected const ID = 'NL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1349]\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})|911') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\d|400|8(?:[02-9]\d|1[0-79]))|[34]000|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('120\d') + ->setExampleNumber('1200') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[34]00\d') + ->setExampleNumber('3000') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php index 14f526c5c..9738ad9c0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NO.php @@ -1,4 +1,5 @@ 'NO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:[023]|6\\d{3})', - 'example' => '110', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[023]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '04\\d{3}|1(?:1(?:[0239]|61(?:1[17]|23))|2[048]|4(?:12|[59])|7[57]|8[5-9]\\d|90)', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '04\\d{3}', - 'example' => '04000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NO extends PhoneMetadata +{ + protected const ID = 'NO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[023]|6\d{3})') + ->setExampleNumber('110') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('04\d{3}|1(?:1(?:[0239]|61(?:1[17]|23))|2[048]|4(?:12|[59])|7[57]|8\d\d|90)') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('04\d{3}') + ->setExampleNumber('04000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php index aae571102..8adb1b3c7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NP.php @@ -1,4 +1,5 @@ 'NP', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[0-36]|12)|1(?:09|11)\\d', - 'example' => '100', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[0-3]|12)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:[0-36]|98)|1(?:1[1-4]|2))', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NP extends PhoneMetadata +{ + protected const ID = 'NP'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-36]|12)|1(?:09|11)\d') + ->setExampleNumber('100'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-3]|12)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:[0-36]|98)|1(?:1[1-4]|2))') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php index 1c1ce60ef..804d843fc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NR.php @@ -1,4 +1,5 @@ 'NR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[0-2]', - 'example' => '110', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[0-2]', - 'example' => '110', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[0-2]|23|92)', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NR extends PhoneMetadata +{ + protected const ID = 'NR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0-2]') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0-2]') + ->setExampleNumber('110'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[0-2]|23|92)') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php index 81ce7442e..0c7d17ca6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NU.php @@ -1,4 +1,5 @@ 'NU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[019]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '01[05]|101|999', - 'example' => '010', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '010', - 'example' => '010', - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NU extends PhoneMetadata +{ + protected const ID = 'NU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[019]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('01[05]|101|999') + ->setExampleNumber('010'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('010') + ->setExampleNumber('010'); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php index 6f732ebee..bd109d1a1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_NZ.php @@ -1,4 +1,5 @@ 'NZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '\\d{3,4}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '111', - 'example' => '111', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '018', - 'example' => '018', - 'posLength' => [ - 3, - ], - ], - 'emergency' => [ - 'pattern' => '111', - 'example' => '111', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '018|1(?:(?:1|37)1|(?:23|94)4|7[03]7)|[2-57-9]\\d{2,3}|6(?:161|26[0-3]|742)', - 'example' => '018', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '018|(?:1(?:23|37|7[03]|94)|6(?:[12]6|74))\\d|[2-57-9]\\d{2,3}', - 'example' => '018', - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_NZ extends PhoneMetadata +{ + protected const ID = 'NZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('\d{3,4}') + ->setPossibleLength([3, 4]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('018') + ->setExampleNumber('018') + ->setPossibleLength([3]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('111') + ->setExampleNumber('111') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('111') + ->setExampleNumber('111') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('018|1(?:(?:1|37)1|(?:23|94)4|7[03]7)|[2-57-9]\d{2,3}|6(?:161|26[0-3]|742)') + ->setExampleNumber('018'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('018|(?:1(?:23|37|7[03]|94)|6(?:[12]6|74))\d|[2-57-9]\d{2,3}') + ->setExampleNumber('018'); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php index 963965fd7..ebee43ff4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_OM.php @@ -1,4 +1,5 @@ 'OM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{3}', - 'posLength' => [ - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1444|999\\d', - 'example' => '1444', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1444|9999', - 'example' => '1444', - ], - 'shortCode' => [ - 'pattern' => '1(?:111|222|4(?:4[0-5]|50|66|7[7-9])|51[0-8])|9999|1(?:2[3-5]|3[0-2]|50)\\d', - 'example' => '1111', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_OM extends PhoneMetadata +{ + protected const ID = 'OM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{3}') + ->setPossibleLength([4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1444|999\d') + ->setExampleNumber('1444'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1444|9999') + ->setExampleNumber('1444'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:111|222|4(?:4[0-5]|50|66|7[7-9])|51[0-8])|9999|1(?:2[3-5]|3[0-2]|50)\d') + ->setExampleNumber('1111'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php index 2109b68ac..ceb7c04eb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PA.php @@ -1,4 +1,5 @@ 'PA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '10[2-4]|911', - 'example' => '102', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PA extends PhoneMetadata +{ + protected const ID = 'PA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[2-4]|911') + ->setExampleNumber('102'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php index 8289ed2af..7960b6252 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PE.php @@ -1,4 +1,5 @@ 'PE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:05|1[67])', - 'example' => '105', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:05|1[67])', - 'example' => '105', - ], - 'shortCode' => [ - 'pattern' => '1(?:05|1[67])', - 'example' => '105', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PE extends PhoneMetadata +{ + protected const ID = 'PE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05|1[67])') + ->setExampleNumber('105'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05|1[67])') + ->setExampleNumber('105'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:05|1[67])') + ->setExampleNumber('105'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php index 4f963b050..056afe575 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PF.php @@ -1,4 +1,5 @@ 'PF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PF extends PhoneMetadata +{ + protected const ID = 'PF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php index 1e4f4a695..439154a46 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PG.php @@ -1,4 +1,5 @@ 'PG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d{2,6}', - 'posLength' => [ - 3, - 4, - 5, - 6, - 7, - ], - ], - 'tollFree' => [ - 'pattern' => '000|11[01]', - 'example' => '000', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '000|11[01]', - 'example' => '000', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '000|1(?:1[01]|5\\d\\d|6\\d{2,5})', - 'example' => '000', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '16\\d{2,5}', - 'example' => '1600', - 'posLength' => [ - 4, - 5, - 6, - 7, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PG extends PhoneMetadata +{ + protected const ID = 'PG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d{2,6}') + ->setPossibleLength([3, 4, 5, 6, 7]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|11[01]') + ->setExampleNumber('000') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|11[01]') + ->setExampleNumber('000') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('000|1(?:1[01]|5\d\d|6\d{2,5})') + ->setExampleNumber('000'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('16\d{2,5}') + ->setExampleNumber('1600') + ->setPossibleLength([4, 5, 6, 7]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php index 9907b7613..5b1ef9634 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PH.php @@ -1,4 +1,5 @@ 'PH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[27]|911', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[27]|911', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '11[27]|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PH extends PhoneMetadata +{ + protected const ID = 'PH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[27]|911') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[27]|911') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[27]|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php index 5602f35b3..970e32d9f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PK.php @@ -1,4 +1,5 @@ 'PK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{1,3}', - 'posLength' => [ - 2, - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2\\d?|5)|[56])', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1(?:22?|5)|[56])', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:122|3[014]|[56])|11[2457-9]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PK extends PhoneMetadata +{ + protected const ID = 'PK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{1,3}') + ->setPossibleLength([2, 3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2\d?|5)|[56])') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:22?|5)|[56])') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:122|3[014]|[56])|11[2457-9]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php index 2af12c9f7..91c2e1812 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PL.php @@ -1,4 +1,5 @@ 'PL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})|99[7-9]', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|99[7-9]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|61(?:11|23)|891[23])|9\\d{3})|9(?:8[4-7]|9[1-9])|11[68]000', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PL extends PhoneMetadata +{ + protected const ID = 'PL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})|99[7-9]') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[7-9]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|61(?:11|23)|891[23])|9\d{3})|9(?:8[4-7]|9[1-9])|11[68]000') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php index e24d1ce00..ac7ef9f9d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PM.php @@ -1,4 +1,5 @@ 'PM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[13]\\d(?:\\d{2})?', - 'posLength' => [ - 2, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - 'posLength' => [ - 2, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - 'posLength' => [ - 2, - ], - ], - 'shortCode' => [ - 'pattern' => '1[578]|3103', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '310\\d', - 'example' => '3100', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PM extends PhoneMetadata +{ + protected const ID = 'PM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[13]\d(?:\d\d(?:\d{2})?)?') + ->setPossibleLength([2, 4, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[2469]\d\d') + ->setExampleNumber('3200') + ->setPossibleLength([4]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]|3(?:0\d|1[689])\d') + ->setExampleNumber('15') + ->setPossibleLength([2, 4]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15') + ->setPossibleLength([2]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]|31(?:03|[689]\d)|(?:118[02-9]|3[02469])\d\d') + ->setExampleNumber('15'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('118\d{3}') + ->setExampleNumber('118000') + ->setPossibleLength([6]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('310\d') + ->setExampleNumber('3100') + ->setPossibleLength([4]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php index fc7dd7715..5793724d5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PR.php @@ -1,4 +1,5 @@ 'PR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PR extends PhoneMetadata +{ + protected const ID = 'PR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php index 0e43c63be..edca77dab 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PS.php @@ -1,4 +1,5 @@ 'PS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[0-2]|66)', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '10[0-2]', - 'example' => '100', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[0-2]|122|44|66|99)', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '112\\d', - 'example' => '1120', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PS extends PhoneMetadata +{ + protected const ID = 'PS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|66)') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[0-2]') + ->setExampleNumber('100') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|122|44|66|99)') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112\d') + ->setExampleNumber('1120') + ->setPossibleLength([4]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php index 103edebb1..a4ed6a4e5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PT.php @@ -1,4 +1,5 @@ 'PT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 3, - 4, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11[257]|1(?:16\\d\\d|5[1589]|8[279])\\d', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[25]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:45|5[01])|1(?:[2578]|600[06])|4(?:1[45]|4)|583|6(?:1[0236]|3[02]|9[169]))|1(?:1611|59)1|1[068]78|1[08]9[16]|1(?:0[1-38]|40|5[15]|6[258]|82)0', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PT extends PhoneMetadata +{ + protected const ID = 'PT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([3, 4, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[257]|1(?:16\d\d|5[1589]|8[279])\d') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[25]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:45|5[01])|1(?:[2578]|600[06])|4(?:1[45]|4)|583|6(?:1[0236]|3[02]|9[169]))|1(?:1611|59)1|1[068]78|1[08]9[16]|1(?:0[1-38]|40|5[15]|6[258]|82)0') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php index 12397d574..a91d7f3eb 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PW.php @@ -1,4 +1,5 @@ 'PW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PW extends PhoneMetadata +{ + protected const ID = 'PW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php index 80bdf3245..1daede7dd 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_PY.php @@ -1,4 +1,5 @@ 'PY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '128|911', - 'example' => '128', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '128|911', - 'example' => '128', - ], - 'shortCode' => [ - 'pattern' => '1[1-9]\\d|911', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_PY extends PhoneMetadata +{ + protected const ID = 'PY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('128|911') + ->setExampleNumber('128'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('128|911') + ->setExampleNumber('128'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[1-9]\d|911') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php index 36e95f3a4..717253ffc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_QA.php @@ -1,4 +1,5 @@ 'QA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[129]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '99\\d', - 'example' => '990', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '900', - 'example' => '900', - 'posLength' => [ - 3, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '9(?:00|[19]\\d)|(?:1|20|9[27]\\d)\\d\\d', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_QA extends PhoneMetadata +{ + protected const ID = 'QA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[129]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('900') + ->setExampleNumber('900') + ->setPossibleLength([3]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99\d') + ->setExampleNumber('990') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:00|[19]\d)|(?:1|20|9[27]\d)\d\d') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php index 3fdb63225..336ce51e5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RE.php @@ -1,4 +1,5 @@ 'RE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|[578])', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_RE extends PhoneMetadata +{ + protected const ID = 'RE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|[578])') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php index 161a4049e..fef0b6f7d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RO.php @@ -1,4 +1,5 @@ 'RO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[18]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '(?:1(?:18[39]|[24])|8[48])\\d\\d', - 'example' => '1200', - 'posLength' => [ - 4, - 6, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:000|1(?:11|23))|8(?:(?:01|8[18])1|119|[23]00|932))|[24]\\d\\d|9(?:0(?:00|19)|1[19]|21|3[02]|5[178]))|8[48]\\d\\d', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '(?:1[24]|8[48])\\d\\d', - 'example' => '1200', - 'posLength' => [ - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_RO extends PhoneMetadata +{ + protected const ID = 'RO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[18]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1(?:18[39]|[24])|8[48])\d\d') + ->setExampleNumber('1200') + ->setPossibleLength([4, 6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:000|1(?:11|23))|8(?:(?:01|8[18])1|119|[23]00|932))|[24]\d\d|9(?:0(?:00|19)|1[19]|21|3[02]|5[178]))|8[48]\d\d') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:1[24]|8[48])\d\d') + ->setExampleNumber('1200') + ->setPossibleLength([4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php index 3d312e9ef..8047d490e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RS.php @@ -1,4 +1,5 @@ 'RS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{1,5}', - 'posLength' => [ - 2, - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '112|9[2-4]', - 'example' => '92', - 'posLength' => [ - 2, - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|9[2-4]', - 'example' => '92', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1[189]\\d{1,4}|9[2-4]', - 'example' => '92', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_RS extends PhoneMetadata +{ + protected const ID = 'RS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{1,5}') + ->setPossibleLength([2, 3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9[2-4]') + ->setExampleNumber('92') + ->setPossibleLength([2, 3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9[2-4]') + ->setExampleNumber('92') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[189]\d{1,4}|9[2-4]') + ->setExampleNumber('92'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php index b27e2258c..c5fc846d1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RU.php @@ -1,4 +1,5 @@ 'RU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112|(?:0|10)[1-3]', - 'example' => '01', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|(?:0|10)[1-3]', - 'example' => '01', - ], - 'shortCode' => [ - 'pattern' => '112|(?:0|10)[1-4]', - 'example' => '01', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_RU extends PhoneMetadata +{ + protected const ID = 'RU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|(?:0|10)[1-3]') + ->setExampleNumber('01'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|(?:0|10)[1-3]') + ->setExampleNumber('01'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|(?:0|10)[1-4]') + ->setExampleNumber('01'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php index 1b8abd71d..9f7a1a65d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_RW.php @@ -1,4 +1,5 @@ 'RW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[14]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[1245]', - 'example' => '111', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[12]', - 'example' => '111', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[0-2]|1[0-24-6]|2[13]|70|99)|456', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_RW extends PhoneMetadata +{ + protected const ID = 'RW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[14]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[1245]') + ->setExampleNumber('111'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[12]') + ->setExampleNumber('111'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|1[0-24-6]|2[13]|70|99)|456') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php index 1499e55f7..8c29f6a15 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SA.php @@ -1,4 +1,5 @@ 'SA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|6\\d{3})|9(?:11|37|9[7-9])', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|9(?:11|9[79])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:00|2|6111)|410|9(?:00|1[89]|9(?:099|22|9[0-3])))|9(?:0[24-79]|11|3[379]|40|66|8[5-9]|9[02-9])', - 'example' => '112', - ], - 'standardRate' => [ - 'pattern' => '141\\d', - 'example' => '1410', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1(?:10|41)\\d|90[24679]', - 'example' => '902', - 'posLength' => [ - 3, - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SA extends PhoneMetadata +{ + protected const ID = 'SA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|6\d{3})|9(?:11|37|9[7-9])') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9(?:11|9[79])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:00|2|6111)|410|9(?:00|1[89]|9(?:099|22|9[0-3])))|9(?:0[24-79]|11|3[379]|40|66|8[5-9]|9[02-9])') + ->setExampleNumber('112'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('141\d') + ->setExampleNumber('1410') + ->setPossibleLength([4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:10|41)\d|90[24679]') + ->setExampleNumber('902') + ->setPossibleLength([3, 4]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php index 70076a697..24c35dd09 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SB.php @@ -1,4 +1,5 @@ 'SB', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[127-9]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '1(?:[02]\\d|1[12]|[35][01]|[49][1-9]|6[2-9]|7[7-9]|8[0-8])|269|777|835|9(?:[01]1|22|33|55|77|88|99)', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SB extends PhoneMetadata +{ + protected const ID = 'SB'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[127-9]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[02]\d|1[12]|[35][01]|[49][1-9]|6[2-9]|7[7-9]|8[0-8])|269|777|835|9(?:[01]1|22|33|55|77|88|99)') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php index df21bdbfe..bae85e196 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SC.php @@ -1,4 +1,5 @@ 'SC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[1468]|60)|999', - 'example' => '111', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:[06]\\d|1[0-246-8]|2[0-8]|3[13]|4[0-2]|5[15]|7[124-6]|8[158]|9[015])|9(?:6\\d\\d|99)', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SC extends PhoneMetadata +{ + protected const ID = 'SC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[1468]|60)|999') + ->setExampleNumber('111') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:[06]\d|1[0-246-8]|2[0-8]|3[13]|4[0-2]|5[15]|7[124-6]|8[158]|9[015])|9(?:6\d\d|99)') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php index d9bb43612..29f1a25b7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SD.php @@ -1,4 +1,5 @@ 'SD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SD extends PhoneMetadata +{ + protected const ID = 'SD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php index 841e2c2f1..0d4441b2d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SE.php @@ -1,4 +1,5 @@ 'SE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-37-9]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:2|(?:3|6\\d)\\d\\d|414|77)|900\\d\\d', - 'example' => '112', - ], - 'premiumRate' => [ - 'pattern' => '11811[89]|72\\d{3}', - 'example' => '72000', - 'posLength' => [ - 5, - 6, - ], - ], - 'emergency' => [ - 'pattern' => '112|90000', - 'example' => '112', - 'posLength' => [ - 3, - 5, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:[25]|313|6(?:00[06]|1(?:1[17]|23))|7[0-8])|2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|9(?:0(?:00|51)0|12)|(?:11(?:4|8[02-46-9])|7\\d\\d|90[2-4])\\d\\d|(?:118|90)1(?:[02-9]\\d|1[013-9])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|912', - 'example' => '220', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '7\\d{4}', - 'example' => '70000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SE extends PhoneMetadata +{ + protected const ID = 'SE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-37-9]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11811[89]|72\d{3}') + ->setExampleNumber('72000') + ->setPossibleLength([5, 6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|(?:3|6\d)\d\d|414|77)|900\d\d') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|90000') + ->setExampleNumber('112') + ->setPossibleLength([3, 5]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:[25]|313|6(?:00[06]|1(?:1[17]|23))|7[0-8])|2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|9(?:0(?:00|51)0|12)|(?:11(?:4|8[02-46-9])|7\d\d|90[2-4])\d\d|(?:118|90)1(?:[02-9]\d|1[013-9])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|912') + ->setExampleNumber('220') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('7\d{4}') + ->setExampleNumber('70000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php index 4360569a7..402cb4425 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SG.php @@ -1,4 +1,5 @@ 'SG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[179]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '99[359]', - 'example' => '993', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '99[359]', - 'example' => '993', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:(?:[01368]\\d|44)\\d|[57]\\d{2,3}|9(?:0[1-9]|[1-9]\\d))|77222|99[02-9]|100', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '772\\d\\d', - 'example' => '77200', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SG extends PhoneMetadata +{ + protected const ID = 'SG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[179]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[359]') + ->setExampleNumber('993') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[359]') + ->setExampleNumber('993') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:(?:[01368]\d|44)\d|[57]\d{2,3}|9(?:0[1-9]|[1-9]\d))|77222|99[02-9]|100') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('772\d\d') + ->setExampleNumber('77200') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php index 6af154011..958b82ccf 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SH.php @@ -1,4 +1,5 @@ 'SH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[129]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1\\d{2,3}|26[01]\\d\\d|9(?:11|99)', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SH extends PhoneMetadata +{ + protected const ID = 'SH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[129]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}|26[01]\d\d|9(?:11|99)') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php index f44470858..604117b88 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SI.php @@ -1,4 +1,5 @@ 'SI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '11(?:(?:0|6\\d)\\d\\d|[23]|8\\d\\d?)', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[23]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:00[146]|[23]|6(?:000|1(?:11|23))|8(?:[08]|99))|9(?:059|1(?:0[12]|16)|5|70|87|9(?:00|[149])))|19(?:08|81)[09]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SI extends PhoneMetadata +{ + protected const ID = 'SI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:(?:0|6\d)\d\d|[23]|8\d\d?)') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[23]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:00[146]|[23]|6(?:000|1(?:11|23))|8(?:[08]|99))|9(?:059|1(?:0[12]|16)|5|70|87|9(?:00|[149])))|19(?:08|81)[09]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php index 12dd2f8b8..794dc218e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SJ.php @@ -1,4 +1,5 @@ 'SJ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[01]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '11[023]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[023]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '04\\d{3}|11[023]', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '04\\d{3}', - 'example' => '04000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SJ extends PhoneMetadata +{ + protected const ID = 'SJ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[01]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('04\d{3}|11[023]') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('04\d{3}') + ->setExampleNumber('04000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php index ac9353828..2d3ce945d 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SK.php @@ -1,4 +1,5 @@ 'SK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:2|6\\d{3})|5[058])', - 'example' => '112', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|5[058])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6(?:000|111)|8[0-8])|[248]\\d{3}|5[0589])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SK extends PhoneMetadata +{ + protected const ID = 'SK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6\d{3})|5[058])') + ->setExampleNumber('112') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|5[058])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6(?:000|111)|8[0-8])|[248]\d{3}|5[0589])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php index e537b5354..dde372343 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SL.php @@ -1,4 +1,5 @@ 'SL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[069]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '(?:01|99)9', - 'example' => '019', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '(?:01|99)9', - 'example' => '019', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '(?:01|99)9|60400', - 'example' => '019', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '604\\d\\d', - 'example' => '60400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '604\\d\\d', - 'example' => '60400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SL extends PhoneMetadata +{ + protected const ID = 'SL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[069]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:01|99)9') + ->setExampleNumber('019') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:01|99)9') + ->setExampleNumber('019') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:01|99)9|60400') + ->setExampleNumber('019'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('604\d\d') + ->setExampleNumber('60400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('604\d\d') + ->setExampleNumber('60400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php index ae6bee651..56f2a5fae 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SM.php @@ -1,4 +1,5 @@ 'SM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[358]', - 'example' => '113', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[358]', - 'example' => '113', - ], - 'shortCode' => [ - 'pattern' => '11[358]', - 'example' => '113', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SM extends PhoneMetadata +{ + protected const ID = 'SM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[358]') + ->setExampleNumber('113'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[358]') + ->setExampleNumber('113'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[358]') + ->setExampleNumber('113'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php index 05a5a46af..4b7fbc3ce 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SN.php @@ -1,4 +1,5 @@ 'SN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[12]\\d{1,5}', - 'posLength' => [ - 2, - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:515|[78])|2(?:00|1)\\d{3}', - 'example' => '17', - 'posLength' => [ - 2, - 4, - 5, - 6, - ], - ], - 'premiumRate' => [ - 'pattern' => '2(?:0[246]|[468])\\d{3}', - 'example' => '24000', - 'posLength' => [ - 5, - 6, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - 'posLength' => [ - 2, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1[69]|(?:[246]\\d|51)\\d)|2(?:0[0-246]|[12468])\\d{3}|1[278]', - 'example' => '12', - ], - 'standardRate' => [ - 'pattern' => '2(?:01|2)\\d{3}', - 'example' => '22000', - 'posLength' => [ - 5, - 6, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '1[46]\\d\\d', - 'example' => '1400', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'pattern' => '2[468]\\d{3}', - 'example' => '24000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SN extends PhoneMetadata +{ + protected const ID = 'SN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[12]\d{1,5}') + ->setPossibleLength([2, 3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:0[246]|[468])\d{3}') + ->setExampleNumber('24000') + ->setPossibleLength([5, 6]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:515|[78])|2(?:00|1)\d{3}') + ->setExampleNumber('17') + ->setPossibleLength([2, 4, 5, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17') + ->setPossibleLength([2]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[69]|(?:[246]\d|51)\d)|2(?:0[0-246]|[12468])\d{3}|1[278]') + ->setExampleNumber('12'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:01|2)\d{3}') + ->setExampleNumber('22000') + ->setPossibleLength([5, 6]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[46]\d\d') + ->setExampleNumber('1400') + ->setPossibleLength([4]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2[468]\d{3}') + ->setExampleNumber('24000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php index 2e9895b77..d1951be36 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SO.php @@ -1,4 +1,5 @@ 'SO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[57-9]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '555|888|999', - 'example' => '555', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '555|888|999', - 'example' => '555', - ], - 'shortCode' => [ - 'pattern' => '555|777|888|999', - 'example' => '555', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SO extends PhoneMetadata +{ + protected const ID = 'SO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[57-9]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('555|888|999') + ->setExampleNumber('555'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('555|888|999') + ->setExampleNumber('555'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('555|777|888|999') + ->setExampleNumber('555'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php index ea5055384..a33a8f9e9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SR.php @@ -1,4 +1,5 @@ 'SR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '115', - 'example' => '115', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '115', - 'example' => '115', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1\\d{2,3}', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SR extends PhoneMetadata +{ + protected const ID = 'SR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('115') + ->setExampleNumber('115') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('115') + ->setExampleNumber('115') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php index 5227c975c..dc24160b0 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SS.php @@ -1,4 +1,5 @@ 'SS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SS extends PhoneMetadata +{ + protected const ID = 'SS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php index b6d741456..39926ae85 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ST.php @@ -1,4 +1,5 @@ 'ST', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ST extends PhoneMetadata +{ + protected const ID = 'ST'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php index 6acbca284..4b2c98491 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SV.php @@ -1,4 +1,5 @@ 'SV', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[149]\\d\\d(?:\\d{2,3})?', - 'posLength' => [ - 3, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '116\\d{3}|911', - 'example' => '911', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '91[13]', - 'example' => '911', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:2|6111)|2[136-8]|3[0-6]|9[05])|40404|9(?:1\\d|29)', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '404\\d\\d', - 'example' => '40400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SV extends PhoneMetadata +{ + protected const ID = 'SV'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[149]\d\d(?:\d{2,3})?') + ->setPossibleLength([3, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('116\d{3}|911') + ->setExampleNumber('911') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('91[13]') + ->setExampleNumber('911') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:2|6111)|2[136-8]|3[0-6]|9[05])|40404|9(?:1\d|29)') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('404\d\d') + ->setExampleNumber('40400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php index 1a156a00e..507c2bf0b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SX.php @@ -1,4 +1,5 @@ 'SX', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:19|88)', - 'example' => '919', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '919', - 'example' => '919', - ], - 'shortCode' => [ - 'pattern' => '9(?:19|88)', - 'example' => '919', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SX extends PhoneMetadata +{ + protected const ID = 'SX'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:19|88)') + ->setExampleNumber('919'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('919') + ->setExampleNumber('919'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:19|88)') + ->setExampleNumber('919'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php index 2fdba632a..809c1bf81 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SY.php @@ -1,4 +1,5 @@ 'SY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[023]', - 'example' => '110', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[023]', - 'example' => '110', - ], - 'shortCode' => [ - 'pattern' => '11[023]', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SY extends PhoneMetadata +{ + protected const ID = 'SY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[023]') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php index e9d789b22..a783368d6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_SZ.php @@ -1,4 +1,5 @@ 'SZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_SZ extends PhoneMetadata +{ + protected const ID = 'SZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php index e14055c61..648d81f9b 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TC.php @@ -1,4 +1,5 @@ 'TC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TC extends PhoneMetadata +{ + protected const ID = 'TC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php index d9d98e03d..7c94915d1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TD.php @@ -1,4 +1,5 @@ 'TD', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'shortCode' => [ - 'pattern' => '1[78]', - 'example' => '17', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TD extends PhoneMetadata +{ + protected const ID = 'TD'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[78]') + ->setExampleNumber('17'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php index fa60b3ecd..7eadbc709 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TG.php @@ -1,4 +1,5 @@ 'TG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[78]|7[127])', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[78]|7[127])', - 'example' => '117', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:011|1[078]|7[127])', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TG extends PhoneMetadata +{ + protected const ID = 'TG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|7[127])') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[78]|7[127])') + ->setExampleNumber('117') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:011|1[078]|7[127])') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php index 152654be9..8d38a8eac 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TH.php @@ -1,4 +1,5 @@ 'TH', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1(?:00|2[03]|3[3479]|7[67]|9[0246])|578|6(?:44|6[79]|88|9[16])|88\\d|9[19])|1[15]55', - 'example' => '191', - ], - 'premiumRate' => [ - 'pattern' => '1(?:113|2[23]\\d|5(?:09|56))', - 'example' => '1113', - 'posLength' => [ - 4, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:669|9[19])', - 'example' => '191', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[0-2]|1(?:0[03]|1[1-35]|2[0358]|3[03-79]|4[02-489]|5[04-9]|6[04-79]|7[03-9]|8[027-9]|9[02-9])|2(?:22|3[89]|66)|3(?:18|2[23]|3[013]|5[56]|6[45]|73)|477|5(?:0\\d|4[0-37-9]|5[1-8]|6[01679]|7[12568]|8[0-24589]|9[013589])|6(?:0[0-29]|2[03]|4[3-6]|6[1-9]|7[0257-9]|8[0158]|9[014-9])|7(?:[14]9|7[27]|90)|888|9[19])', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '1(?:1(?:03|1[15]|2[58]|3[056]|4[02-49]|5[046-9]|7[03-589]|9[57-9])|5(?:0[0-8]|4[0-378]|5[1-478]|7[156])|6(?:20|4[356]|6[1-68]|7[057-9]|8[015]|9[0457-9]))|1(?:1[68]|26|3[1-35]|5[689]|60|7[17])\\d', - 'example' => '1103', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '114[89]', - 'example' => '1148', - 'posLength' => [ - 4, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TH extends PhoneMetadata +{ + protected const ID = 'TH'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:113|2[23]\d|5(?:09|56))') + ->setExampleNumber('1113') + ->setPossibleLength([4]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:00|2[03]|3[3479]|7[67]|9[0246])|578|6(?:44|6[79]|88|9[16])|88\d|9[19])|1[15]55') + ->setExampleNumber('191'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:669|9[19])') + ->setExampleNumber('191'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[0-2]|1(?:0[03]|1[1-35]|2[0358]|3[03-79]|4[02-489]|5[04-9]|6[04-79]|7[03-9]|8[027-9]|9[02-9])|2(?:22|3[89]|66)|3(?:18|2[23]|3[013]|5[56]|6[45]|73)|477|5(?:0\d|4[0-37-9]|5[1-8]|6[01679]|7[12568]|8[0-24589]|9[013589])|6(?:0[0-29]|2[03]|4[3-6]|6[1-9]|7[0257-9]|8[0158]|9[014-9])|7(?:[14]9|7[27]|90)|888|9[19])') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:03|1[15]|2[58]|3[056]|4[02-49]|5[046-9]|7[03-589]|9[57-9])|5(?:0[0-8]|4[0-378]|5[1-478]|7[156])|6(?:20|4[356]|6[1-68]|7[057-9]|8[015]|9[0457-9]))|1(?:1[68]|26|3[1-35]|5[689]|60|7[17])\d') + ->setExampleNumber('1103') + ->setPossibleLength([4]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('114[89]') + ->setExampleNumber('1148') + ->setPossibleLength([4]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php index d58c45712..92c2d3103 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TJ.php @@ -1,4 +1,5 @@ 'TJ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TJ extends PhoneMetadata +{ + protected const ID = 'TJ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php index 6b280ca07..ca42d9b53 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TL.php @@ -1,4 +1,5 @@ 'TL', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[25]', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[25]', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:0[02]|1[25]|2[0138]|72|9[07])', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TL extends PhoneMetadata +{ + protected const ID = 'TL'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[25]') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[25]') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[02]|1[25]|2[0138]|72|9[07])') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php index f8d3bdd01..9d8ce761a 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TM.php @@ -1,4 +1,5 @@ 'TM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '0\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '0[1-49]', - 'example' => '01', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '0[1-3]', - 'example' => '01', - ], - 'shortCode' => [ - 'pattern' => '0[1-49]', - 'example' => '01', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TM extends PhoneMetadata +{ + protected const ID = 'TM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-49]') + ->setExampleNumber('01'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-3]') + ->setExampleNumber('01'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0[1-49]') + ->setExampleNumber('01'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php index effa436b1..6c9fc8fbe 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TN.php @@ -1,4 +1,5 @@ 'TN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '19[078]', - 'example' => '190', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[078]', - 'example' => '190', - ], - 'shortCode' => [ - 'pattern' => '19[078]', - 'example' => '190', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TN extends PhoneMetadata +{ + protected const ID = 'TN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[078]') + ->setExampleNumber('190'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[078]') + ->setExampleNumber('190'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[078]') + ->setExampleNumber('190'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php index f7f943928..885fc1240 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TO.php @@ -1,4 +1,5 @@ 'TO', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|22|33|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|22|33|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|22|33|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TO extends PhoneMetadata +{ + protected const ID = 'TO'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|22|33|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|22|33|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|22|33|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php index e62383cde..8b1bc51e9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TR.php @@ -1,4 +1,5 @@ 'TR', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[02]|22|3[126]|4[04]|5[15-9]|6[18]|77|83)', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:1[02]|55)', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1(?:[02-79]|8(?:1[018]|2[0245]|3[2-4]|42|5[058]|6[06]|7[07]|8[01389]|9[089]))|3(?:37|[58]6|65)|471|5(?:07|78)|6(?:[02]6|99)|8(?:63|95))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\\d\\d|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\\d\\d|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)|1[2-9]\\d', - 'example' => '110', - ], - 'standardRate' => [ - 'pattern' => '(?:285|542)0', - 'example' => '2850', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'pattern' => '1(?:3(?:37|[58]6|65)|4(?:4|71)|5(?:07|78)|6(?:[02]6|99)|8(?:3|63|95))|(?:2(?:07|26|4[12]|5[78]|6[14]|8\\d|9[38])|3(?:0[07]|[38]5|4[036]|50|67|74|9[16])|4(?:0[2-47]|3[389]|[48]3|5[45]|71)|5(?:14|29|[4-6]\\d|77|83|9[069])|6(?:23|6[138]|76)|789|8(?:68|7[26]|85)|9(?:15|29))\\d', - 'example' => '144', - 'posLength' => [ - 3, - 4, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TR extends PhoneMetadata +{ + protected const ID = 'TR'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[02]|22|3[126]|4[04]|5[15-9]|6[18]|77|83)') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[02]|55)') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1(?:[02-79]|8(?:1[018]|2[0245]|3[2-4]|42|5[058]|6[06]|7[07]|8[01389]|9[089]))|3(?:37|[58]6|65)|471|5(?:07|78)|6(?:[02]6|99)|8(?:63|95))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\d\d|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\d\d|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)|1[2-9]\d') + ->setExampleNumber('110'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:285|542)0') + ->setExampleNumber('2850') + ->setPossibleLength([4]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:3(?:37|[58]6|65)|4(?:4|71)|5(?:07|78)|6(?:[02]6|99)|8(?:3|63|95))|(?:2(?:07|26|4[12]|5[78]|6[14]|8\d|9[38])|3(?:0[07]|[38]5|4[036]|50|67|74|9[16])|4(?:0[2-47]|3[389]|[48]3|5[45]|71)|5(?:14|29|[4-6]\d|77|83|9[069])|6(?:23|6[138]|76)|789|8(?:68|7[26]|85)|9(?:15|29))\d') + ->setExampleNumber('144') + ->setPossibleLength([3, 4]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php index 17651fec1..db2c1d046 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TT.php @@ -1,4 +1,5 @@ 'TT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:88|9[09])', - 'example' => '988', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '99[09]', - 'example' => '990', - ], - 'shortCode' => [ - 'pattern' => '9(?:88|9[09])', - 'example' => '988', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TT extends PhoneMetadata +{ + protected const ID = 'TT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:88|9[09])') + ->setExampleNumber('988'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('99[09]') + ->setExampleNumber('990'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:88|9[09])') + ->setExampleNumber('988'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php index b1f393cb6..1a8e14369 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TV.php @@ -1,4 +1,5 @@ 'TV', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '1\\d\\d|911', - 'example' => '100', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TV extends PhoneMetadata +{ + protected const ID = 'TV'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d|911') + ->setExampleNumber('100'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php index b344594c1..876d4c9d3 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TW.php @@ -1,4 +1,5 @@ 'TW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d{2,3}', - 'posLength' => [ - 3, - 4, - ], - ], - 'tollFree' => [ - 'pattern' => '11[0289]|1(?:81|92)\\d', - 'example' => '110', - ], - 'premiumRate' => [ - 'pattern' => '10[56]', - 'example' => '105', - 'posLength' => [ - 3, - ], - ], - 'emergency' => [ - 'pattern' => '11[029]', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[04-6]|1[0237-9]|3[389]|6[05-8]|7[07]|8(?:0|11)|9(?:19|22|5[057]|68|8[05]|9[15689]))', - 'example' => '100', - ], - 'standardRate' => [ - 'pattern' => '1(?:65|9(?:1\\d|50|85|98))', - 'example' => '165', - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TW extends PhoneMetadata +{ + protected const ID = 'TW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d{2,3}') + ->setPossibleLength([3, 4]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('10[56]') + ->setExampleNumber('105') + ->setPossibleLength([3]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0289]|1(?:81|92)\d') + ->setExampleNumber('110'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[029]') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[04-6]|1[0237-9]|3[389]|6[05-8]|7[07]|8(?:0|11)|9(?:19|22|5[057]|68|8[05]|9[15689]))') + ->setExampleNumber('100'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:65|9(?:1\d|50|85|98))') + ->setExampleNumber('165'); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php index 86fabc173..ace7aa8d1 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_TZ.php @@ -1,4 +1,5 @@ 'TZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[149]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:1[0-79]|9[09])|999', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[0-245]|999', - 'example' => '110', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:1\\d|9[09])|46400|999', - 'example' => '110', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '464\\d\\d', - 'example' => '46400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '464\\d\\d', - 'example' => '46400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_TZ extends PhoneMetadata +{ + protected const ID = 'TZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[149]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[0-79]|9[09])|999') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[0-245]|999') + ->setExampleNumber('110') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1\d|9[09])|46400|999') + ->setExampleNumber('110'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('464\d\d') + ->setExampleNumber('46400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('464\d\d') + ->setExampleNumber('46400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php index 272fda657..093dbb890 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UA.php @@ -1,4 +1,5 @@ 'UA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[189]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:0[1-3]|1(?:2|6\\d{3}))', - 'example' => '101', - 'posLength' => [ - 3, - 6, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:0[1-3]|12)', - 'example' => '101', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[1-49]|1(?:2|6(?:000|1(?:11|23))|8\\d\\d?)|(?:[278]|5\\d)\\d)|[89]00\\d\\d?|151|1(?:06|4\\d|6)\\d\\d', - 'example' => '101', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '(?:118|[89]00)\\d\\d?', - 'example' => '1180', - 'posLength' => [ - 4, - 5, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_UA extends PhoneMetadata +{ + protected const ID = 'UA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[189]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|1(?:2|6\d{3}))') + ->setExampleNumber('101') + ->setPossibleLength([3, 6]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-3]|12)') + ->setExampleNumber('101') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[1-49]|1(?:2|6(?:000|1(?:11|23))|8\d\d?)|(?:[278]|5\d)\d)|[89]00\d\d?|151|1(?:06|4\d|6)\d\d') + ->setExampleNumber('101'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('(?:118|[89]00)\d\d?') + ->setExampleNumber('1180') + ->setPossibleLength([4, 5]); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php index 093d0e1e1..5a65ab6e6 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UG.php @@ -1,4 +1,5 @@ 'UG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'shortCode' => [ - 'pattern' => '999', - 'example' => '999', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_UG extends PhoneMetadata +{ + protected const ID = 'UG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('999') + ->setExampleNumber('999'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php index 73c3df0b1..39d00eb2e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_US.php @@ -1,4 +1,5 @@ 'US', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[1-9]\\d{2,5}', - 'posLength' => [ - 3, - 4, - 5, - 6, - ], - ], - 'tollFree' => [ - 'pattern' => '112|611|9(?:11|33|88)', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '24280|(?:381|968)35|4(?:3355|7553|8221)|5(?:(?:489|934)2|5928)|72078|(?:323|960)40|(?:276|414)63|(?:2(?:520|744)|7390|9968)9|(?:693|732|976)88|(?:3(?:556|825)|5294|8623|9729)4|(?:3378|4136|7642|8961|9979)6|(?:4(?:6(?:15|32)|827)|(?:591|720)8|9529)7', - 'example' => '24280', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '112|911', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11(?:2|5[1-47]|[68]\\d|7[0-57]|98)|[2-9]\\d{3,5}|[2-8]11|9(?:11|33|88)', - 'example' => '112', - ], - 'standardRate' => [ - 'pattern' => '2(?:3333|(?:4224|7562|900)2|56447|6688)|3(?:1010|2665|7404)|40404|560560|6(?:0060|22639|5246|7622)|7(?:0701|3822|4666)|8(?:(?:3825|7226)5|4816)|99099', - 'example' => '23333', - 'posLength' => [ - 5, - 6, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '336\\d\\d|[2-9]\\d{3}|[2356]11', - 'example' => '211', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '[2-9]\\d{4,5}', - 'example' => '20000', - 'posLength' => [ - 5, - 6, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_US extends PhoneMetadata +{ + protected const ID = 'US'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[1-9]\d{2,5}') + ->setPossibleLength([3, 4, 5, 6]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('24280|(?:381|968)35|4(?:3355|7553|8221)|5(?:(?:489|934)2|5928)|72078|(?:323|960)40|(?:276|414)63|(?:2(?:520|744)|7390|9968)9|(?:693|732|976)88|(?:3(?:556|825)|5294|8623|9729)4|(?:3378|4136|7642|8961|9979)6|(?:4(?:6(?:15|32)|827)|(?:591|720)8|9529)7') + ->setExampleNumber('24280') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|611|9(?:11|33|88)') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|911') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11(?:2|5[1-47]|[68]\d|7[0-57]|98)|[2-9]\d{3,5}|[2-8]11|9(?:11|33|88)') + ->setExampleNumber('112'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('2(?:3333|(?:4224|7562|900)2|56447|6688)|3(?:1010|2665|7404)|40404|560560|6(?:0060|22639|5246|7622)|7(?:0701|3822|4666)|8(?:(?:3825|7226)5|4816)|99099') + ->setExampleNumber('23333') + ->setPossibleLength([5, 6]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('336\d\d|[2-9]\d{3}|[2356]11') + ->setExampleNumber('211') + ->setPossibleLength([3, 4, 5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[2-9]\d{4,5}') + ->setExampleNumber('20000') + ->setPossibleLength([5, 6]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php index c8475f6ca..1968ed218 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UY.php @@ -1,4 +1,5 @@ 'UY', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[129]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '128|911', - 'example' => '128', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '128|911', - 'example' => '128', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0[4-9]|1[2368]|2[0-3568]|787|997\\d?)|21997|911', - 'example' => '104', - ], - 'standardRate' => [ - 'pattern' => '178\\d', - 'example' => '1780', - 'posLength' => [ - 4, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_UY extends PhoneMetadata +{ + protected const ID = 'UY'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[129]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('128|911') + ->setExampleNumber('128') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('128|911') + ->setExampleNumber('128') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0[4-9]|1[2368]|2[0-3568]|787|997\d?)|21997|911') + ->setExampleNumber('104'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('178\d') + ->setExampleNumber('1780') + ->setPossibleLength([4]); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php index 5a4eb6f0a..71860afcc 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_UZ.php @@ -1,4 +1,5 @@ 'UZ', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[04]\\d(?:\\d(?:\\d{2})?)?', - 'posLength' => [ - 2, - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '0(?:0[1-3]|[1-3]|50)', - 'example' => '01', - 'posLength' => [ - 2, - 3, - ], - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '0(?:0[1-3]|[1-3]|50)', - 'example' => '01', - 'posLength' => [ - 2, - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '0(?:0[1-3]|[1-3]|50)|45400', - 'example' => '01', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '454\\d\\d', - 'example' => '45400', - 'posLength' => [ - 5, - ], - ], - 'smsServices' => [ - 'pattern' => '454\\d\\d', - 'example' => '45400', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_UZ extends PhoneMetadata +{ + protected const ID = 'UZ'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[04]\d(?:\d(?:\d{2})?)?') + ->setPossibleLength([2, 3, 5]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:0[1-3]|[1-3]|50)') + ->setExampleNumber('01') + ->setPossibleLength([2, 3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:0[1-3]|[1-3]|50)') + ->setExampleNumber('01') + ->setPossibleLength([2, 3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('0(?:0[1-3]|[1-3]|50)|45400') + ->setExampleNumber('01'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('454\d\d') + ->setExampleNumber('45400') + ->setPossibleLength([5]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('454\d\d') + ->setExampleNumber('45400') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php index e63c8b071..6527eb881 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VA.php @@ -1,4 +1,5 @@ 'VA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[2358]', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[2358]', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '11[2358]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VA extends PhoneMetadata +{ + protected const ID = 'VA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2358]') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2358]') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2358]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php index 013fbeb1b..b2d9456f5 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VC.php @@ -1,4 +1,5 @@ 'VC', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VC extends PhoneMetadata +{ + protected const ID = 'VC'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php index aa0007c00..1ade9d620 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VE.php @@ -1,4 +1,5 @@ 'VE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|71)|911', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|71)|911', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|71)|911', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VE extends PhoneMetadata +{ + protected const ID = 'VE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|71)|911') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|71)|911') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|71)|911') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php index 2da20d998..8d1ce5097 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VG.php @@ -1,4 +1,5 @@ 'VG', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|99)', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88|99)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VG extends PhoneMetadata +{ + protected const ID = 'VG'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|99)') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88|99)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php index b932cf182..4e083e7d4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VI.php @@ -1,4 +1,5 @@ 'VI', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '9\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '911', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '9(?:11|88)', - 'example' => '911', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VI extends PhoneMetadata +{ + protected const ID = 'VI'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('911') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|88)') + ->setExampleNumber('911'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php index e7d4ba1d7..88d1aa650 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VN.php @@ -1,4 +1,5 @@ 'VN', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '11[3-5]', - 'example' => '113', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '11[3-5]', - 'example' => '113', - ], - 'shortCode' => [ - 'pattern' => '11[3-5]', - 'example' => '113', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VN extends PhoneMetadata +{ + protected const ID = 'VN'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[3-5]') + ->setExampleNumber('113'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[3-5]') + ->setExampleNumber('113'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[3-5]') + ->setExampleNumber('113'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php index 1fc3ebf4d..124a6ef3e 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_VU.php @@ -1,4 +1,5 @@ 'VU', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '112', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_VU extends PhoneMetadata +{ + protected const ID = 'VU'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php index e5182cbe5..af3b3cc33 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WF.php @@ -1,4 +1,5 @@ 'WF', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d', - 'posLength' => [ - 2, - ], - ], - 'tollFree' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1[578]', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_WF extends PhoneMetadata +{ + protected const ID = 'WF'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d') + ->setPossibleLength([2]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1[578]') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php index bcc10aca6..6d2d8f284 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_WS.php @@ -1,4 +1,5 @@ 'WS', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '9(?:11|9[4-69])', - 'example' => '911', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '9(?:11|9[4-69])', - 'example' => '911', - ], - 'shortCode' => [ - 'pattern' => '1(?:1[12]|2[0-6]|[39]0)|9(?:11|9[4-79])', - 'example' => '111', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '12[0-6]', - 'example' => '120', - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_WS extends PhoneMetadata +{ + protected const ID = 'WS'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|9[4-69])') + ->setExampleNumber('911'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('9(?:11|9[4-69])') + ->setExampleNumber('911'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:1[12]|2[0-6]|[39]0)|9(?:11|9[4-79])') + ->setExampleNumber('111'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('12[0-6]') + ->setExampleNumber('120'); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php index c37ba447d..84c2e0aaf 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_XK.php @@ -1,4 +1,5 @@ 'XK', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|9[2-4])', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|9[2-4])', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|9[2-4])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_XK extends PhoneMetadata +{ + protected const ID = 'XK'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|9[2-4])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php index 66f8517fe..51c16d1f9 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YE.php @@ -1,4 +1,5 @@ 'YE', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '19[1459]', - 'example' => '191', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '19[1459]', - 'example' => '191', - ], - 'shortCode' => [ - 'pattern' => '19[1459]', - 'example' => '191', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_YE extends PhoneMetadata +{ + protected const ID = 'YE'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1459]') + ->setExampleNumber('191'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1459]') + ->setExampleNumber('191'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('19[1459]') + ->setExampleNumber('191'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php index 863af2f13..a21e0544f 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_YT.php @@ -1,4 +1,5 @@ 'YT', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '1\\d\\d?', - 'posLength' => [ - 2, - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:12|5)', - 'example' => '15', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:12|5)', - 'example' => '15', - ], - 'shortCode' => [ - 'pattern' => '1(?:12|5)', - 'example' => '15', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_YT extends PhoneMetadata +{ + protected const ID = 'YT'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1\d\d?') + ->setPossibleLength([2, 3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|5)') + ->setExampleNumber('15'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|5)') + ->setExampleNumber('15'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:12|5)') + ->setExampleNumber('15'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php index 6dceba0b7..b45af13b7 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZA.php @@ -1,4 +1,5 @@ 'ZA', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[134]\\d{2,4}', - 'posLength' => [ - 3, - 4, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '1(?:01\\d\\d|12)', - 'example' => '112', - 'posLength' => [ - 3, - 5, - ], - ], - 'premiumRate' => [ - 'pattern' => '41(?:348|851)', - 'example' => '41348', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '1(?:01(?:11|77)|12)', - 'example' => '112', - 'posLength' => [ - 3, - 5, - ], - ], - 'shortCode' => [ - 'pattern' => '1(?:0(?:1(?:11|77)|20|7)|1[12]|77(?:3[237]|[45]7|6[279]|9[26]))|[34]\\d{4}', - 'example' => '107', - ], - 'standardRate' => [ - 'pattern' => '3(?:078[23]|7(?:064|567)|8126)|4(?:394[16]|7751|8837)|4[23]699', - 'example' => '30782', - 'posLength' => [ - 5, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '111', - 'example' => '111', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'pattern' => '[34]\\d{4}', - 'example' => '30000', - 'posLength' => [ - 5, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ZA extends PhoneMetadata +{ + protected const ID = 'ZA'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[134]\d{2,4}') + ->setPossibleLength([3, 4, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('41(?:348|851)') + ->setExampleNumber('41348') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:01\d\d|12)') + ->setExampleNumber('112') + ->setPossibleLength([3, 5]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:01(?:11|77)|12)') + ->setExampleNumber('112') + ->setPossibleLength([3, 5]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('1(?:0(?:1(?:11|77)|20|7)|1[12]|77(?:3[237]|[45]7|6[279]|9[26]))|[34]\d{4}') + ->setExampleNumber('107'); + $this->standard_rate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3(?:078[23]|7(?:064|567)|8126)|4(?:394[16]|7751|8837)|4[23]699') + ->setExampleNumber('30782') + ->setPossibleLength([5]); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('111') + ->setExampleNumber('111') + ->setPossibleLength([3]); + $this->smsServices = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[34]\d{4}') + ->setExampleNumber('30000') + ->setPossibleLength([5]); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php index 674a5fff3..e338b07a4 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZM.php @@ -1,4 +1,5 @@ 'ZM', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[19]\\d\\d', - 'posLength' => [ - 3, - ], - ], - 'tollFree' => [ - 'pattern' => '112|99[139]', - 'example' => '112', - ], - 'premiumRate' => [ - 'posLength' => [ - -1, - ], - ], - 'emergency' => [ - 'pattern' => '112|99[139]', - 'example' => '112', - ], - 'shortCode' => [ - 'pattern' => '112|99[139]', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'posLength' => [ - -1, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ZM extends PhoneMetadata +{ + protected const ID = 'ZM'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[19]\d\d') + ->setPossibleLength([3]); + $this->premiumRate = PhoneNumberDesc::empty(); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[139]') + ->setExampleNumber('112'); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[139]') + ->setExampleNumber('112'); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[139]') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = PhoneNumberDesc::empty(); + $this->smsServices = PhoneNumberDesc::empty(); + } +} diff --git a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php index 7661cb781..41ed7b94c 100644 --- a/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php +++ b/giggsey/libphonenumber-for-php-lite/src/data/ShortNumberMetadata_ZW.php @@ -1,4 +1,5 @@ 'ZW', - 'countryCode' => 0, - 'generalDesc' => [ - 'pattern' => '[139]\\d\\d(?:\\d{2})?', - 'posLength' => [ - 3, - 5, - ], - ], - 'tollFree' => [ - 'pattern' => '112|9(?:5[023]|61|9[3-59])', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'premiumRate' => [ - 'pattern' => '3[013-57-9]\\d{3}', - 'example' => '30000', - 'posLength' => [ - 5, - ], - ], - 'emergency' => [ - 'pattern' => '112|99[3-59]', - 'example' => '112', - 'posLength' => [ - 3, - ], - ], - 'shortCode' => [ - 'pattern' => '11[2469]|3[013-57-9]\\d{3}|9(?:5[023]|6[0-25]|9[3-59])', - 'example' => '112', - ], - 'standardRate' => [ - 'posLength' => [ - -1, - ], - ], - 'carrierSpecific' => [ - 'pattern' => '114|9(?:5[023]|6[0-25])', - 'example' => '114', - 'posLength' => [ - 3, - ], - ], - 'smsServices' => [ - 'posLength' => [ - -1, - ], - ], - 'internationalPrefix' => '', - 'numberFormat' => [], -]; +declare(strict_types=1); + +namespace libphonenumber\data; + +use libphonenumber\PhoneMetadata; +use libphonenumber\PhoneNumberDesc; + +/** + * @internal + */ +class ShortNumberMetadata_ZW extends PhoneMetadata +{ + protected const ID = 'ZW'; + protected const COUNTRY_CODE = 0; + + protected ?string $internationalPrefix = ''; + + public function __construct() + { + $this->generalDesc = (new PhoneNumberDesc()) + ->setNationalNumberPattern('[139]\d\d(?:\d{2})?') + ->setPossibleLength([3, 5]); + $this->premiumRate = (new PhoneNumberDesc()) + ->setNationalNumberPattern('3[013-57-9]\d{3}') + ->setExampleNumber('30000') + ->setPossibleLength([5]); + $this->tollFree = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|9(?:5[023]|61|9[3-59])') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->emergency = (new PhoneNumberDesc()) + ->setNationalNumberPattern('112|99[3-59]') + ->setExampleNumber('112') + ->setPossibleLength([3]); + $this->short_code = (new PhoneNumberDesc()) + ->setNationalNumberPattern('11[2469]|3[013-57-9]\d{3}|9(?:5[023]|6[0-25]|9[3-59])') + ->setExampleNumber('112'); + $this->standard_rate = PhoneNumberDesc::empty(); + $this->carrierSpecific = (new PhoneNumberDesc()) + ->setNationalNumberPattern('114|9(?:5[023]|6[0-25])') + ->setExampleNumber('114') + ->setPossibleLength([3]); + $this->smsServices = PhoneNumberDesc::empty(); + } +}