vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php line 245

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace PackageVersions;
  4. use Composer\InstalledVersions;
  5. use OutOfBoundsException;
  6. class_exists(InstalledVersions::class);
  7. /**
  8.  * This class is generated by composer/package-versions-deprecated, specifically by
  9.  * @see \PackageVersions\Installer
  10.  *
  11.  * This file is overwritten at every run of `composer install` or `composer update`.
  12.  *
  13.  * @deprecated in favor of the Composer\InstalledVersions class provided by Composer 2. Require composer-runtime-api:^2 to ensure it is present.
  14.  */
  15. final class Versions
  16. {
  17.     /**
  18.      * @deprecated please use {@see self::rootPackageName()} instead.
  19.      *             This constant will be removed in version 2.0.0.
  20.      */
  21.     const ROOT_PACKAGE_NAME 'ezsystems/ezplatform';
  22.     /**
  23.      * Array of all available composer packages.
  24.      * Dont read this array from your calling code, but use the \PackageVersions\Versions::getVersion() method instead.
  25.      *
  26.      * @var array<string, string>
  27.      * @internal
  28.      */
  29.     const VERSIONS          = array (
  30.   'aws/aws-sdk-php' => '3.158.15@8580352f6d8f8a6adfd786b18545258de4d25222',
  31.   'cocur/slugify' => 'v3.2@d41701efe58ba2df9cae029c3d21e1518cc6780e',
  32.   'composer/ca-bundle' => '1.2.8@8a7ecad675253e4654ea05505233285377405215',
  33.   'composer/package-versions-deprecated' => '1.11.99@c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855',
  34.   'cron/cron' => '1.4.2@8156b9532ecc64ed5aa5c4ebdfc4346d2ef91c4d',
  35.   'doctrine/annotations' => '1.11.1@ce77a7ba1770462cd705a91a151b6c3746f9c6ad',
  36.   'doctrine/cache' => '1.10.2@13e3381b25847283a91948d04640543941309727',
  37.   'doctrine/collections' => '1.6.7@55f8b799269a1a472457bd1a41b4f379d4cfba4a',
  38.   'doctrine/common' => '2.13.3@f3812c026e557892c34ef37f6ab808a6b567da7f',
  39.   'doctrine/dbal' => '2.10.4@47433196b6390d14409a33885ee42b6208160643',
  40.   'doctrine/doctrine-bundle' => '1.12.10@2ee4c25a847e744e93d7fc2895e059ad9ef7d10c',
  41.   'doctrine/doctrine-cache-bundle' => '1.4.0@6bee2f9b339847e8a984427353670bad4e7bdccb',
  42.   'doctrine/event-manager' => '1.1.1@41370af6a30faa9dc0368c4a6814d596e81aba7f',
  43.   'doctrine/inflector' => '1.4.3@4650c8b30c753a76bf44fb2ed00117d6f367490c',
  44.   'doctrine/instantiator' => '1.3.1@f350df0268e904597e3bd9c4685c53e0e333feea',
  45.   'doctrine/lexer' => '1.2.1@e864bbf5904cb8f5bb334f99209b48018522f042',
  46.   'doctrine/orm' => '2.7.4@7d84a4998091ece4d645253ac65de9f879eeed2f',
  47.   'doctrine/persistence' => '1.3.8@7a6eac9fb6f61bba91328f15aa7547f4806ca288',
  48.   'doctrine/reflection' => '1.2.2@fa587178be682efe90d005e3a322590d6ebb59a5',
  49.   'egulias/email-validator' => '2.1.22@68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5',
  50.   'erusev/parsedown' => '1.7.4@cb17b6477dfff935958ba01325f2e8a2bfa6dab3',
  51.   'ezsystems/doctrine-dbal-schema' => 'v0.1.3@44f176de4cf6bab073c8bf68ce00467716548a4f',
  52.   'ezsystems/ez-support-tools' => 'v1.0.8@98ffd94837666f6604c20bebafbae46c2a1c9a02',
  53.   'ezsystems/ezplatform-admin-ui' => 'v1.5.14@4131caf68cff574f484ae7867a7fc004a5b8dbaa',
  54.   'ezsystems/ezplatform-admin-ui-assets' => 'v4.2.1@eeed9d49e525206de296520b4380b0825dddd185',
  55.   'ezsystems/ezplatform-admin-ui-modules' => 'v1.5.9@ce8decc3f5d6b55e3335b410372c3adc2ea6e003',
  56.   'ezsystems/ezplatform-core' => 'v1.0.3@02ee7aec1507673813d2fceca57efb07db1e037f',
  57.   'ezsystems/ezplatform-cron' => 'v2.0.3@fea9a5226cca8b8205975fcb7cd286639538de71',
  58.   'ezsystems/ezplatform-design-engine' => 'v2.0.0@36a849cadf3e6fa389f288fc46a12aa475b9bb0b',
  59.   'ezsystems/ezplatform-graphql' => 'v1.0.8@48246892286751d0b09a22eefd059ba71b690f8e',
  60.   'ezsystems/ezplatform-http-cache' => 'v0.9.4@39747f6db9170919a858ca5efa117a3044e0fdd2',
  61.   'ezsystems/ezplatform-matrix-fieldtype' => 'v1.0.6@bc7880d29bddffd3bb916ffa91d87a34694332b9',
  62.   'ezsystems/ezplatform-richtext' => 'v1.1.9@ea7f0ab696b6f24eb155642ce6a7567c6359d34a',
  63.   'ezsystems/ezplatform-solr-search-engine' => 'v1.7.6@6940531da035b584b28216a393c8dca45d2a81bd',
  64.   'ezsystems/ezplatform-standard-design' => 'v0.2.2@651eb2db4e09e3deea1e33597675d51c149bcb39',
  65.   'ezsystems/ezplatform-user' => 'v1.0.7@7c571ddc4b4d2657afb2cf145e2dd07971a05a98',
  66.   'ezsystems/ezpublish-kernel' => 'v7.5.12@96613c2f155ab38569b3a63cc5585614d545a6e1',
  67.   'ezsystems/repository-forms' => 'v2.5.8@ca109ecdd7f33686d25e2424c11b9ec69d6d12ce',
  68.   'ezsystems/symfony-tools' => 'v1.0.3@cd11a7a7fe409cde71c7ed0fdeabf5e0edef9ada',
  69.   'fig/link-util' => '1.1.1@c038ee75ca13663ddc2d1f185fe6f7533c00832a',
  70.   'friendsofsymfony/http-cache' => '1.4.6@aec6cbf31cb6947f4d44653aba093472777c0e17',
  71.   'friendsofsymfony/http-cache-bundle' => '1.3.16@c5798e9a67fc065f00857b1c6db08810aed01e23',
  72.   'friendsofsymfony/jsrouting-bundle' => '1.6.3@49c1069132dcef371fb526351569deabeb6f0d8e',
  73.   'guzzle/guzzle' => 'v3.8.1@4de0618a01b34aa1c8c33a3f13f396dcd3882eba',
  74.   'guzzlehttp/guzzle' => '6.5.5@9d4290de1cfd701f38099ef7e183b64b4b7b0c5e',
  75.   'guzzlehttp/promises' => '1.4.0@60d379c243457e073cff02bc323a2a86cb355631',
  76.   'guzzlehttp/psr7' => '1.7.0@53330f47520498c0ae1f61f7e2c90f55690c06a3',
  77.   'hautelook/templated-uri-bundle' => '2.1.0@62143826560143b5620ec4e6b4102e562d06f393',
  78.   'hautelook/templated-uri-router' => '2.0.3@608b228c1b9dda0a2078ac3731837e3ac9295cb0',
  79.   'imagine/imagine' => '1.2.3@cb2361e5bb4410b681462d8e4f912bc5dabf84ab',
  80.   'incenteev/composer-parameter-handler' => 'v2.1.4@084befb11ec21faeadcddefb88b66132775ff59b',
  81.   'jdorn/sql-formatter' => 'v1.2.17@64990d96e0959dff8e059dfcdc1af130728d92bc',
  82.   'jms/translation-bundle' => '1.5.4@9f60da19f0b98528f893f3a78d4dfb31ee2f16e7',
  83.   'kaliop/ezmigrationbundle' => '5.12.0@955189b3614c1ae78da1fda97de31dac79259013',
  84.   'knplabs/knp-menu' => '2.6.0@b6aade272c345b6fbd07fce5929a761cba0909b8',
  85.   'knplabs/knp-menu-bundle' => 'v2.3.0@78b0cebf8e1490f12ba6555511282954de83f627',
  86.   'kriswallsmith/assetic' => 'v1.4.0@e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1',
  87.   'kriswallsmith/buzz' => '0.17.2@0d7e985003f074fca0ceb00bf2f650d749ae9710',
  88.   'league/flysystem' => '1.1.3@9be3b16c877d477357c015cec057548cf9b2a14a',
  89.   'league/flysystem-aws-s3-v3' => '1.0.29@4e25cc0582a36a786c31115e419c6e40498f6972',
  90.   'league/flysystem-cached-adapter' => '1.1.0@d1925efb2207ac4be3ad0c40b8277175f99ffaff',
  91.   'league/mime-type-detection' => '1.5.1@353f66d7555d8a90781f6f5e7091932f9a4250aa',
  92.   'liip/imagine-bundle' => '2.3.1@d0819fc9b1cd4e9e16db204467b6fe1a5316a163',
  93.   'mck89/peast' => 'v1.11.0@2a2bc6826114c46ff0bc1359208b7083a17f7a99',
  94.   'monolog/monolog' => '1.25.5@1817faadd1846cd08be9a49e905dc68823bc38c0',
  95.   'mtdowling/jmespath.php' => '2.6.0@42dae2cbd13154083ca6d70099692fef8ca84bfb',
  96.   'nelmio/cors-bundle' => '1.5.6@10a24c10f242440211ed31075e74f81661c690d9',
  97.   'netgen/query-translator' => '1.0.2@bdf41f18ffee308a7a86aae4b3b2f70881518623',
  98.   'nikic/php-parser' => 'v4.10.2@658f1be311a230e0907f5dfe0213742aff0596de',
  99.   'nyholm/psr7' => '1.3.1@21b71a31eab5c0c2caf967b9c0fd97020254ed75',
  100.   'ocramius/proxy-manager' => '2.2.3@4d154742e31c35137d5374c998e8f86b54db2e2f',
  101.   'oneup/flysystem-bundle' => '3.5.0@e23d73567b477b8765e7fbe6c095cc2449caaa61',
  102.   'overblog/graphql-bundle' => 'v0.11.19@b23825f69eabe2b916f7cb3690715c57576775bb',
  103.   'pagerfanta/pagerfanta' => 'v2.4.1@cf8f456c5fd691932ac6da0b6df6341c6c9bcc22',
  104.   'php-http/httplug' => 'v1.1.0@1c6381726c18579c4ca2ef1ec1498fdae8bdf018',
  105.   'php-http/message-factory' => 'v1.0.2@a478cb11f66a6ac48d8954216cfed9aa06a501a1',
  106.   'php-http/promise' => '1.1.0@4c4c1f9b7289a2ec57cde7f1e9762a5789506f88',
  107.   'psr/cache' => '1.0.1@d11b50ad223250cf17b86e38383413f5a6764bf8',
  108.   'psr/container' => '1.0.0@b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
  109.   'psr/http-client' => '0.1.0@d4d3ec04b034120b0591ad9722a4c2be33a7dfec',
  110.   'psr/http-factory' => '1.0.1@12ac7fcd07e5b077433f5f2bee95b3a771bf61be',
  111.   'psr/http-message' => '1.0.1@f6561bf28d520154e4b0ec72be95418abe6d9363',
  112.   'psr/link' => '1.0.0@eea8e8662d5cd3ae4517c9b864493f59fca95562',
  113.   'psr/log' => '1.1.3@0f73288fd15629204f9d42b7055f72dacbe811fc',
  114.   'psr/simple-cache' => '1.0.1@408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
  115.   'ralouphie/getallheaders' => '3.0.3@120b605dfeb996808c31b6477290a714d356e822',
  116.   'rollbar/rollbar' => 'v0.18.2@fafe13f8beb669d6bba0137f3703fa808d50cbb7',
  117.   'scssphp/scssphp' => '1.2.1@a05ea68160b7286ebbfd6e5fd7ae9e1a946ad6e1',
  118.   'sensio/distribution-bundle' => 'v5.0.25@80a38234bde8321fb92aa0b8c27978a272bb4baf',
  119.   'sensio/framework-extra-bundle' => 'v5.4.1@585f4b3a1c54f24d1a8431c729fc8f5acca20c8a',
  120.   'sensiolabs/security-checker' => 'v5.0.3@46be3f58adac13084497961e10eed9a7fb4d44d1',
  121.   'swiftmailer/swiftmailer' => 'v6.2.3@149cfdf118b169f7840bbe3ef0d4bc795d1780c9',
  122.   'symfony-cmf/routing' => '2.2.0@12f3f64a0ab89ee0dc5ead8802167de762eac024',
  123.   'symfony/assetic-bundle' => 'v2.8.2@2e0a23a4874838e26de6f025e02fc63328921a4c',
  124.   'symfony/deprecation-contracts' => 'v2.2.0@5fa56b4074d1ae755beb55617ddafe6f5d78f665',
  125.   'symfony/mime' => 'v5.1.8@f5485a92c24d4bcfc2f3fc648744fb398482ff1b',
  126.   'symfony/monolog-bundle' => 'v3.6.0@e495f5c7e4e672ffef4357d4a4d85f010802f940',
  127.   'symfony/polyfill-apcu' => 'v1.20.0@f5191eb0e98e08d12eb49fc0ed0820e37de89fdf',
  128.   'symfony/polyfill-ctype' => 'v1.20.0@f4ba089a5b6366e453971d3aad5fe8e897b37f41',
  129.   'symfony/polyfill-iconv' => 'v1.20.0@c536646fdb4f29104dd26effc2fdcb9a5b085024',
  130.   'symfony/polyfill-intl-icu' => 'v1.20.0@c44d5bf6a75eed79555c6bf37505c6d39559353e',
  131.   'symfony/polyfill-intl-idn' => 'v1.20.0@3b75acd829741c768bc8b1f84eb33265e7cc5117',
  132.   'symfony/polyfill-intl-normalizer' => 'v1.20.0@727d1096295d807c309fb01a851577302394c897',
  133.   'symfony/polyfill-mbstring' => 'v1.20.0@39d483bdf39be819deabf04ec872eb0b2410b531',
  134.   'symfony/polyfill-php56' => 'v1.20.0@54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675',
  135.   'symfony/polyfill-php70' => 'v1.20.0@5f03a781d984aae42cebd18e7912fa80f02ee644',
  136.   'symfony/polyfill-php72' => 'v1.20.0@cede45fcdfabdd6043b3592e83678e42ec69e930',
  137.   'symfony/polyfill-php80' => 'v1.20.0@e70aa8b064c5b72d3df2abd5ab1e90464ad009de',
  138.   'symfony/service-contracts' => 'v2.2.0@d15da7ba4957ffb8f1747218be9e1a121fd298a1',
  139.   'symfony/swiftmailer-bundle' => 'v3.3.1@defa9bdfc0191ed70b389cb93c550c6c82cf1745',
  140.   'symfony/symfony' => 'v3.4.46@8cd680e4db34bedbe79f1cb306456dde77adf6b6',
  141.   'symfony/thanks' => 'v1.2.10@e9c4709560296acbd4fe9e12b8d57a925aa7eae8',
  142.   'symfony/translation-contracts' => 'v2.3.0@e2eaa60b558f26a4b0354e1bbb25636efaaad105',
  143.   'symfony/webpack-encore-bundle' => 'v1.7.3@5c0f659eceae87271cce54bbdfb05ed8ec9007bd',
  144.   'twig/extensions' => 'v1.5.4@57873c8b0c1be51caa47df2cdb824490beb16202',
  145.   'twig/twig' => 'v2.14.1@5eb9ac5dfdd20c3f59495c22841adc5da980d312',
  146.   'vangrg/profanity-bundle' => 'v1.1.6@535323a0d1b2624c90c602630ac5e9ee8c502c3f',
  147.   'webonyx/graphql-php' => 'v0.13.9@d9a94fddcad0a35d4bced212b8a44ad1bc59bdf3',
  148.   'white-october/pagerfanta-bundle' => 'v1.3.2@6df560869b5e09a3acf920890ab40598998b30ae',
  149.   'willdurand/js-translation-bundle' => '2.6.6@9c80406dd4cc195f1f835a52e038fb80a96563b2',
  150.   'willdurand/jsonp-callback-validator' => 'v1.1.0@1a7d388bb521959e612ef50c5c7b1691b097e909',
  151.   'zendframework/zend-code' => '3.4.1@268040548f92c2bfcba164421c1add2ba43abaaa',
  152.   'zendframework/zend-eventmanager' => '3.2.1@a5e2583a211f73604691586b8406ff7296a946dd',
  153.   'zetacomponents/base' => '1.9.1@489e20235989ddc97fdd793af31ac803972454f1',
  154.   'zetacomponents/system-information' => '1.1.1@314ea9b2c98b3c20321a8d05ea8ba976479d8f88',
  155.   'behat/behat' => 'v3.7.0@08052f739619a9e9f62f457a67302f0715e6dd13',
  156.   'behat/gherkin' => 'v4.6.2@51ac4500c4dc30cbaaabcd2f25694299df666a31',
  157.   'behat/mink' => 'v1.8.1@07c6a9fe3fa98c2de074b25d9ed26c22904e3887',
  158.   'behat/mink-browserkit-driver' => 'v1.3.4@e3b90840022ebcd544c7b394a3c9597ae242cbee',
  159.   'behat/mink-extension' => '2.3.1@80f7849ba53867181b7e412df9210e12fba50177',
  160.   'behat/mink-goutte-driver' => 'v1.2.1@8b9ad6d2d95bc70b840d15323365f52fcdaea6ca',
  161.   'behat/mink-selenium2-driver' => 'v1.4.0@312a967dd527f28980cce40850339cd5316da092',
  162.   'behat/symfony2-extension' => '2.1.5@d7c834487426a784665f9c1e61132274dbf2ea26',
  163.   'behat/transliterator' => 'v1.3.0@3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc',
  164.   'bex/behat-extension-driver-locator' => '1.0.2@af9fb11f5f3cc220ee2c08071ee9d50f11048b86',
  165.   'bex/behat-screenshot' => '1.2.8@9860b8d825dab027d0fc975914131fc758561674',
  166.   'cloudinary/cloudinary_php' => '1.18.0@0f24e862b40d7fa1fdb2429e77d711c68e77be71',
  167.   'ezsystems/behat-screenshot-image-driver-cloudinary' => 'v1.1.1@7762f94a3d4957bf65b1801b38e4bc809eb42c21',
  168.   'ezsystems/behatbundle' => 'v7.0.7@202ccffec44ffccd115ba2bb155bf7a4685be969',
  169.   'fabpot/goutte' => 'v3.2.3@3f0eaf0a40181359470651f1565b3e07e3dd31b8',
  170.   'fzaninotto/faker' => 'v1.9.1@fc10d778e4b84d5bd315dad194661e091d307c6f',
  171.   'instaclick/php-webdriver' => '1.4.7@b5f330e900e9b3edfc18024a5ec8c07136075712',
  172.   'liuggio/fastest' => 'v1.7.1@7c052de28a713ad776305e8e9348e413fe8533d1',
  173.   'myclabs/deep-copy' => '1.10.1@969b211f9a51aa1f6c01d1d2aef56d3bd91598e5',
  174.   'ondram/ci-detector' => '2.1.0@be3410cb14443796122ca051f4224b5eae06aa76',
  175.   'overblog/graphiql-bundle' => 'v0.1.2@c3b7846840c5c6e5294a92a48e03534ccf2a6430',
  176.   'phar-io/manifest' => '1.0.1@2df402786ab5368a0169091f61a7c1e0eb6852d0',
  177.   'phar-io/version' => '1.0.1@a70c0ced4be299a63d32fa96d9281d03e94041df',
  178.   'phpdocumentor/reflection-common' => '2.2.0@1d01c49d4ed62f25aa84a747ad35d5a16924662b',
  179.   'phpdocumentor/reflection-docblock' => '5.2.2@069a785b2141f5bcf49f3e353548dc1cce6df556',
  180.   'phpdocumentor/type-resolver' => '1.4.0@6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
  181.   'phpspec/prophecy' => 'v1.10.3@451c3cd1418cf640de218914901e51b064abb093',
  182.   'phpunit/php-code-coverage' => '5.3.2@c89677919c5dd6d3b3852f230a663118762218ac',
  183.   'phpunit/php-file-iterator' => '1.4.5@730b01bc3e867237eaac355e06a36b85dd93a8b4',
  184.   'phpunit/php-text-template' => '1.2.1@31f8b717e51d9a2afca6c9f046f5d69fc27c8686',
  185.   'phpunit/php-timer' => '1.0.9@3dcf38ca72b158baf0bc245e9184d3fdffa9c46f',
  186.   'phpunit/php-token-stream' => '2.0.2@791198a2c6254db10131eecfe8c06670700904db',
  187.   'phpunit/phpunit' => '6.5.14@bac23fe7ff13dbdb461481f706f0e9fe746334b7',
  188.   'phpunit/phpunit-mock-objects' => '5.0.10@cd1cf05c553ecfec36b170070573e540b67d3f1f',
  189.   'sebastian/code-unit-reverse-lookup' => '1.0.1@4419fcdb5eabb9caa61a27c7a1db532a6b55dd18',
  190.   'sebastian/comparator' => '2.1.3@34369daee48eafb2651bea869b4b15d75ccc35f9',
  191.   'sebastian/diff' => '2.0.1@347c1d8b49c5c3ee30c7040ea6fc446790e6bddd',
  192.   'sebastian/environment' => '3.1.0@cd0871b3975fb7fc44d11314fd1ee20925fce4f5',
  193.   'sebastian/exporter' => '3.1.2@68609e1261d215ea5b21b7987539cbfbe156ec3e',
  194.   'sebastian/global-state' => '2.0.0@e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4',
  195.   'sebastian/object-enumerator' => '3.0.3@7cfd9e65d11ffb5af41198476395774d4c8a84c5',
  196.   'sebastian/object-reflector' => '1.1.1@773f97c67f28de00d397be301821b06708fca0be',
  197.   'sebastian/recursion-context' => '3.0.0@5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8',
  198.   'sebastian/resource-operations' => '1.0.0@ce990bb21759f94aeafd30209e8cfcdfa8bc3f52',
  199.   'sebastian/version' => '2.0.1@99732be0ddb3361e16ad77b68ba41efc8e979019',
  200.   'sensio/generator-bundle' => 'v3.1.7@28cbaa244bd0816fd8908b93f90380bcd7b67a65',
  201.   'squizlabs/php_codesniffer' => '3.5.8@9d583721a7157ee997f235f327de038e7ea6dac4',
  202.   'symfony/phpunit-bridge' => 'v3.4.46@8d05c61270c40f457e0fc11d47cc112c0f2e3606',
  203.   'theseer/tokenizer' => '1.2.0@75a63c33a8577608444246075ea0af0d052e452a',
  204.   'webmozart/assert' => '1.9.1@bafc69caeb4d49c39fd0779086c03a3738cbb389',
  205.   'ezsystems/ezpublish-community' => '*@8e7743adbd5ce192304ad72e49cc56251a209334',
  206.   'ezsystems/ezplatform' => '2.5.x-dev@8e7743adbd5ce192304ad72e49cc56251a209334',
  207. );
  208.     private function __construct()
  209.     {
  210.     }
  211.     /**
  212.      * @psalm-pure
  213.      *
  214.      * @psalm-suppress ImpureMethodCall we know that {@see InstalledVersions} interaction does not
  215.      *                                  cause any side effects here.
  216.      */
  217.     public static function rootPackageName() : string
  218.     {
  219.         if (!class_exists(InstalledVersions::class, false) || !InstalledVersions::getRawData()) {
  220.             return self::ROOT_PACKAGE_NAME;
  221.         }
  222.         return InstalledVersions::getRootPackage()['name'];
  223.     }
  224.     /**
  225.      * @throws OutOfBoundsException If a version cannot be located.
  226.      *
  227.      * @psalm-param key-of<self::VERSIONS> $packageName
  228.      * @psalm-pure
  229.      *
  230.      * @psalm-suppress ImpureMethodCall we know that {@see InstalledVersions} interaction does not
  231.      *                                  cause any side effects here.
  232.      */
  233.     public static function getVersion(string $packageName): string
  234.     {
  235.         if (class_exists(InstalledVersions::class, false) && InstalledVersions::getRawData()) {
  236.             return InstalledVersions::getPrettyVersion($packageName)
  237.                 . '@' InstalledVersions::getReference($packageName);
  238.         }
  239.         if (isset(self::VERSIONS[$packageName])) {
  240.             return self::VERSIONS[$packageName];
  241.         }
  242.         throw new OutOfBoundsException(
  243.             'Required package "' $packageName '" is not installed: check your ./vendor/composer/installed.json and/or ./composer.lock files'
  244.         );
  245.     }
  246. }