From 580c3f4ffe9608d2beb56d418c68b3b112420e76 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 10 Nov 2019 12:49:51 +0000 Subject: another bulk of composer updates (cherry picked from commit 6685381fd8db507493c3d7c1793f8c05c681bbce) --- vendor/commerceguys/intl/src/Language/Language.php | 71 ++++++------ .../intl/src/Language/LanguageEntityInterface.php | 24 ----- .../intl/src/Language/LanguageInterface.php | 23 ---- .../intl/src/Language/LanguageRepository.php | 120 ++++++++++++++------- .../src/Language/LanguageRepositoryInterface.php | 28 +++-- 5 files changed, 132 insertions(+), 134 deletions(-) delete mode 100644 vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php delete mode 100644 vendor/commerceguys/intl/src/Language/LanguageInterface.php (limited to 'vendor/commerceguys/intl/src/Language') diff --git a/vendor/commerceguys/intl/src/Language/Language.php b/vendor/commerceguys/intl/src/Language/Language.php index 9958d5481..d8196f26c 100644 --- a/vendor/commerceguys/intl/src/Language/Language.php +++ b/vendor/commerceguys/intl/src/Language/Language.php @@ -2,7 +2,10 @@ namespace CommerceGuys\Intl\Language; -class Language implements LanguageEntityInterface +/** + * Represents a language. + */ +final class Language { /** * The two-letter language code. @@ -19,42 +22,56 @@ class Language implements LanguageEntityInterface protected $name; /** - * The language locale (i.e. "en-US"). + * The locale (i.e. "en-US"). * * @var string */ protected $locale; /** - * Returns the string representation of the Language. + * Creates a new Language instance. * - * @return string + * @param array $definition The definition array. */ - public function __toString() + public function __construct(array $definition) { - return $this->getLanguageCode(); + foreach (['language_code', 'name', 'locale'] as $requiredProperty) { + if (empty($definition[$requiredProperty])) { + throw new \InvalidArgumentException(sprintf('Missing required property "%s".', $requiredProperty)); + } + } + + $this->languageCode = $definition['language_code']; + $this->name = $definition['name']; + $this->locale = $definition['locale']; } /** - * {@inheritdoc} + * Returns the string representation of the Language. + * + * @return string */ - public function getLanguageCode() + public function __toString() { return $this->languageCode; } /** - * {@inheritdoc} + * Gets the two-letter language code. + * + * @return string */ - public function setLanguageCode($languageCode) + public function getLanguageCode() { - $this->languageCode = $languageCode; - - return $this; + return $this->languageCode; } /** - * {@inheritdoc} + * Gets the language name. + * + * This value is locale specific. + * + * @return string */ public function getName() { @@ -62,30 +79,14 @@ class Language implements LanguageEntityInterface } /** - * {@inheritdoc} - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - /** - * {@inheritdoc} + * Gets the locale. + * + * The language name is locale specific. + * + * @return string */ public function getLocale() { return $this->locale; } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->locale = $locale; - - return $this; - } } diff --git a/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php b/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php deleted file mode 100644 index e36e0bf77..000000000 --- a/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php +++ /dev/null @@ -1,24 +0,0 @@ -defaultLocale = $defaultLocale; + $this->fallbackLocale = $fallbackLocale; $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/language/'; } /** * {@inheritdoc} */ - public function get($languageCode, $locale = null, $fallbackLocale = null) + public function get($languageCode, $locale = null) { - $locale = $this->resolveLocale($locale, $fallbackLocale); + $locale = $locale ?: $this->defaultLocale; + $locale = Locale::resolve($this->availableLocales, $locale, $this->fallbackLocale); $definitions = $this->loadDefinitions($locale); + $languageCode = Locale::canonicalize($languageCode); if (!isset($definitions[$languageCode])) { throw new UnknownLanguageException($languageCode); } + $language = new Language([ + 'language_code' => $languageCode, + 'name' => $definitions[$languageCode], + 'locale' => $locale, + ]); - return $this->createLanguageFromDefinition($languageCode, $definitions[$languageCode], $locale); + return $language; } /** * {@inheritdoc} */ - public function getAll($locale = null, $fallbackLocale = null) + public function getAll($locale = null) { - $locale = $this->resolveLocale($locale, $fallbackLocale); + $locale = $locale ?: $this->defaultLocale; + $locale = Locale::resolve($this->availableLocales, $locale, $this->fallbackLocale); $definitions = $this->loadDefinitions($locale); $languages = []; - foreach ($definitions as $languageCode => $definition) { - $languages[$languageCode] = $this->createLanguageFromDefinition($languageCode, $definition, $locale); + foreach ($definitions as $languageCode => $languageName) { + $languages[$languageCode] = new Language([ + 'language_code' => $languageCode, + 'name' => $languageName, + 'locale' => $locale, + ]); } return $languages; @@ -62,13 +131,14 @@ class LanguageRepository implements LanguageRepositoryInterface /** * {@inheritdoc} */ - public function getList($locale = null, $fallbackLocale = null) + public function getList($locale = null) { - $locale = $this->resolveLocale($locale, $fallbackLocale); + $locale = $locale ?: $this->defaultLocale; + $locale = Locale::resolve($this->availableLocales, $locale, $this->fallbackLocale); $definitions = $this->loadDefinitions($locale); $list = []; - foreach ($definitions as $languageCode => $definition) { - $list[$languageCode] = $definition['name']; + foreach ($definitions as $languageCode => $languageName) { + $list[$languageCode] = $languageName; } return $list; @@ -90,26 +160,4 @@ class LanguageRepository implements LanguageRepositoryInterface return $this->definitions[$locale]; } - - /** - * Creates a language object from the provided definition. - * - * @param string $languageCode The language code. - * @param array $definition The language definition. - * @param string $locale The locale of the language definition. - * - * @return Language - */ - protected function createLanguageFromDefinition($languageCode, array $definition, $locale) - { - $language = new Language(); - $setValues = \Closure::bind(function ($languageCode, $definition, $locale) { - $this->languageCode = $languageCode; - $this->name = $definition['name']; - $this->locale = $locale; - }, $language, '\CommerceGuys\Intl\Language\Language'); - $setValues($languageCode, $definition, $locale); - - return $language; - } } diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php index dd14250e0..12480fc1b 100644 --- a/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php +++ b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php @@ -8,34 +8,30 @@ namespace CommerceGuys\Intl\Language; interface LanguageRepositoryInterface { /** - * Returns a language instance matching the provided language code. + * Gets a language matching the provided language code. * - * @param string $languageCode The language code. - * @param string $locale The locale (i.e. fr-FR). - * @param string $fallbackLocale A fallback locale (i.e "en"). + * @param string $languageCode The language code. + * @param string $locale The locale (i.e. fr-FR). * - * @return LanguageInterface + * @return Language */ - public function get($languageCode, $locale = null, $fallbackLocale = null); + public function get($languageCode, $locale = null); /** - * Returns all language instances. + * Gets all languages. * - * @param string $locale The locale (i.e. fr-FR). - * @param string $fallbackLocale A fallback locale (i.e "en"). + * @param string $locale The locale (i.e. fr-FR). * - * @return array An array of languages implementing the LanguageInterface, - * keyed by language code. + * @return Language[] An array of languages, keyed by language code. */ - public function getAll($locale = null, $fallbackLocale = null); + public function getAll($locale = null); /** - * Returns a list of languages. + * Gets a list of languages. * - * @param string $locale The locale (i.e. fr-FR). - * @param string $fallbackLocale A fallback locale (i.e "en"). + * @param string $locale The locale (i.e. fr-FR). * * @return array An array of language names, keyed by language code. */ - public function getList($locale = null, $fallbackLocale = null); + public function getList($locale = null); } -- cgit v1.2.3