aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/symfony/polyfill-util
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/vendor/symfony/polyfill-util')
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/Binary.php22
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php65
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php67
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/LICENSE19
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/README.md13
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListener.php28
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV5.php89
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV6.php95
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV7.php96
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerTrait.php125
-rw-r--r--srcs/phpmyadmin/vendor/symfony/polyfill-util/composer.json30
11 files changed, 649 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/Binary.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/Binary.php
new file mode 100644
index 0000000..23ff974
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/Binary.php
@@ -0,0 +1,22 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+if (\extension_loaded('mbstring')) {
+ class Binary extends BinaryOnFuncOverload
+ {
+ }
+} else {
+ class Binary extends BinaryNoFuncOverload
+ {
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php
new file mode 100644
index 0000000..800ad75
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php
@@ -0,0 +1,65 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @internal
+ */
+class BinaryNoFuncOverload
+{
+ public static function strlen($s)
+ {
+ return \strlen($s);
+ }
+
+ public static function strpos($haystack, $needle, $offset = 0)
+ {
+ return strpos($haystack, $needle, $offset);
+ }
+
+ public static function strrpos($haystack, $needle, $offset = 0)
+ {
+ return strrpos($haystack, $needle, $offset);
+ }
+
+ public static function substr($string, $start, $length = PHP_INT_MAX)
+ {
+ return substr($string, $start, $length);
+ }
+
+ public static function stripos($s, $needle, $offset = 0)
+ {
+ return stripos($s, $needle, $offset);
+ }
+
+ public static function stristr($s, $needle, $part = false)
+ {
+ return stristr($s, $needle, $part);
+ }
+
+ public static function strrchr($s, $needle, $part = false)
+ {
+ return strrchr($s, $needle, $part);
+ }
+
+ public static function strripos($s, $needle, $offset = 0)
+ {
+ return strripos($s, $needle, $offset);
+ }
+
+ public static function strstr($s, $needle, $part = false)
+ {
+ return strstr($s, $needle, $part);
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php
new file mode 100644
index 0000000..e1b886e
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+/**
+ * Binary safe version of string functions overloaded when MB_OVERLOAD_STRING is enabled.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @internal
+ */
+class BinaryOnFuncOverload
+{
+ public static function strlen($s)
+ {
+ return mb_strlen($s, '8bit');
+ }
+
+ public static function strpos($haystack, $needle, $offset = 0)
+ {
+ return mb_strpos($haystack, $needle, $offset, '8bit');
+ }
+
+ public static function strrpos($haystack, $needle, $offset = 0)
+ {
+ return mb_strrpos($haystack, $needle, $offset, '8bit');
+ }
+
+ public static function substr($string, $start, $length = 2147483647)
+ {
+ return mb_substr($string, $start, $length, '8bit');
+ }
+
+ public static function stripos($s, $needle, $offset = 0)
+ {
+ return mb_stripos($s, $needle, $offset, '8bit');
+ }
+
+ public static function stristr($s, $needle, $part = false)
+ {
+ return mb_stristr($s, $needle, $part, '8bit');
+ }
+
+ public static function strrchr($s, $needle, $part = false)
+ {
+ return mb_strrchr($s, $needle, $part, '8bit');
+ }
+
+ public static function strripos($s, $needle, $offset = 0)
+ {
+ return mb_strripos($s, $needle, $offset, '8bit');
+ }
+
+ public static function strstr($s, $needle, $part = false)
+ {
+ return mb_strstr($s, $needle, $part, '8bit');
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/LICENSE b/srcs/phpmyadmin/vendor/symfony/polyfill-util/LICENSE
new file mode 100644
index 0000000..4cd8bdd
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2015-2019 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/README.md b/srcs/phpmyadmin/vendor/symfony/polyfill-util/README.md
new file mode 100644
index 0000000..1c655fc
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/README.md
@@ -0,0 +1,13 @@
+Symfony Polyfill / Util
+=======================
+
+This component provides binary-safe string functions, using the
+[mbstring](https://php.net/mbstring) extension when available.
+
+More information can be found in the
+[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
+
+License
+=======
+
+This library is released under the [MIT license](LICENSE).
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListener.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListener.php
new file mode 100644
index 0000000..6b17d45
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListener.php
@@ -0,0 +1,28 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Version::id(), '6.0.0', '<')) {
+ class_alias('Symfony\Polyfill\Util\TestListenerForV5', 'Symfony\Polyfill\Util\TestListener');
+// Using an early return instead of a else does not work when using the PHPUnit phar due to some weird PHP behavior (the class
+// gets defined without executing the code before it and so the definition is not properly conditional)
+} elseif (version_compare(\PHPUnit\Runner\Version::id(), '7.0.0', '<')) {
+ class_alias('Symfony\Polyfill\Util\TestListenerForV6', 'Symfony\Polyfill\Util\TestListener');
+} else {
+ class_alias('Symfony\Polyfill\Util\TestListenerForV7', 'Symfony\Polyfill\Util\TestListener');
+}
+
+if (false) {
+ class TestListener
+ {
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV5.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV5.php
new file mode 100644
index 0000000..501053d
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV5.php
@@ -0,0 +1,89 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class TestListenerForV5 extends \PHPUnit_Framework_TestSuite implements \PHPUnit_Framework_TestListener
+{
+ private $suite;
+ private $trait;
+
+ public function __construct(\PHPUnit_Framework_TestSuite $suite = null)
+ {
+ if ($suite) {
+ $this->suite = $suite;
+ $this->setName($suite->getName().' with polyfills enabled');
+ $this->addTest($suite);
+ }
+ $this->trait = new TestListenerTrait();
+ }
+
+ public function startTestSuite(\PHPUnit_Framework_TestSuite $suite)
+ {
+ $this->trait->startTestSuite($suite);
+ }
+
+ public function addError(\PHPUnit_Framework_Test $test, \Exception $e, $time)
+ {
+ $this->trait->addError($test, $e, $time);
+ }
+
+ public function addWarning(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_Warning $e, $time)
+ {
+ }
+
+ public function addFailure(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_AssertionFailedError $e, $time)
+ {
+ $this->trait->addError($test, $e, $time);
+ }
+
+ public function addIncompleteTest(\PHPUnit_Framework_Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function addRiskyTest(\PHPUnit_Framework_Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function addSkippedTest(\PHPUnit_Framework_Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function endTestSuite(\PHPUnit_Framework_TestSuite $suite)
+ {
+ }
+
+ public function startTest(\PHPUnit_Framework_Test $test)
+ {
+ }
+
+ public function endTest(\PHPUnit_Framework_Test $test, $time)
+ {
+ }
+
+ public static function warning($message)
+ {
+ return parent::warning($message);
+ }
+
+ protected function setUp()
+ {
+ TestListenerTrait::$enabledPolyfills = $this->suite->getName();
+ }
+
+ protected function tearDown()
+ {
+ TestListenerTrait::$enabledPolyfills = false;
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV6.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV6.php
new file mode 100644
index 0000000..e9e87cb
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV6.php
@@ -0,0 +1,95 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+use PHPUnit\Framework\AssertionFailedError;
+use PHPUnit\Framework\Test;
+use PHPUnit\Framework\TestListener as TestListenerInterface;
+use PHPUnit\Framework\TestSuite;
+use PHPUnit\Framework\Warning;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class TestListenerForV6 extends TestSuite implements TestListenerInterface
+{
+ private $suite;
+ private $trait;
+
+ public function __construct(TestSuite $suite = null)
+ {
+ if ($suite) {
+ $this->suite = $suite;
+ $this->setName($suite->getName().' with polyfills enabled');
+ $this->addTest($suite);
+ }
+ $this->trait = new TestListenerTrait();
+ }
+
+ public function startTestSuite(TestSuite $suite)
+ {
+ $this->trait->startTestSuite($suite);
+ }
+
+ public function addError(Test $test, \Exception $e, $time)
+ {
+ $this->trait->addError($test, $e, $time);
+ }
+
+ public function addWarning(Test $test, Warning $e, $time)
+ {
+ }
+
+ public function addFailure(Test $test, AssertionFailedError $e, $time)
+ {
+ $this->trait->addError($test, $e, $time);
+ }
+
+ public function addIncompleteTest(Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function addRiskyTest(Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function addSkippedTest(Test $test, \Exception $e, $time)
+ {
+ }
+
+ public function endTestSuite(TestSuite $suite)
+ {
+ }
+
+ public function startTest(Test $test)
+ {
+ }
+
+ public function endTest(Test $test, $time)
+ {
+ }
+
+ public static function warning($message)
+ {
+ return parent::warning($message);
+ }
+
+ protected function setUp()
+ {
+ TestListenerTrait::$enabledPolyfills = $this->suite->getName();
+ }
+
+ protected function tearDown()
+ {
+ TestListenerTrait::$enabledPolyfills = false;
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV7.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV7.php
new file mode 100644
index 0000000..a5c3759
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV7.php
@@ -0,0 +1,96 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+use PHPUnit\Framework\AssertionFailedError;
+use PHPUnit\Framework\Test;
+use PHPUnit\Framework\TestListener as TestListenerInterface;
+use PHPUnit\Framework\TestSuite;
+use PHPUnit\Framework\Warning;
+use PHPUnit\Framework\WarningTestCase;
+
+/**
+ * @author Ion Bazan <ion.bazan@gmail.com>
+ */
+class TestListenerForV7 extends TestSuite implements TestListenerInterface
+{
+ private $suite;
+ private $trait;
+
+ public function __construct(TestSuite $suite = null)
+ {
+ if ($suite) {
+ $this->suite = $suite;
+ $this->setName($suite->getName().' with polyfills enabled');
+ $this->addTest($suite);
+ }
+ $this->trait = new TestListenerTrait();
+ }
+
+ public function startTestSuite(TestSuite $suite): void
+ {
+ $this->trait->startTestSuite($suite);
+ }
+
+ public function addError(Test $test, \Throwable $t, float $time): void
+ {
+ $this->trait->addError($test, $t, $time);
+ }
+
+ public function addWarning(Test $test, Warning $e, float $time): void
+ {
+ }
+
+ public function addFailure(Test $test, AssertionFailedError $e, float $time): void
+ {
+ $this->trait->addError($test, $e, $time);
+ }
+
+ public function addIncompleteTest(Test $test, \Throwable $t, float $time): void
+ {
+ }
+
+ public function addRiskyTest(Test $test, \Throwable $t, float $time): void
+ {
+ }
+
+ public function addSkippedTest(Test $test, \Throwable $t, float $time): void
+ {
+ }
+
+ public function endTestSuite(TestSuite $suite): void
+ {
+ }
+
+ public function startTest(Test $test): void
+ {
+ }
+
+ public function endTest(Test $test, float $time): void
+ {
+ }
+
+ public static function warning($message): WarningTestCase
+ {
+ return new WarningTestCase($message);
+ }
+
+ protected function setUp(): void
+ {
+ TestListenerTrait::$enabledPolyfills = $this->suite->getName();
+ }
+
+ protected function tearDown(): void
+ {
+ TestListenerTrait::$enabledPolyfills = false;
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerTrait.php b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerTrait.php
new file mode 100644
index 0000000..d8047a0
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerTrait.php
@@ -0,0 +1,125 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Util;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class TestListenerTrait
+{
+ public static $enabledPolyfills;
+
+ public function startTestSuite($mainSuite)
+ {
+ if (null !== self::$enabledPolyfills) {
+ return;
+ }
+ self::$enabledPolyfills = false;
+ $SkippedTestError = class_exists('PHPUnit\Framework\SkippedTestError') ? 'PHPUnit\Framework\SkippedTestError' : 'PHPUnit_Framework_SkippedTestError';
+
+ foreach ($mainSuite->tests() as $suite) {
+ $testClass = $suite->getName();
+ if (!$tests = $suite->tests()) {
+ continue;
+ }
+ if (!preg_match('/^(.+)\\\\Tests(\\\\.*)Test$/', $testClass, $m)) {
+ $mainSuite->addTest(TestListener::warning('Unknown naming convention for '.$testClass));
+ continue;
+ }
+ if (!class_exists($m[1].$m[2])) {
+ continue;
+ }
+ $testedClass = new \ReflectionClass($m[1].$m[2]);
+ $bootstrap = new \SplFileObject(\dirname($testedClass->getFileName()).'/bootstrap.php');
+ $warnings = array();
+ $defLine = null;
+
+ foreach (new \RegexIterator($bootstrap, '/define\(\'/') as $defLine) {
+ preg_match('/define\(\'(?P<name>.+)\'/', $defLine, $matches);
+ if (\defined($matches['name'])) {
+ continue;
+ }
+
+ try {
+ eval($defLine);
+ } catch (\PHPUnit_Framework_Exception $ex){
+ $warnings[] = TestListener::warning($ex->getMessage());
+ } catch (\PHPUnit\Framework\Exception $ex) {
+ $warnings[] = TestListener::warning($ex->getMessage());
+ }
+ }
+
+ $bootstrap->rewind();
+
+ foreach (new \RegexIterator($bootstrap, '/return p\\\\'.$testedClass->getShortName().'::/') as $defLine) {
+ if (!preg_match('/^\s*function (?P<name>[^\(]++)(?P<signature>\(.*\)) \{ (?<return>return p\\\\'.$testedClass->getShortName().'::[^\(]++)(?P<args>\([^\)]*+\)); \}$/', $defLine, $f)) {
+ $warnings[] = TestListener::warning('Invalid line in bootstrap.php: '.trim($defLine));
+ continue;
+ }
+ $testNamespace = substr($testClass, 0, strrpos($testClass, '\\'));
+ if (\function_exists($testNamespace.'\\'.$f['name'])) {
+ continue;
+ }
+
+ try {
+ $r = new \ReflectionFunction($f['name']);
+ if ($r->isUserDefined()) {
+ throw new \ReflectionException();
+ }
+ if ('idn_to_ascii' === $f['name'] || 'idn_to_utf8' === $f['name']) {
+ $defLine = sprintf('return INTL_IDNA_VARIANT_2003 === $variant ? \\%s($domain, $options, $variant) : \\%1$s%s', $f['name'], $f['args']);
+ } elseif (false !== strpos($f['signature'], '&') && 'idn_to_ascii' !== $f['name'] && 'idn_to_utf8' !== $f['name']) {
+ $defLine = sprintf('return \\%s%s', $f['name'], $f['args']);
+ } else {
+ $defLine = sprintf("return \\call_user_func_array('%s', \\func_get_args())", $f['name']);
+ }
+ } catch (\ReflectionException $e) {
+ $defLine = sprintf("throw new \\{$SkippedTestError}('Internal function not found: %s')", $f['name']);
+ }
+
+ eval(<<<EOPHP
+namespace {$testNamespace};
+
+use Symfony\Polyfill\Util\TestListenerTrait;
+use {$testedClass->getNamespaceName()} as p;
+
+function {$f['name']}{$f['signature']}
+{
+ if ('{$testClass}' === TestListenerTrait::\$enabledPolyfills) {
+ {$f['return']}{$f['args']};
+ }
+
+ {$defLine};
+}
+EOPHP
+ );
+ }
+ if (!$warnings && null === $defLine) {
+ $warnings[] = new $SkippedTestError('No Polyfills found in bootstrap.php for '.$testClass);
+ } else {
+ $mainSuite->addTest(new TestListener($suite));
+ }
+ }
+ foreach ($warnings as $w) {
+ $mainSuite->addTest($w);
+ }
+ }
+
+ public function addError($test, \Exception $e, $time)
+ {
+ if (false !== self::$enabledPolyfills) {
+ $r = new \ReflectionProperty('Exception', 'message');
+ $r->setAccessible(true);
+ $r->setValue($e, 'Polyfills enabled, '.$r->getValue($e));
+ }
+ }
+}
diff --git a/srcs/phpmyadmin/vendor/symfony/polyfill-util/composer.json b/srcs/phpmyadmin/vendor/symfony/polyfill-util/composer.json
new file mode 100644
index 0000000..47c7883
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/polyfill-util/composer.json
@@ -0,0 +1,30 @@
+{
+ "name": "symfony/polyfill-util",
+ "type": "library",
+ "description": "Symfony utilities for portability of PHP codes",
+ "keywords": ["polyfill", "shim", "compat", "compatibility"],
+ "homepage": "https://symfony.com",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "autoload": {
+ "psr-4": { "Symfony\\Polyfill\\Util\\": "" }
+ },
+ "minimum-stability": "dev",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.13-dev"
+ }
+ }
+}