array ( 'pretty_version' => 'dev-develop', 'version' => 'dev-develop', 'aliases' => array ( ), 'reference' => '735d3dd97cb734f22b76ffef1857523b7e918d6a', 'name' => 'rhymix/rhymix', ), 'versions' => array ( 'bordoni/phpass' => array ( 'pretty_version' => '0.3.6', 'version' => '0.3.6.0', 'aliases' => array ( ), 'reference' => '12f8f5cc03ebb7efd69554f104afe9aa1aa46e1a', ), 'composer/ca-bundle' => array ( 'pretty_version' => '1.3.4', 'version' => '1.3.4.0', 'aliases' => array ( ), 'reference' => '69098eca243998b53eed7a48d82dedd28b447cd5', ), 'coolsms/php-sdk' => array ( 'pretty_version' => 'v2.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => 'ce00fea155169dcf2a3759abd41ad20ff80ca0b1', ), 'doctrine/lexer' => array ( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'aliases' => array ( ), 'reference' => 'c268e882d4dbdd85e36e4ad69e02dc284f89d229', ), 'egulias/email-validator' => array ( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', 'aliases' => array ( ), 'reference' => 'f88dcf4b14af14a98ad96b14b2b317969eab6715', ), 'enshrined/svg-sanitize' => array ( 'pretty_version' => '0.15.4', 'version' => '0.15.4.0', 'aliases' => array ( ), 'reference' => 'e50b83a2f1f296ca61394fe88fbfe3e896a84cf4', ), 'ezyang/htmlpurifier' => array ( 'pretty_version' => 'v4.16.0', 'version' => '4.16.0.0', 'aliases' => array ( ), 'reference' => '523407fb06eb9e5f3d59889b3978d5bfe94299c8', ), 'guzzlehttp/guzzle' => array ( 'pretty_version' => '7.5.0', 'version' => '7.5.0.0', 'aliases' => array ( ), 'reference' => 'b50a2a1251152e43f6a37f0fa053e730a67d25ba', ), 'guzzlehttp/promises' => array ( 'pretty_version' => '1.5.2', 'version' => '1.5.2.0', 'aliases' => array ( ), 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', ), 'guzzlehttp/psr7' => array ( 'pretty_version' => '2.4.3', 'version' => '2.4.3.0', 'aliases' => array ( ), 'reference' => '67c26b443f348a51926030c83481b85718457d3d', ), 'hautelook/phpass' => array ( 'replaced' => array ( 0 => '0.3.*', ), ), 'jbbcode/jbbcode' => array ( 'pretty_version' => 'v1.4.2', 'version' => '1.4.2.0', 'aliases' => array ( ), 'reference' => 'd9a132e7886a11cf997e3ec025a41bdf97899704', ), 'leafo/lessphp' => array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( 0 => '9999999-dev', ), 'reference' => '1fdc40e77824a692d7f4811ba86ed89669a66135', ), 'league/html-to-markdown' => array ( 'pretty_version' => '5.1.0', 'version' => '5.1.0.0', 'aliases' => array ( ), 'reference' => 'e0fc8cf07bdabbcd3765341ecb50c34c271d64e1', ), 'matthiasmullie/minify' => array ( 'pretty_version' => '1.3.70', 'version' => '1.3.70.0', 'aliases' => array ( ), 'reference' => '2807d9f9bece6877577ad44acb5c801bb3ae536b', ), 'matthiasmullie/path-converter' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => 'e7d13b2c7e2f2268e1424aaed02085518afa02d9', ), 'michelf/php-markdown' => array ( 'pretty_version' => '1.9.1', 'version' => '1.9.1.0', 'aliases' => array ( ), 'reference' => '5024d623c1a057dcd2d076d25b7d270a1d0d55f3', ), 'michelf/php-smartypants' => array ( 'pretty_version' => '1.8.1', 'version' => '1.8.1.0', 'aliases' => array ( ), 'reference' => '47d17c90a4dfd0ccf1f87e25c65e6c8012415aad', ), 'psr/http-client' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', ), 'psr/http-client-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-factory' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', ), 'psr/http-factory-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-message' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', ), 'psr/http-message-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'ralouphie/getallheaders' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '120b605dfeb996808c31b6477290a714d356e822', ), 'rhymix/rhymix' => array ( 'pretty_version' => 'dev-develop', 'version' => 'dev-develop', 'aliases' => array ( ), 'reference' => '735d3dd97cb734f22b76ffef1857523b7e918d6a', ), 'rmccue/requests' => array ( 'pretty_version' => 'v1.8.1', 'version' => '1.8.1.0', 'aliases' => array ( ), 'reference' => '82e6936366eac3af4d836c18b9d8c31028fe4cd5', ), 'scssphp/scssphp' => array ( 'pretty_version' => 'v1.11.0', 'version' => '1.11.0.0', 'aliases' => array ( ), 'reference' => '33749d12c2569bb24071f94e9af828662dabb068', ), 'swiftmailer/swiftmailer' => array ( 'pretty_version' => 'v6.3.0', 'version' => '6.3.0.0', 'aliases' => array ( ), 'reference' => '8a5d5072dca8f48460fce2f4131fcc495eec654c', ), 'symfony/deprecation-contracts' => array ( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'aliases' => array ( ), 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', ), 'symfony/polyfill-iconv' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '927013f3aac555983a5059aada98e1907d842695', ), 'symfony/polyfill-intl-idn' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '639084e360537a19f9ee352433b84ce831f3d2da', ), 'symfony/polyfill-intl-normalizer' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '19bd1e4fcd5b91116f14d8533c57831ed00571b6', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', ), 'symfony/polyfill-php72' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '869329b1e9894268a8a61dabb69153029b7a8c97', ), 'true/punycode' => array ( 'pretty_version' => 'v2.1.1', 'version' => '2.1.1.0', 'aliases' => array ( ), 'reference' => 'a4d0c11a36dd7f4e7cd7096076cab6d3378a071e', ), ), ); public static function getInstalledPackages() { return array_keys(self::$installed['versions']); } public static function isInstalled($packageName) { return isset(self::$installed['versions'][$packageName]); } public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } public static function getVersionRanges($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } $ranges = array(); if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { $ranges[] = self::$installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } public static function getVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['version'])) { return null; } return self::$installed['versions'][$packageName]['version']; } public static function getPrettyVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { return null; } return self::$installed['versions'][$packageName]['pretty_version']; } public static function getReference($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['reference'])) { return null; } return self::$installed['versions'][$packageName]['reference']; } public static function getRootPackage() { return self::$installed['root']; } public static function getRawData() { return self::$installed; } public static function reload($data) { self::$installed = $data; } }