From 3a859fe25ba634508f10905dc4b40ce9c40cd88f Mon Sep 17 00:00:00 2001 From: Cees-Jan Kiewiet Date: Sat, 24 Jul 2021 23:56:19 +0200 Subject: [PATCH] Migrate to Loop::get and such --- Makefile | 2 +- composer.json | 4 +- composer.lock | 925 ++++++++++++++++++++++-------------- examples/basic.php | 6 +- examples/combined.php | 16 +- examples/function.php | 6 +- examples/ticking.php | 6 +- examples/ticking_future.php | 6 +- examples/timed.php | 6 +- src/functions.php | 57 +-- tests/FunctionsTest.php | 30 +- 11 files changed, 611 insertions(+), 453 deletions(-) diff --git a/Makefile b/Makefile index 7406a4a..686f256 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ else -v "`pwd`:`pwd`" \ -v "${COMPOSER_CACHE_DIR}:/home/app/.composer/cache" \ -w "`pwd`" \ - "wyrihaximusnet/php:7.4-nts-alpine3.12-dev" + "wyrihaximusnet/php:7.4-nts-alpine-dev" endif all: ## Runs everything ### diff --git a/composer.json b/composer.json index 0fb44b7..2f9bf82 100644 --- a/composer.json +++ b/composer.json @@ -11,11 +11,11 @@ ], "require": { "php": "^8 || ^7.4", - "react/event-loop": "^1.0", + "react/event-loop": "^1.2", "react/promise": "^2.8" }, "require-dev": { - "wyrihaximus/async-test-utilities": "^3" + "wyrihaximus/async-test-utilities": "^3.4.24" }, "config": { "platform": { diff --git a/composer.lock b/composer.lock index a7bfe50..c36c492 100644 --- a/composer.lock +++ b/composer.lock @@ -4,27 +4,27 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "da6a8a837a602dbce9294978ec547230", + "content-hash": "23d5056503e95168ce263e330209a8e0", "packages": [ { "name": "react/event-loop", - "version": "v1.1.1", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/reactphp/event-loop.git", - "reference": "6d24de090cd59cfc830263cfba965be77b563c13" + "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/6d24de090cd59cfc830263cfba965be77b563c13", - "reference": "6d24de090cd59cfc830263cfba965be77b563c13", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/be6dee480fc4692cec0504e65eb486e3be1aa6f2", + "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" }, "suggest": { "ext-event": "~1.0 for ExtEventLoop", @@ -41,6 +41,28 @@ "license": [ "MIT" ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", "keywords": [ "asynchronous", @@ -48,9 +70,19 @@ ], "support": { "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.1.1" + "source": "https://github.com/reactphp/event-loop/tree/v1.2.0" }, - "time": "2020-01-01T18:39:52+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-07-11T12:31:24+00:00" }, { "name": "react/promise", @@ -106,27 +138,27 @@ "packages-dev": [ { "name": "amphp/amp", - "version": "v2.5.2", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9" + "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9", - "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9", + "url": "https://api.github.com/repos/amphp/amp/zipball/caa95edeb1ca1bf7532e9118ede4a3c3126408cc", + "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc", "shasum": "" }, "require": { - "php": ">=7" + "php": ">=7.1" }, "require-dev": { "amphp/php-cs-fixer-config": "dev-master", "amphp/phpunit-util": "^1", "ext-json": "*", "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6.0.9 | ^7", + "phpunit/phpunit": "^7 | ^8 | ^9", "psalm/phar": "^3.11@dev", "react/promise": "^2" }, @@ -183,7 +215,7 @@ "support": { "irc": "irc://irc.freenode.org/amphp", "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.5.2" + "source": "https://github.com/amphp/amp/tree/v2.6.0" }, "funding": [ { @@ -191,7 +223,7 @@ "type": "github" } ], - "time": "2021-01-10T17:06:37+00:00" + "time": "2021-07-16T20:06:06+00:00" }, { "name": "amphp/byte-stream", @@ -406,16 +438,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.9", + "version": "1.2.10", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8", + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8", "shasum": "" }, "require": { @@ -462,7 +494,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.9" + "source": "https://github.com/composer/ca-bundle/tree/1.2.10" }, "funding": [ { @@ -478,7 +510,7 @@ "type": "tidelift" } ], - "time": "2021-01-12T12:10:35+00:00" + "time": "2021-06-07T13:58:28+00:00" }, { "name": "composer/composer", @@ -581,16 +613,16 @@ }, { "name": "composer/package-versions-deprecated", - "version": "1.11.99.1", + "version": "1.11.99.2", "source": { "type": "git", "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + "reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c6522afe5540d5fc46675043d3ed5a45a740b27c", + "reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c", "shasum": "" }, "require": { @@ -634,7 +666,7 @@ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", "support": { "issues": "https://github.com/composer/package-versions-deprecated/issues", - "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.2" }, "funding": [ { @@ -650,7 +682,7 @@ "type": "tidelift" } ], - "time": "2020-11-11T10:22:58+00:00" + "time": "2021-05-24T07:46:03+00:00" }, { "name": "composer/semver", @@ -984,23 +1016,23 @@ }, { "name": "doctrine/coding-standard", - "version": "8.2.0", + "version": "8.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/coding-standard.git", - "reference": "529d385bb3790431080493c0fe7adaec39df368a" + "reference": "f595b060799c1a0d76ead16981804eaa0bbcd8d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/529d385bb3790431080493c0fe7adaec39df368a", - "reference": "529d385bb3790431080493c0fe7adaec39df368a", + "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/f595b060799c1a0d76ead16981804eaa0bbcd8d6", + "reference": "f595b060799c1a0d76ead16981804eaa0bbcd8d6", "shasum": "" }, "require": { "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", "php": "^7.1 || ^8.0", - "slevomat/coding-standard": "^6.3.9", - "squizlabs/php_codesniffer": "^3.5.5" + "slevomat/coding-standard": "^6.4.1", + "squizlabs/php_codesniffer": "^3.5.8" }, "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", @@ -1033,9 +1065,9 @@ ], "support": { "issues": "https://github.com/doctrine/coding-standard/issues", - "source": "https://github.com/doctrine/coding-standard/tree/8.2.0" + "source": "https://github.com/doctrine/coding-standard/tree/8.2.1" }, - "time": "2020-10-25T14:56:19+00:00" + "time": "2021-04-03T10:54:55+00:00" }, { "name": "doctrine/instantiator", @@ -1108,16 +1140,16 @@ }, { "name": "ergebnis/composer-normalize", - "version": "2.13.3", + "version": "2.15.0", "source": { "type": "git", "url": "https://github.com/ergebnis/composer-normalize.git", - "reference": "eff003890c655ee0e4b6ac5d4c5b40ce61247f7c" + "reference": "d469a15b916441959446d52a0f5d3fc9f7720317" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/eff003890c655ee0e4b6ac5d4c5b40ce61247f7c", - "reference": "eff003890c655ee0e4b6ac5d4c5b40ce61247f7c", + "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/d469a15b916441959446d52a0f5d3fc9f7720317", + "reference": "d469a15b916441959446d52a0f5d3fc9f7720317", "shasum": "" }, "require": { @@ -1129,20 +1161,20 @@ "php": "^7.2 || ^8.0" }, "require-dev": { - "composer/composer": "^1.10.19 || ^2.0.8", + "composer/composer": "^1.10.22 || ^2.0.13", "ergebnis/license": "^1.1.0", - "ergebnis/php-cs-fixer-config": "^2.13.0", + "ergebnis/php-cs-fixer-config": "^2.14.0", "ergebnis/phpstan-rules": "~0.15.3", - "ergebnis/test-util": "^1.4.0", + "ergebnis/test-util": "^1.5.0", "phpstan/extension-installer": "^1.1.0", - "phpstan/phpstan": "~0.12.80", + "phpstan/phpstan": "~0.12.89", "phpstan/phpstan-deprecation-rules": "~0.12.6", - "phpstan/phpstan-phpunit": "~0.12.18", + "phpstan/phpstan-phpunit": "~0.12.19", "phpstan/phpstan-strict-rules": "~0.12.9", - "phpunit/phpunit": "^8.5.14", - "psalm/plugin-phpunit": "~0.15.0", - "symfony/filesystem": "^5.2.4", - "vimeo/psalm": "^4.6.2" + "phpunit/phpunit": "^8.5.16", + "psalm/plugin-phpunit": "~0.16.0", + "symfony/filesystem": "^5.3.0", + "vimeo/psalm": "^4.7.3" }, "type": "composer-plugin", "extra": { @@ -1185,7 +1217,7 @@ "type": "github" } ], - "time": "2021-03-06T14:00:23+00:00" + "time": "2021-06-15T08:06:45+00:00" }, { "name": "ergebnis/json-normalizer", @@ -1328,37 +1360,37 @@ }, { "name": "ergebnis/phpstan-rules", - "version": "0.14.4", + "version": "0.15.3", "source": { "type": "git", "url": "https://github.com/ergebnis/phpstan-rules.git", - "reference": "72eeba43afe81837d67349b3794c2f4157a2640c" + "reference": "78a3dd88893cf3250ba339843503dcea7e9bee64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/phpstan-rules/zipball/72eeba43afe81837d67349b3794c2f4157a2640c", - "reference": "72eeba43afe81837d67349b3794c2f4157a2640c", + "url": "https://api.github.com/repos/ergebnis/phpstan-rules/zipball/78a3dd88893cf3250ba339843503dcea7e9bee64", + "reference": "78a3dd88893cf3250ba339843503dcea7e9bee64", "shasum": "" }, "require": { "ext-mbstring": "*", "nikic/php-parser": "^4.2.3", - "php": "^7.1", + "php": "^7.2 || ^8.0", "phpstan/phpstan": "~0.11.15 || ~0.12.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.3.0", - "ergebnis/license": "~0.1.0", - "ergebnis/php-cs-fixer-config": "^2.1.0", - "ergebnis/test-util": "~1.0.0", - "infection/infection": "~0.13.6", + "ergebnis/composer-normalize": "^2.9.0", + "ergebnis/license": "^1.1.0", + "ergebnis/php-cs-fixer-config": "^2.5.1", + "ergebnis/test-util": "^1.3.0", + "infection/infection": "~0.15.3", "nette/di": "^3.0.1", "phpstan/phpstan-deprecation-rules": "~0.11.2", "phpstan/phpstan-strict-rules": "~0.11.1", - "phpunit/phpunit": "^7.5.20", - "psalm/plugin-phpunit": "~0.9.0", + "phpunit/phpunit": "^8.5.8", + "psalm/plugin-phpunit": "~0.12.2", "psr/container": "^1.0.0", - "vimeo/psalm": "^3.9.5", + "vimeo/psalm": "^3.18", "zendframework/zend-servicemanager": "^2.0.0" }, "type": "phpstan-extension", @@ -1396,24 +1428,12 @@ "source": "https://github.com/ergebnis/phpstan-rules" }, "funding": [ - { - "url": "https://paypal.me/localheinz", - "type": "custom" - }, - { - "url": "https://www.amazon.de/hz/wishlist/ls/2NCHMSJ4BC1OW", - "type": "custom" - }, - { - "url": "https://www.buymeacoffee.com/localheinz", - "type": "custom" - }, { "url": "https://github.com/localheinz", "type": "github" } ], - "time": "2020-03-13T20:00:07+00:00" + "time": "2020-10-30T09:50:34+00:00" }, { "name": "facade/ignition-contracts", @@ -1470,20 +1490,20 @@ }, { "name": "felixfbecker/advanced-json-rpc", - "version": "v3.2.0", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", - "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e" + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/06f0b06043c7438959dbdeed8bb3f699a19be22e", - "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e", + "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", "shasum": "" }, "require": { - "netresearch/jsonmapper": "^1.0 || ^2.0", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "php": "^7.1 || ^8.0", "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" }, @@ -1509,9 +1529,9 @@ "description": "A more advanced JSONRPC implementation", "support": { "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", - "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.0" + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" }, - "time": "2021-01-10T17:48:47+00:00" + "time": "2021-06-11T22:34:44+00:00" }, { "name": "felixfbecker/language-server-protocol", @@ -1571,16 +1591,16 @@ }, { "name": "filp/whoops", - "version": "2.12.0", + "version": "2.14.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "d501fd2658d55491a2295ff600ae5978eaad7403" + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/d501fd2658d55491a2295ff600ae5978eaad7403", - "reference": "d501fd2658d55491a2295ff600ae5978eaad7403", + "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b", + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b", "shasum": "" }, "require": { @@ -1630,7 +1650,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.12.0" + "source": "https://github.com/filp/whoops/tree/2.14.0" }, "funding": [ { @@ -1638,7 +1658,7 @@ "type": "github" } ], - "time": "2021-03-30T12:00:00+00:00" + "time": "2021-07-13T12:00:00+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1800,29 +1820,32 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1" + "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/35ea11d335fd638b5882ff1725228b3d35496ab1", - "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", + "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1830,16 +1853,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.0-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1854,6 +1874,11 @@ { "name": "Tobias Schultze", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -1869,9 +1894,9 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.1" + "source": "https://github.com/guzzle/psr7/tree/2.0.0" }, - "time": "2021-03-21T16:25:00+00:00" + "time": "2021-06-30T20:03:07+00:00" }, { "name": "icanhazstring/composer-unused", @@ -2358,16 +2383,16 @@ }, { "name": "justinrainbow/json-schema", - "version": "5.2.10", + "version": "5.2.11", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa", + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa", "shasum": "" }, "require": { @@ -2422,9 +2447,9 @@ ], "support": { "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.11" }, - "time": "2020-05-27T16:41:55+00:00" + "time": "2021-07-22T09:24:00+00:00" }, { "name": "localheinz/diff", @@ -2488,16 +2513,16 @@ }, { "name": "maglnet/composer-require-checker", - "version": "3.2.0", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/maglnet/ComposerRequireChecker.git", - "reference": "cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7" + "reference": "4063254c611acf34f1c15b29b6bcc47d2e7a9a9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7", - "reference": "cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7", + "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/4063254c611acf34f1c15b29b6bcc47d2e7a9a9e", + "reference": "4063254c611acf34f1c15b29b6bcc47d2e7a9a9e", "shasum": "" }, "require": { @@ -2506,17 +2531,17 @@ "ext-phar": "*", "nikic/php-parser": "^4.10.2", "php": "^7.4 || ^8.0", - "symfony/console": "^5.1.8", + "symfony/console": "^5.2.6", "webmozart/assert": "^1.9.1", - "webmozart/glob": "^4.2.0" + "webmozart/glob": "^4.3.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2.0", + "doctrine/coding-standard": "^9.0.0", "ext-zend-opcache": "*", "mikey179/vfsstream": "^1.6.8", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^9.5.0", - "vimeo/psalm": "^4.3.2" + "phpstan/phpstan": "^0.12.85", + "phpunit/phpunit": "^9.5.4", + "vimeo/psalm": "^4.7.0" }, "bin": [ "bin/composer-require-checker" @@ -2561,9 +2586,9 @@ ], "support": { "issues": "https://github.com/maglnet/ComposerRequireChecker/issues", - "source": "https://github.com/maglnet/ComposerRequireChecker/tree/3.2.0" + "source": "https://github.com/maglnet/ComposerRequireChecker/tree/3.3.0" }, - "time": "2021-03-11T11:57:20+00:00" + "time": "2021-06-09T11:44:18+00:00" }, { "name": "myclabs/deep-copy", @@ -2625,16 +2650,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v2.1.0", + "version": "v4.0.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e" + "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e", - "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", + "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", "shasum": "" }, "require": { @@ -2642,10 +2667,10 @@ "ext-pcre": "*", "ext-reflection": "*", "ext-spl": "*", - "php": ">=5.6" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0", + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0", "squizlabs/php_codesniffer": "~3.5" }, "type": "library", @@ -2670,22 +2695,22 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/master" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0" }, - "time": "2020-04-16T18:48:43+00:00" + "time": "2020-12-01T19:48:11+00:00" }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.12.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "6608f01670c3cc5079e18c1dab1104e002579143" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", + "reference": "6608f01670c3cc5079e18c1dab1104e002579143", "shasum": "" }, "require": { @@ -2726,9 +2751,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" }, - "time": "2020-12-20T10:01:03+00:00" + "time": "2021-07-21T10:44:31+00:00" }, { "name": "nikolaposa/version", @@ -2793,16 +2818,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.3.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "aca63581f380f63a492b1e3114604e411e39133a" + "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca63581f380f63a492b1e3114604e411e39133a", - "reference": "aca63581f380f63a492b1e3114604e411e39133a", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b5cb36122f1c142c3c3ee20a0ae778439ef0244b", + "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b", "shasum": "" }, "require": { @@ -2877,7 +2902,7 @@ "type": "patreon" } ], - "time": "2021-01-25T15:34:13+00:00" + "time": "2021-06-22T20:47:22+00:00" }, { "name": "ondram/ci-detector", @@ -3006,39 +3031,38 @@ }, { "name": "pepakriz/phpstan-exception-rules", - "version": "v0.10.1", + "version": "v0.11.7", "source": { "type": "git", "url": "https://github.com/pepakriz/phpstan-exception-rules.git", - "reference": "7073711906e22509cbfacbca0a914e0f8ff2e6c8" + "reference": "0de69d8fc6e08b6ed79986eb19b9e23355b3d0f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pepakriz/phpstan-exception-rules/zipball/7073711906e22509cbfacbca0a914e0f8ff2e6c8", - "reference": "7073711906e22509cbfacbca0a914e0f8ff2e6c8", + "url": "https://api.github.com/repos/pepakriz/phpstan-exception-rules/zipball/0de69d8fc6e08b6ed79986eb19b9e23355b3d0f4", + "reference": "0de69d8fc6e08b6ed79986eb19b9e23355b3d0f4", "shasum": "" }, "require": { - "php": "^7.1", - "phpstan/phpstan": "^0.12.0" + "nikic/php-parser": "^4.4", + "php": ">=7.1", + "phpstan/phpstan": "^0.12.26" }, "require-dev": { - "jakub-onderka/php-console-highlighter": "0.4.0", - "jakub-onderka/php-parallel-lint": "1.0.0", "nette/utils": "^3.0", - "php-coveralls/php-coveralls": "^2.1", - "phpstan/phpstan": "^0.12.0", + "php-parallel-lint/php-console-highlighter": "^0.4.0", + "php-parallel-lint/php-parallel-lint": "^1.2.0", "phpstan/phpstan-nette": "^0.12.0", "phpstan/phpstan-phpunit": "^0.12.0", "phpstan/phpstan-strict-rules": "^0.12.0", - "phpunit/phpunit": "^7.5.6", - "slevomat/coding-standard": "^5.0.4", + "phpunit/phpunit": "^7.5.6 || ^9.4.2", + "slevomat/coding-standard": "^6.4.1", "squizlabs/php_codesniffer": "~3.5.2" }, "type": "phpstan-extension", "extra": { "branch-alias": { - "dev-master": "0.10-dev" + "dev-master": "0.11-dev" }, "phpstan": { "includes": [ @@ -3058,22 +3082,22 @@ "description": "Exception rules for PHPStan", "support": { "issues": "https://github.com/pepakriz/phpstan-exception-rules/issues", - "source": "https://github.com/pepakriz/phpstan-exception-rules/tree/master" + "source": "https://github.com/pepakriz/phpstan-exception-rules/tree/v0.11.7" }, - "time": "2019-12-09T06:14:56+00:00" + "time": "2021-05-05T06:07:22+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { @@ -3118,9 +3142,9 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "time": "2020-06-27T14:33:11+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", @@ -3360,21 +3384,21 @@ }, { "name": "php-parallel-lint/php-parallel-lint", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git", - "reference": "474f18bc6cc6aca61ca40bfab55139de614e51ca" + "reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/474f18bc6cc6aca61ca40bfab55139de614e51ca", - "reference": "474f18bc6cc6aca61ca40bfab55139de614e51ca", + "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/772a954e5f119f6f5871d015b23eabed8cbdadfb", + "reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb", "shasum": "" }, "require": { "ext-json": "*", - "php": ">=5.4.0" + "php": ">=5.3.0" }, "replace": { "grogy/php-parallel-lint": "*", @@ -3383,7 +3407,7 @@ "require-dev": { "nette/tester": "^1.3 || ^2.0", "php-parallel-lint/php-console-highlighter": "~0.3", - "squizlabs/php_codesniffer": "~3.0" + "squizlabs/php_codesniffer": "^3.5" }, "suggest": { "php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet" @@ -3411,9 +3435,9 @@ "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint", "support": { "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues", - "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/master" + "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.0" }, - "time": "2020-04-04T12:18:32+00:00" + "time": "2021-04-07T14:42:48+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -3747,16 +3771,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.83", + "version": "0.12.93", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f" + "reference": "7b7602f05d340ffa418c59299f8c053ac6c3e7ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/4a967cec6efb46b500dd6d768657336a3ffe699f", - "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7b7602f05d340ffa418c59299f8c053ac6c3e7ea", + "reference": "7b7602f05d340ffa418c59299f8c053ac6c3e7ea", "shasum": "" }, "require": { @@ -3787,13 +3811,17 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.83" + "source": "https://github.com/phpstan/phpstan/tree/0.12.93" }, "funding": [ { "url": "https://github.com/ondrejmirtes", "type": "github" }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, { "url": "https://www.patreon.com/phpstan", "type": "patreon" @@ -3803,7 +3831,7 @@ "type": "tidelift" } ], - "time": "2021-04-03T15:35:45+00:00" + "time": "2021-07-20T10:49:53+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -3910,30 +3938,29 @@ }, { "name": "phpstan/phpstan-phpunit", - "version": "0.12.18", + "version": "0.12.21", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72" + "reference": "6aaff1196c4f808769774b49a94a60e5fdf18de7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", - "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6aaff1196c4f808769774b49a94a60e5fdf18de7", + "reference": "6aaff1196c4f808769774b49a94a60e5fdf18de7", "shasum": "" }, "require": { "php": "^7.1 || ^8.0", - "phpstan/phpstan": "^0.12.60" + "phpstan/phpstan": "^0.12.86" }, "conflict": { "phpunit/phpunit": "<7.0" }, "require-dev": { - "phing/phing": "^2.16.3", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/phpstan-strict-rules": "^0.12.6", - "phpunit/phpunit": "^7.5.20" + "phpunit/phpunit": "^9.5" }, "type": "phpstan-extension", "extra": { @@ -3959,22 +3986,22 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.18" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.21" }, - "time": "2021-03-06T11:51:27+00:00" + "time": "2021-07-14T10:48:30+00:00" }, { "name": "phpstan/phpstan-strict-rules", - "version": "0.12.9", + "version": "0.12.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "0705fefc7c9168529fd130e341428f5f10f4f01d" + "reference": "ce82a050f9da4a32e438272907e38cdd04806223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/0705fefc7c9168529fd130e341428f5f10f4f01d", - "reference": "0705fefc7c9168529fd130e341428f5f10f4f01d", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/ce82a050f9da4a32e438272907e38cdd04806223", + "reference": "ce82a050f9da4a32e438272907e38cdd04806223", "shasum": "" }, "require": { @@ -3982,10 +4009,9 @@ "phpstan/phpstan": "^0.12.66" }, "require-dev": { - "phing/phing": "^2.16.3", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/phpstan-phpunit": "^0.12.16", - "phpunit/phpunit": "^7.5.20" + "phpunit/phpunit": "^9.5" }, "type": "phpstan-extension", "extra": { @@ -4010,9 +4036,9 @@ "description": "Extra strict and opinionated rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/0.12.9" + "source": "https://github.com/phpstan/phpstan-strict-rules/tree/0.12.10" }, - "time": "2021-01-13T08:50:28+00:00" + "time": "2021-07-04T14:57:39+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4334,16 +4360,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.4", + "version": "9.5.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" + "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0dc8b6999c937616df4fb046792004b33fd31c5", + "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5", "shasum": "" }, "require": { @@ -4373,7 +4399,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", + "sebastian/type": "^2.3.4", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -4421,7 +4447,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.4" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.7" }, "funding": [ { @@ -4433,20 +4459,20 @@ "type": "github" } ], - "time": "2021-03-23T07:16:29+00:00" + "time": "2021-07-19T06:14:47+00:00" }, { "name": "psalm/plugin-phpunit", - "version": "0.15.1", + "version": "0.15.2", "source": { "type": "git", "url": "https://github.com/psalm/psalm-plugin-phpunit.git", - "reference": "30ca25ce069bf4943c36e59b7df6954f6af05e64" + "reference": "31d15bbc0169a3c454e495e03fd8a6ccb663661b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/30ca25ce069bf4943c36e59b7df6954f6af05e64", - "reference": "30ca25ce069bf4943c36e59b7df6954f6af05e64", + "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/31d15bbc0169a3c454e495e03fd8a6ccb663661b", + "reference": "31d15bbc0169a3c454e495e03fd8a6ccb663661b", "shasum": "" }, "require": { @@ -4491,9 +4517,9 @@ "description": "Psalm plugin for PHPUnit", "support": { "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues", - "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.15.1" + "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.15.2" }, - "time": "2021-01-23T00:19:07+00:00" + "time": "2021-05-29T19:11:38+00:00" }, { "name": "psr/container", @@ -4595,6 +4621,61 @@ }, "time": "2020-06-29T06:28:15+00:00" }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -4650,16 +4731,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -4683,7 +4764,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -4694,9 +4775,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "ralouphie/getallheaders", @@ -4744,25 +4825,25 @@ }, { "name": "react/promise-timer", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise-timer.git", - "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6" + "reference": "607dd79990e32fcb402cb0a176b4a4be12f97e7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/daee9baf6ef30c43ea4c86399f828bb5f558f6e6", - "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6", + "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/607dd79990e32fcb402cb0a176b4a4be12f97e7c", + "reference": "607dd79990e32fcb402cb0a176b4a4be12f97e7c", "shasum": "" }, "require": { "php": ">=5.3", - "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5", + "react/event-loop": "^1.2", "react/promise": "^3.0 || ^2.7.0 || ^1.2.1" }, "require-dev": { - "phpunit/phpunit": "^9.0 || ^5.7 || ^4.8.35" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { @@ -4780,7 +4861,23 @@ "authors": [ { "name": "Christian Lück", - "email": "christian@lueck.tv" + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], "description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.", @@ -4795,9 +4892,19 @@ ], "support": { "issues": "https://github.com/reactphp/promise-timer/issues", - "source": "https://github.com/reactphp/promise-timer/tree/v1.6.0" + "source": "https://github.com/reactphp/promise-timer/tree/v1.7.0" }, - "time": "2020-07-10T12:18:06+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-07-11T13:08:51+00:00" }, { "name": "roave/backward-compatibility-check", @@ -5602,16 +5709,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49", + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49", "shasum": "" }, "require": { @@ -5654,7 +5761,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3" }, "funding": [ { @@ -5662,7 +5769,7 @@ "type": "github" } ], - "time": "2020-10-26T15:55:19+00:00" + "time": "2021-06-11T13:31:12+00:00" }, { "name": "sebastian/lines-of-code", @@ -5949,20 +6056,21 @@ "type": "github" } ], + "abandoned": true, "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "2.3.1", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { @@ -5997,7 +6105,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" }, "funding": [ { @@ -6005,7 +6113,7 @@ "type": "github" } ], - "time": "2020-10-26T13:18:59+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", @@ -6234,16 +6342,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.8", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4" + "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625", + "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625", "shasum": "" }, "require": { @@ -6286,20 +6394,20 @@ "source": "https://github.com/squizlabs/PHP_CodeSniffer", "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" }, - "time": "2020-10-23T02:01:07+00:00" + "time": "2021-04-09T00:54:41+00:00" }, { "name": "symfony/config", - "version": "v5.2.4", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" + "reference": "a69e0c55528b47df88d3c4067ddedf32d485d662" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "url": "https://api.github.com/repos/symfony/config/zipball/a69e0c55528b47df88d3c4067ddedf32d485d662", + "reference": "a69e0c55528b47df88d3c4067ddedf32d485d662", "shasum": "" }, "require": { @@ -6307,7 +6415,8 @@ "symfony/deprecation-contracts": "^2.1", "symfony/filesystem": "^4.4|^5.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php81": "^1.22" }, "conflict": { "symfony/finder": "<4.4" @@ -6348,7 +6457,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.2.4" + "source": "https://github.com/symfony/config/tree/v5.3.3" }, "funding": [ { @@ -6364,24 +6473,25 @@ "type": "tidelift" } ], - "time": "2021-02-23T23:58:19+00:00" + "time": "2021-06-24T08:13:00+00:00" }, { "name": "symfony/console", - "version": "v5.2.6", + "version": "v5.3.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" + "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", + "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1", + "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", "symfony/polyfill-php80": "^1.15", @@ -6445,7 +6555,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.6" + "source": "https://github.com/symfony/console/tree/v5.3.2" }, "funding": [ { @@ -6461,20 +6571,20 @@ "type": "tidelift" } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-06-12T09:42:48+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { @@ -6483,7 +6593,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -6512,7 +6622,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" }, "funding": [ { @@ -6528,20 +6638,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.6", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f" + "reference": "19b71c8f313b411172dd5f470fd61f24466d79a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/19b71c8f313b411172dd5f470fd61f24466d79a9", + "reference": "19b71c8f313b411172dd5f470fd61f24466d79a9", "shasum": "" }, "require": { @@ -6574,7 +6684,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.6" + "source": "https://github.com/symfony/filesystem/tree/v5.3.3" }, "funding": [ { @@ -6590,20 +6700,20 @@ "type": "tidelift" } ], - "time": "2021-03-28T14:30:26+00:00" + "time": "2021-06-30T07:27:52+00:00" }, { "name": "symfony/finder", - "version": "v5.2.4", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0d639a0943822626290d169965804f79400e6a04" + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", - "reference": "0d639a0943822626290d169965804f79400e6a04", + "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", "shasum": "" }, "require": { @@ -6635,7 +6745,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.4" + "source": "https://github.com/symfony/finder/tree/v5.3.0" }, "funding": [ { @@ -6651,20 +6761,20 @@ "type": "tidelift" } ], - "time": "2021-02-15T18:55:04+00:00" + "time": "2021-05-26T12:52:38+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", "shasum": "" }, "require": { @@ -6676,7 +6786,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6714,7 +6824,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" }, "funding": [ { @@ -6730,20 +6840,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", "shasum": "" }, "require": { @@ -6755,7 +6865,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6795,7 +6905,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" }, "funding": [ { @@ -6811,20 +6921,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:17:38+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { @@ -6836,7 +6946,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6879,7 +6989,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" }, "funding": [ { @@ -6895,20 +7005,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", + "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", "shasum": "" }, "require": { @@ -6920,7 +7030,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6959,7 +7069,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" }, "funding": [ { @@ -6975,20 +7085,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", "shasum": "" }, "require": { @@ -6997,7 +7107,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7038,7 +7148,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" }, "funding": [ { @@ -7054,20 +7164,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", + "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", "shasum": "" }, "require": { @@ -7076,7 +7186,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7121,7 +7231,86 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" }, "funding": [ { @@ -7137,20 +7326,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-21T13:25:03+00:00" }, { "name": "symfony/process", - "version": "v5.2.4", + "version": "v5.3.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "reference": "714b47f9196de61a196d86c4bad5f09201b307df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df", + "reference": "714b47f9196de61a196d86c4bad5f09201b307df", "shasum": "" }, "require": { @@ -7183,7 +7372,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.4" + "source": "https://github.com/symfony/process/tree/v5.3.2" }, "funding": [ { @@ -7199,7 +7388,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-06-12T10:15:01+00:00" }, { "name": "symfony/service-contracts", @@ -7282,16 +7471,16 @@ }, { "name": "symfony/stopwatch", - "version": "v5.2.4", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" + "reference": "313d02f59d6543311865007e5ff4ace05b35ee65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/313d02f59d6543311865007e5ff4ace05b35ee65", + "reference": "313d02f59d6543311865007e5ff4ace05b35ee65", "shasum": "" }, "require": { @@ -7324,7 +7513,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.2.4" + "source": "https://github.com/symfony/stopwatch/tree/v5.3.0" }, "funding": [ { @@ -7340,20 +7529,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/string", - "version": "v5.2.6", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "shasum": "" }, "require": { @@ -7407,7 +7596,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.6" + "source": "https://github.com/symfony/string/tree/v5.3.3" }, "funding": [ { @@ -7423,20 +7612,20 @@ "type": "tidelift" } ], - "time": "2021-03-17T17:12:15+00:00" + "time": "2021-06-27T11:44:38+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.5", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" + "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", + "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", "shasum": "" }, "require": { @@ -7482,7 +7671,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.5" + "source": "https://github.com/symfony/yaml/tree/v5.3.3" }, "funding": [ { @@ -7498,7 +7687,7 @@ "type": "tidelift" } ], - "time": "2021-03-06T07:59:01+00:00" + "time": "2021-06-24T08:13:00+00:00" }, { "name": "thecodingmachine/phpstan-safe-rule", @@ -7803,16 +7992,16 @@ }, { "name": "vimeo/psalm", - "version": "4.7.0", + "version": "4.8.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d4377c0baf3ffbf0b1ec6998e8d1be2a40971005" + "reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d4377c0baf3ffbf0b1ec6998e8d1be2a40971005", - "reference": "d4377c0baf3ffbf0b1ec6998e8d1be2a40971005", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/f73f2299dbc59a3e6c4d66cff4605176e728ee69", + "reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69", "shasum": "" }, "require": { @@ -7820,7 +8009,7 @@ "amphp/byte-stream": "^1.5", "composer/package-versions-deprecated": "^1.8.0", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1", + "composer/xdebug-handler": "^1.1 || ^2.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-dom": "*", "ext-json": "*", @@ -7831,7 +8020,7 @@ "felixfbecker/advanced-json-rpc": "^3.0.3", "felixfbecker/language-server-protocol": "^1.5", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.10.1", + "nikic/php-parser": "^4.10.5", "openlss/lib-array2xml": "^1.0", "php": "^7.1|^8", "sebastian/diff": "^3.0 || ^4.0", @@ -7850,10 +8039,10 @@ "phpmyadmin/sql-parser": "5.1.0||dev-master", "phpspec/prophecy": ">=1.9.0", "phpunit/phpunit": "^9.0", - "psalm/plugin-phpunit": "^0.13", - "slevomat/coding-standard": "^6.3.11", + "psalm/plugin-phpunit": "^0.16", + "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3", + "symfony/process": "^4.3 || ^5.0", "weirdan/phpunit-appveyor-reporter": "^1.0.0", "weirdan/prophecy-shim": "^1.0 || ^2.0" }, @@ -7902,9 +8091,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.7.0" + "source": "https://github.com/vimeo/psalm/tree/4.8.1" }, - "time": "2021-03-29T03:54:38+00:00" + "time": "2021-06-20T23:03:20+00:00" }, { "name": "webmozart/assert", @@ -8120,16 +8309,16 @@ }, { "name": "wyrihaximus/coding-standard", - "version": "2.3.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-coding-standard.git", - "reference": "a9faf9a24c1c115962f8c141e958c4ef7aaac16a" + "reference": "8362a75ce17ee68c28080cde12080ec1a87eb0d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-coding-standard/zipball/a9faf9a24c1c115962f8c141e958c4ef7aaac16a", - "reference": "a9faf9a24c1c115962f8c141e958c4ef7aaac16a", + "url": "https://api.github.com/repos/WyriHaximus/php-coding-standard/zipball/8362a75ce17ee68c28080cde12080ec1a87eb0d1", + "reference": "8362a75ce17ee68c28080cde12080ec1a87eb0d1", "shasum": "" }, "require": { @@ -8147,7 +8336,7 @@ "description": "WyriHaximus Coding Standard", "support": { "issues": "https://github.com/WyriHaximus/php-coding-standard/issues", - "source": "https://github.com/WyriHaximus/php-coding-standard/tree/2.3.0" + "source": "https://github.com/WyriHaximus/php-coding-standard/tree/2.4.1" }, "funding": [ { @@ -8155,29 +8344,29 @@ "type": "github" } ], - "time": "2021-01-27T20:28:30+00:00" + "time": "2021-04-13T08:34:49+00:00" }, { "name": "wyrihaximus/phpstan-rules-wrapper", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-phpstan-rules-wrapper.git", - "reference": "1d59dbe529c1b61eb1b4ebff190c019af1a57fd4" + "reference": "382590b4fa0921707da40af336f5ae70f8f64669" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-phpstan-rules-wrapper/zipball/1d59dbe529c1b61eb1b4ebff190c019af1a57fd4", - "reference": "1d59dbe529c1b61eb1b4ebff190c019af1a57fd4", + "url": "https://api.github.com/repos/WyriHaximus/php-phpstan-rules-wrapper/zipball/382590b4fa0921707da40af336f5ae70f8f64669", + "reference": "382590b4fa0921707da40af336f5ae70f8f64669", "shasum": "" }, "require": { - "ergebnis/phpstan-rules": "^0.14.2", + "ergebnis/phpstan-rules": "^0.15.3", "jangregor/phpstan-prophecy": "^0.5.1 || ^0.6.0", - "pepakriz/phpstan-exception-rules": "^0.10.1", + "pepakriz/phpstan-exception-rules": "^0.11.6", "phpstan/phpstan-deprecation-rules": "^0.12.0", "phpstan/phpstan-php-parser": "^0.12.0", - "phpstan/phpstan-phpunit": "^0.12.3", + "phpstan/phpstan-phpunit": "^0.12.18", "phpstan/phpstan-strict-rules": "^0.12.0", "thecodingmachine/phpstan-safe-rule": "^1.0", "thecodingmachine/phpstan-strict-rules": "^0.12.0" @@ -8196,9 +8385,15 @@ "description": "🌯 PHPStan rules wrapper", "support": { "issues": "https://github.com/WyriHaximus/php-phpstan-rules-wrapper/issues", - "source": "https://github.com/WyriHaximus/php-phpstan-rules-wrapper/tree/1.2.2" + "source": "https://github.com/WyriHaximus/php-phpstan-rules-wrapper/tree/1.2.3" }, - "time": "2020-01-22T16:22:33+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + } + ], + "time": "2021-04-22T17:24:08+00:00" }, { "name": "wyrihaximus/test-utilities", @@ -8307,5 +8502,5 @@ "platform-overrides": { "php": "7.4.7" }, - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.1.0" } diff --git a/examples/basic.php b/examples/basic.php index 1c502e5..258755b 100644 --- a/examples/basic.php +++ b/examples/basic.php @@ -2,10 +2,6 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - -\WyriHaximus\React\futurePromise($loop)->then(function (): void { +\WyriHaximus\React\futurePromise()->then(function (): void { echo DateTime::createFromFormat('U', \time())->format('r'), \PHP_EOL; }); - -$loop->run(); diff --git a/examples/combined.php b/examples/combined.php index cd18e38..78108f3 100644 --- a/examples/combined.php +++ b/examples/combined.php @@ -2,26 +2,22 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - \React\Promise\all([ - \WyriHaximus\React\futurePromise($loop)->then(function () { + \WyriHaximus\React\futurePromise()->then(function () { return \time(); }), - \WyriHaximus\React\tickingPromise($loop, 0.001, function () { + \WyriHaximus\React\tickingPromise(0.001, function () { echo '.'; return \mt_rand(0, 1000) == 13; }), -])->then(function ($time) use ($loop) { - return \WyriHaximus\React\nextPromise($loop, $time[0]); -})->then(function ($time) use ($loop) { - return \WyriHaximus\React\timedPromise($loop, 3, $time); +])->then(function ($time) { + return \WyriHaximus\React\nextPromise($time[0]); +})->then(function ($time) { + return \WyriHaximus\React\timedPromise(3, $time); })->then(function ($time): void { echo \PHP_EOL; echo DateTime::createFromFormat('U', $time)->format('r'), \PHP_EOL; echo DateTime::createFromFormat('U', \time())->format('r'), \PHP_EOL; echo 'Done', \PHP_EOL; }); - -$loop->run(); diff --git a/examples/function.php b/examples/function.php index c6c0e1f..da4863d 100644 --- a/examples/function.php +++ b/examples/function.php @@ -2,12 +2,8 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - -\WyriHaximus\React\futureFunctionPromise($loop, \json_encode([ +\WyriHaximus\React\futureFunctionPromise(\json_encode([ 'time' => \time(), ]), 'json_decode')->then(function ($json): void { echo DateTime::createFromFormat('U', $json->time)->format('r'), \PHP_EOL; }); - -$loop->run(); diff --git a/examples/ticking.php b/examples/ticking.php index b47c921..f3e503b 100644 --- a/examples/ticking.php +++ b/examples/ticking.php @@ -2,15 +2,13 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - const WAIT_COUNT = 1337; const WAIT_INTERVAL = 0.01; $start = \time(); $count = 0; echo 'Wait ' . WAIT_COUNT . ' * ' . WAIT_INTERVAL . ' seconds before resolving:', \PHP_EOL; -\WyriHaximus\React\tickingPromise($loop, WAIT_INTERVAL, function ($waitCount) use (&$count, $start) { +\WyriHaximus\React\tickingPromise(WAIT_INTERVAL, function ($waitCount) use (&$count, $start) { echo '.'; if (++$count == $waitCount) { @@ -21,5 +19,3 @@ }, WAIT_COUNT)->then(function ($start): void { echo \PHP_EOL, 'That took ' . (\time() - $start) . ' seconds.', \PHP_EOL; }); - -$loop->run(); diff --git a/examples/ticking_future.php b/examples/ticking_future.php index eceb2f0..b73e6dd 100644 --- a/examples/ticking_future.php +++ b/examples/ticking_future.php @@ -2,14 +2,12 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - const WAIT_COUNT = 307200; $start = \time(); $count = 0; echo 'Wait ' . WAIT_COUNT . ' ticks before resolving:', \PHP_EOL; -\WyriHaximus\React\tickingFuturePromise($loop, function ($waitCount) use (&$count, $start) { +\WyriHaximus\React\tickingFuturePromise(function ($waitCount) use (&$count, $start) { echo '.'; if (++$count == $waitCount) { @@ -22,5 +20,3 @@ }, function ($exception): void { echo $exception->getMessage(), \PHP_EOL; }); - -$loop->run(); diff --git a/examples/timed.php b/examples/timed.php index e1aebf9..4be36e3 100644 --- a/examples/timed.php +++ b/examples/timed.php @@ -2,13 +2,9 @@ require \dirname(__DIR__) . '/vendor/autoload.php'; -$loop = \React\EventLoop\Factory::create(); - echo 'Reporting back in 12 seconds', \PHP_EOL; echo DateTime::createFromFormat('U', \time())->format('r'), \PHP_EOL; -\WyriHaximus\React\timedPromise($loop, 12)->then(function (): void { +\WyriHaximus\React\timedPromise(12)->then(function (): void { echo DateTime::createFromFormat('U', \time())->format('r'), \PHP_EOL; echo 'Done', \PHP_EOL; }); - -$loop->run(); diff --git a/src/functions.php b/src/functions.php index 6559781..184eab2 100644 --- a/src/functions.php +++ b/src/functions.php @@ -4,7 +4,7 @@ namespace WyriHaximus\React; -use React\EventLoop\LoopInterface; +use React\EventLoop\Loop; use React\EventLoop\TimerInterface; use React\Promise\Deferred; use React\Promise\Promise; @@ -13,13 +13,12 @@ /** * Promise that resolves once future tick is called. * - * @param LoopInterface $loop ReactPHP event loop. - * @param mixed $value Value to return on resolve. + * @param mixed $value Value to return on resolve. */ -function futurePromise(LoopInterface $loop, $value = null): PromiseInterface +function futurePromise($value = null): PromiseInterface { $deferred = new Deferred(); - $loop->futureTick(static function () use ($deferred, $value): void { + Loop::futureTick(static function () use ($deferred, $value): void { $deferred->resolve($value); }); @@ -29,14 +28,13 @@ function futurePromise(LoopInterface $loop, $value = null): PromiseInterface /** * Promise that resolves after $interval has passed. * - * @param LoopInterface $loop ReactPHP event loop. - * @param float $interval The number of seconds to wait before execution. - * @param mixed $value Value to return on resolve. + * @param float $interval The number of seconds to wait before execution. + * @param mixed $value Value to return on resolve. */ -function timedPromise(LoopInterface $loop, float $interval, $value = null): PromiseInterface +function timedPromise(float $interval, $value = null): PromiseInterface { $deferred = new Deferred(); - $loop->addTimer($interval, static function () use ($deferred, $value): void { + Loop::addTimer($interval, static function () use ($deferred, $value): void { $deferred->resolve($value); }); @@ -46,21 +44,20 @@ function timedPromise(LoopInterface $loop, float $interval, $value = null): Prom /** * Promise that resolves once $check returns something other then false. Runs at periodic $interval. * - * @param LoopInterface $loop ReactPHP event loop. - * @param float $interval The number of seconds between each interval to run $check. - * @param callable $check Callable to run at the specified $interval. - * @param mixed $value Value to pass into $check on tick. + * @param float $interval The number of seconds between each interval to run $check. + * @param callable $check Callable to run at the specified $interval. + * @param mixed $value Value to pass into $check on tick. */ -function tickingPromise(LoopInterface $loop, float $interval, callable $check, $value = null): PromiseInterface +function tickingPromise(float $interval, callable $check, $value = null): PromiseInterface { $deferred = new Deferred(); - $loop->addPeriodicTimer($interval, static function (TimerInterface $timer) use ($deferred, $check, $value, $loop): void { + Loop::addPeriodicTimer($interval, static function (TimerInterface $timer) use ($deferred, $check, $value): void { $result = $check($value); if ($result === false) { return; } - $loop->cancelTimer($timer); + Loop::cancelTimer($timer); $deferred->resolve($result); }); @@ -70,15 +67,14 @@ function tickingPromise(LoopInterface $loop, float $interval, callable $check, $ /** * Promise that resolves once $check returns something other then false. Runs at future tick interval. * - * @param LoopInterface $loop ReactPHP event loop. - * @param callable $check Callable to run at tick. - * @param mixed $value Value to pass into $check on tick. - * @param int $iterations Number of iterations to call $check in one tick. + * @param callable $check Callable to run at tick. + * @param mixed $value Value to pass into $check on tick. + * @param int $iterations Number of iterations to call $check in one tick. */ -function tickingFuturePromise(LoopInterface $loop, callable $check, $value = null, int $iterations = 1): PromiseInterface +function tickingFuturePromise(callable $check, $value = null, int $iterations = 1): PromiseInterface { - return new Promise(static function (callable $resolve) use ($loop, $check, $iterations, $value): void { - $runCheck = static function () use ($loop, $check, &$runCheck, $resolve, $iterations, $value): void { + return new Promise(static function (callable $resolve) use ($check, $iterations, $value): void { + $runCheck = static function () use ($check, &$runCheck, $resolve, $iterations, $value): void { for ($i = 0; $i <= $iterations; $i++) { $result = $check($value); if ($result !== false) { @@ -88,22 +84,21 @@ function tickingFuturePromise(LoopInterface $loop, callable $check, $value = nul } } - futurePromise($loop)->then($runCheck); + futurePromise()->then($runCheck); }; - futurePromise($loop)->then($runCheck); + futurePromise()->then($runCheck); }); } /** * Sandwich a $function call within two futureTicks. * - * @param LoopInterface $loop ReactPHP event loop. - * @param mixed $value Value to pass into $function. - * @param callable $function Function to wrap. + * @param mixed $value Value to pass into $function. + * @param callable $function Function to wrap. */ -function futureFunctionPromise(LoopInterface $loop, $value, callable $function): PromiseInterface +function futureFunctionPromise($value, callable $function): PromiseInterface { /** @psalm-suppress MissingClosureParamType */ - return futurePromise($loop, $value)->then(static fn ($value): PromiseInterface => futurePromise($loop, $function($value))); + return futurePromise($value)->then(static fn ($value): PromiseInterface => futurePromise($function($value))); } diff --git a/tests/FunctionsTest.php b/tests/FunctionsTest.php index b37cd92..321d8e4 100644 --- a/tests/FunctionsTest.php +++ b/tests/FunctionsTest.php @@ -4,7 +4,7 @@ namespace WyriHaximus\Tests\React; -use React\EventLoop\Factory; +use React\EventLoop\Loop; use WyriHaximus\AsyncTestUtilities\AsyncTestCase; use function gc_collect_cycles; @@ -23,10 +23,8 @@ public function testFuturePromise(): void $inputData = 'foo.bar'; - $loop = Factory::create(); - - $promise = futurePromise($loop, $inputData); - $data = $this->await($promise, $loop); + $promise = futurePromise($inputData); + $data = $this->await($promise, Loop::get()); self::assertSame($inputData, $data); unset($promise); @@ -40,10 +38,8 @@ public function testTimedPromise(): void $inputData = 'foo.bar'; - $loop = Factory::create(); - - $promise = timedPromise($loop, 0.23, $inputData); - $data = $this->await($promise, $loop); + $promise = timedPromise(0.23, $inputData); + $data = $this->await($promise, Loop::get()); self::assertSame($inputData, $data); unset($promise); @@ -55,9 +51,8 @@ public function testTickingFuturePromise(): void { gc_collect_cycles(); - $loop = Factory::create(); - $promise = tickingFuturePromise($loop, static fn (): bool => true); - $loop->run(); + $promise = tickingFuturePromise(static fn (): bool => true); + Loop::run(); gc_collect_cycles(); unset($promise); @@ -68,8 +63,6 @@ public function testTickingPromise(): void { gc_collect_cycles(); - $loop = Factory::create(); - $inputData = 'foo.bar'; $fired = [ false, @@ -88,8 +81,8 @@ public function testTickingPromise(): void return 'foo.bar'; }; - $promise = tickingPromise($loop, 1, $callback, $inputData); - $data = $this->await($promise, $loop); + $promise = tickingPromise(1, $callback, $inputData); + $data = $this->await($promise, Loop::get()); self::assertSame($inputData, $data); foreach ($fired as $fire) { @@ -148,10 +141,9 @@ public function testFutureFunctionPromise($inputData, $outputDate, $function): v { gc_collect_cycles(); - $loop = Factory::create(); - $promise = futureFunctionPromise($loop, $inputData, $function); + $promise = futureFunctionPromise($inputData, $function); - $data = $this->await($promise, $loop); + $data = $this->await($promise, Loop::get()); self::assertSame($outputDate, $data); unset($promise);