From 7c86c05ea7c511225aa60a1d315db835e00bdb0d Mon Sep 17 00:00:00 2001 From: Cees-Jan Kiewiet Date: Mon, 5 Apr 2021 13:16:14 +0200 Subject: [PATCH] Switch to use the global event-loop --- composer.json | 4 +- composer.lock | 1059 ++++++++++++++++++++-------------- example.php | 15 +- infection.json.dist | 5 +- src/Cron.php | 13 +- src/Cron/Scheduler.php | 20 +- tests/CronFunctionalTest.php | 23 +- 7 files changed, 668 insertions(+), 471 deletions(-) diff --git a/composer.json b/composer.json index 509200f..426255b 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "require": { "php": "^7.4", "dragonmantank/cron-expression": "^3.1", - "react/event-loop": "^1.1", + "react/event-loop": "^1.2", "react/promise": "^2.7", "thecodingmachine/safe": "^1.3", "wyrihaximus/constants": "^1.6", @@ -13,7 +13,7 @@ "wyrihaximus/react-mutex-contracts": "^1.1" }, "require-dev": { - "wyrihaximus/async-test-utilities": "^3.4.24" + "wyrihaximus/async-test-utilities": "^4.0" }, "config": { "platform": { diff --git a/composer.lock b/composer.lock index 3b52c52..17aef80 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5534cf1afeb4b46743a27f4260f1f47b", + "content-hash": "9e82a5bd1418ca4e88d872826aa48062", "packages": [ { "name": "dragonmantank/cron-expression", @@ -145,23 +145,23 @@ }, { "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", @@ -178,6 +178,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", @@ -185,9 +207,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", @@ -241,16 +273,16 @@ }, { "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": { @@ -262,7 +294,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -300,7 +332,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": [ { @@ -316,7 +348,7 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "thecodingmachine/safe", @@ -717,27 +749,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" }, @@ -794,7 +826,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": [ { @@ -802,7 +834,7 @@ "type": "github" } ], - "time": "2021-01-10T17:06:37+00:00" + "time": "2021-07-16T20:06:06+00:00" }, { "name": "amphp/byte-stream", @@ -1017,16 +1049,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": { @@ -1073,7 +1105,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": [ { @@ -1089,20 +1121,20 @@ "type": "tidelift" } ], - "time": "2021-01-12T12:10:35+00:00" + "time": "2021-06-07T13:58:28+00:00" }, { "name": "composer/composer", - "version": "1.10.21", + "version": "1.10.22", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "04021432f4a9cbd9351dd166b8c193f42c36a39c" + "reference": "28c9dfbe2351635961f670773e8d7b17bc5eda25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/04021432f4a9cbd9351dd166b8c193f42c36a39c", - "reference": "04021432f4a9cbd9351dd166b8c193f42c36a39c", + "url": "https://api.github.com/repos/composer/composer/zipball/28c9dfbe2351635961f670773e8d7b17bc5eda25", + "reference": "28c9dfbe2351635961f670773e8d7b17bc5eda25", "shasum": "" }, "require": { @@ -1172,7 +1204,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/1.10.21" + "source": "https://github.com/composer/composer/tree/1.10.22" }, "funding": [ { @@ -1188,20 +1220,20 @@ "type": "tidelift" } ], - "time": "2021-04-01T07:16:35+00:00" + "time": "2021-04-27T11:10:45+00:00" }, { "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": { @@ -1245,7 +1277,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": [ { @@ -1261,7 +1293,7 @@ "type": "tidelift" } ], - "time": "2020-11-11T10:22:58+00:00" + "time": "2021-05-24T07:46:03+00:00" }, { "name": "composer/semver", @@ -1595,23 +1627,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/", @@ -1644,9 +1676,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", @@ -1719,16 +1751,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": { @@ -1740,20 +1772,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": { @@ -1796,7 +1828,7 @@ "type": "github" } ], - "time": "2021-03-06T14:00:23+00:00" + "time": "2021-06-15T08:06:45+00:00" }, { "name": "ergebnis/json-normalizer", @@ -1939,37 +1971,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", @@ -2007,24 +2039,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", @@ -2081,20 +2101,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" }, @@ -2120,9 +2140,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", @@ -2182,16 +2202,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": { @@ -2241,7 +2261,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": [ { @@ -2249,7 +2269,7 @@ "type": "github" } ], - "time": "2021-03-30T12:00:00+00:00" + "time": "2021-07-13T12:00:00+00:00" }, { "name": "guzzlehttp/guzzle", @@ -2411,29 +2431,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" @@ -2441,16 +2464,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": [ @@ -2465,6 +2485,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", @@ -2480,9 +2505,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", @@ -2657,16 +2682,16 @@ }, { "name": "infection/include-interceptor", - "version": "0.2.4", + "version": "0.2.5", "source": { "type": "git", "url": "https://github.com/infection/include-interceptor.git", - "reference": "e3cf9317a7fd554ab60a5587f028b16418cc4264" + "reference": "0cc76d95a79d9832d74e74492b0a30139904bdf7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/infection/include-interceptor/zipball/e3cf9317a7fd554ab60a5587f028b16418cc4264", - "reference": "e3cf9317a7fd554ab60a5587f028b16418cc4264", + "url": "https://api.github.com/repos/infection/include-interceptor/zipball/0cc76d95a79d9832d74e74492b0a30139904bdf7", + "reference": "0cc76d95a79d9832d74e74492b0a30139904bdf7", "shasum": "" }, "require-dev": { @@ -2697,9 +2722,19 @@ "description": "Stream Wrapper: Include Interceptor. Allows to replace included (autoloaded) file with another one.", "support": { "issues": "https://github.com/infection/include-interceptor/issues", - "source": "https://github.com/infection/include-interceptor/tree/0.2.4" + "source": "https://github.com/infection/include-interceptor/tree/0.2.5" }, - "time": "2020-08-07T22:40:37+00:00" + "funding": [ + { + "url": "https://github.com/infection", + "type": "github" + }, + { + "url": "https://opencollective.com/infection", + "type": "open_collective" + } + ], + "time": "2021-08-09T10:03:57+00:00" }, { "name": "infection/infection", @@ -2969,16 +3004,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": { @@ -3033,9 +3068,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", @@ -3099,16 +3134,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": { @@ -3117,17 +3152,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" @@ -3172,9 +3207,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", @@ -3236,16 +3271,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": { @@ -3253,10 +3288,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", @@ -3281,22 +3316,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": { @@ -3337,9 +3372,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", @@ -3404,16 +3439,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.3.0", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "aca63581f380f63a492b1e3114604e411e39133a" + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca63581f380f63a492b1e3114604e411e39133a", - "reference": "aca63581f380f63a492b1e3114604e411e39133a", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", "shasum": "" }, "require": { @@ -3427,10 +3462,10 @@ "fideloper/proxy": "^4.4.1", "friendsofphp/php-cs-fixer": "^2.17.3", "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^9.0", + "laravel/framework": "^8.0 || ^9.0", "nunomaduro/larastan": "^0.6.2", "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^7.0", + "orchestra/testbench": "^6.0 || ^7.0", "phpstan/phpstan": "^0.12.64", "phpunit/phpunit": "^9.5.0" }, @@ -3488,7 +3523,7 @@ "type": "patreon" } ], - "time": "2021-01-25T15:34:13+00:00" + "time": "2021-07-26T20:39:06+00:00" }, { "name": "ondram/ci-detector", @@ -3617,39 +3652,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": [ @@ -3669,22 +3703,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": { @@ -3729,9 +3763,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", @@ -3971,21 +4005,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": "*", @@ -3994,7 +4028,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" @@ -4022,9 +4056,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", @@ -4358,16 +4392,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.83", + "version": "0.12.94", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f" + "reference": "3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/4a967cec6efb46b500dd6d768657336a3ffe699f", - "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6", + "reference": "3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6", "shasum": "" }, "require": { @@ -4398,13 +4432,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.94" }, "funding": [ { "url": "https://github.com/ondrejmirtes", "type": "github" }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, { "url": "https://www.patreon.com/phpstan", "type": "patreon" @@ -4414,7 +4452,7 @@ "type": "tidelift" } ], - "time": "2021-04-03T15:35:45+00:00" + "time": "2021-07-30T09:05:27+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -4521,30 +4559,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": { @@ -4570,22 +4607,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": { @@ -4593,10 +4630,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": { @@ -4621,9 +4657,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", @@ -4945,16 +4981,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.4", + "version": "9.5.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", "shasum": "" }, "require": { @@ -4966,7 +5002,7 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", @@ -4984,7 +5020,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": { @@ -5032,7 +5068,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.8" }, "funding": [ { @@ -5044,20 +5080,20 @@ "type": "github" } ], - "time": "2021-03-23T07:16:29+00:00" + "time": "2021-07-31T15:17:34+00:00" }, { "name": "psalm/plugin-phpunit", - "version": "0.15.1", + "version": "0.16.1", "source": { "type": "git", "url": "https://github.com/psalm/psalm-plugin-phpunit.git", - "reference": "30ca25ce069bf4943c36e59b7df6954f6af05e64" + "reference": "5dd3be04f37a857d52880ef6af2524a441dfef24" }, "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/5dd3be04f37a857d52880ef6af2524a441dfef24", + "reference": "5dd3be04f37a857d52880ef6af2524a441dfef24", "shasum": "" }, "require": { @@ -5065,7 +5101,7 @@ "composer/semver": "^1.4 || ^2.0 || ^3.0", "ext-simplexml": "*", "php": "^7.1 || ^8.0", - "vimeo/psalm": "dev-master || dev-4.x || ^4.0" + "vimeo/psalm": "dev-master || dev-4.x || ^4.5" }, "conflict": { "phpunit/phpunit": "<7.5" @@ -5102,9 +5138,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.16.1" }, - "time": "2021-01-23T00:19:07+00:00" + "time": "2021-06-18T23:56:46+00:00" }, { "name": "psr/container", @@ -5206,6 +5242,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", @@ -5261,16 +5352,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": { @@ -5294,7 +5385,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -5305,9 +5396,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", @@ -5355,25 +5446,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": { @@ -5391,7 +5482,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.", @@ -5406,9 +5513,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", @@ -6213,16 +6330,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": { @@ -6265,7 +6382,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": [ { @@ -6273,7 +6390,7 @@ "type": "github" } ], - "time": "2020-10-26T15:55:19+00:00" + "time": "2021-06-11T13:31:12+00:00" }, { "name": "sebastian/lines-of-code", @@ -6564,16 +6681,16 @@ }, { "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": { @@ -6608,7 +6725,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": [ { @@ -6616,7 +6733,7 @@ "type": "github" } ], - "time": "2020-10-26T13:18:59+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", @@ -6845,16 +6962,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": { @@ -6897,20 +7014,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.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" + "reference": "4268f3059c904c61636275182707f81645517a37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "url": "https://api.github.com/repos/symfony/config/zipball/4268f3059c904c61636275182707f81645517a37", + "reference": "4268f3059c904c61636275182707f81645517a37", "shasum": "" }, "require": { @@ -6918,7 +7035,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.16", + "symfony/polyfill-php81": "^1.22" }, "conflict": { "symfony/finder": "<4.4" @@ -6959,7 +7077,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.4" }, "funding": [ { @@ -6975,31 +7093,33 @@ "type": "tidelift" } ], - "time": "2021-02-23T23:58:19+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/console", - "version": "v5.2.6", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", + "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "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", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2", "symfony/string": "^5.1" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<4.4", "symfony/dotenv": "<5.1", "symfony/event-dispatcher": "<4.4", @@ -7007,10 +7127,10 @@ "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/event-dispatcher": "^4.4|^5.0", @@ -7056,7 +7176,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.6" + "source": "https://github.com/symfony/console/tree/v5.3.6" }, "funding": [ { @@ -7072,20 +7192,20 @@ "type": "tidelift" } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-07-27T19:10:22+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": { @@ -7094,7 +7214,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -7123,7 +7243,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": [ { @@ -7139,25 +7259,26 @@ "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.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f" + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32", + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -7185,7 +7306,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.4" }, "funding": [ { @@ -7201,24 +7322,25 @@ "type": "tidelift" } ], - "time": "2021-03-28T14:30:26+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/finder", - "version": "v5.2.4", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0d639a0943822626290d169965804f79400e6a04" + "reference": "17f50e06018baec41551a71a15731287dbaab186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", - "reference": "0d639a0943822626290d169965804f79400e6a04", + "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", + "reference": "17f50e06018baec41551a71a15731287dbaab186", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -7246,7 +7368,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.4" }, "funding": [ { @@ -7262,20 +7384,20 @@ "type": "tidelift" } ], - "time": "2021-02-15T18:55:04+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.1", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" }, "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/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", "shasum": "" }, "require": { @@ -7287,7 +7409,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7327,7 +7449,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.1" }, "funding": [ { @@ -7343,20 +7465,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T12:26:48+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": { @@ -7368,7 +7490,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7411,7 +7533,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": [ { @@ -7427,20 +7549,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.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "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/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { @@ -7452,7 +7574,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7491,7 +7613,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" }, "funding": [ { @@ -7507,20 +7629,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T12:26:48+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": { @@ -7529,7 +7651,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7570,7 +7692,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": [ { @@ -7586,20 +7708,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.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "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/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { @@ -7608,7 +7730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7653,7 +7775,86 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + }, + "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-07-28T13:41:28+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": [ { @@ -7669,25 +7870,25 @@ "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.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -7715,7 +7916,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.4" }, "funding": [ { @@ -7731,25 +7932,25 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1" }, "suggest": { "symfony/service-implementation": "" @@ -7757,7 +7958,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -7794,7 +7995,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" }, "funding": [ { @@ -7810,20 +8011,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.2.4", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" + "reference": "b24c6a92c6db316fee69e38c80591e080e41536c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b24c6a92c6db316fee69e38c80591e080e41536c", + "reference": "b24c6a92c6db316fee69e38c80591e080e41536c", "shasum": "" }, "require": { @@ -7856,7 +8057,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.4" }, "funding": [ { @@ -7872,20 +8073,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-10T08:58:57+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": { @@ -7939,7 +8140,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.6" + "source": "https://github.com/symfony/string/tree/v5.3.3" }, "funding": [ { @@ -7955,20 +8156,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.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", "shasum": "" }, "require": { @@ -8014,7 +8215,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.6" }, "funding": [ { @@ -8030,7 +8231,7 @@ "type": "tidelift" } ], - "time": "2021-03-06T07:59:01+00:00" + "time": "2021-07-29T06:20:01+00:00" }, { "name": "thecodingmachine/phpstan-safe-rule", @@ -8146,16 +8347,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -8184,7 +8385,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" }, "funding": [ { @@ -8192,20 +8393,20 @@ "type": "github" } ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-28T10:34:58+00:00" }, { "name": "vimeo/psalm", - "version": "4.7.0", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d4377c0baf3ffbf0b1ec6998e8d1be2a40971005" + "reference": "00c062267d6e3229d91a1939992987e2d46f2393" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d4377c0baf3ffbf0b1ec6998e8d1be2a40971005", - "reference": "d4377c0baf3ffbf0b1ec6998e8d1be2a40971005", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/00c062267d6e3229d91a1939992987e2d46f2393", + "reference": "00c062267d6e3229d91a1939992987e2d46f2393", "shasum": "" }, "require": { @@ -8213,7 +8414,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": "*", @@ -8224,7 +8425,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.12", "openlss/lib-array2xml": "^1.0", "php": "^7.1|^8", "sebastian/diff": "^3.0 || ^4.0", @@ -8243,10 +8444,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" }, @@ -8295,9 +8496,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.9.2" }, - "time": "2021-03-29T03:54:38+00:00" + "time": "2021-08-01T01:15:26+00:00" }, { "name": "webmozart/glob", @@ -8401,23 +8602,23 @@ }, { "name": "wyrihaximus/async-test-utilities", - "version": "3.4.24", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-async-test-utilities.git", - "reference": "fee2c6404f646d3c4040974040a2001d22a92de7" + "reference": "9ac7c4f4b33fe9dd47c9e98c8cace21260835767" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-async-test-utilities/zipball/fee2c6404f646d3c4040974040a2001d22a92de7", - "reference": "fee2c6404f646d3c4040974040a2001d22a92de7", + "url": "https://api.github.com/repos/WyriHaximus/php-async-test-utilities/zipball/9ac7c4f4b33fe9dd47c9e98c8cace21260835767", + "reference": "9ac7c4f4b33fe9dd47c9e98c8cace21260835767", "shasum": "" }, "require": { "clue/block-react": "^1.4", "php": "^8 || ^7.4", "phpunit/phpunit": "^9.5", - "react/event-loop": "^1.1", + "react/event-loop": "^1.2", "react/promise": "^2.8", "wyrihaximus/test-utilities": "^3.7.0" }, @@ -8443,7 +8644,7 @@ "description": "Test utilities for api-clients packages", "support": { "issues": "https://github.com/WyriHaximus/php-async-test-utilities/issues", - "source": "https://github.com/WyriHaximus/php-async-test-utilities/tree/3.4.24" + "source": "https://github.com/WyriHaximus/php-async-test-utilities/tree/4.0.0" }, "funding": [ { @@ -8451,20 +8652,20 @@ "type": "github" } ], - "time": "2021-04-05T21:31:31+00:00" + "time": "2021-07-23T17:27:19+00:00" }, { "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": { @@ -8482,7 +8683,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": [ { @@ -8490,29 +8691,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" @@ -8531,48 +8732,54 @@ "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", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-test-utilities.git", - "reference": "656bfae3535868ff6511764d9f608e0c15f6244c" + "reference": "3d414d4b569e23d4bff68f72d75e9af8914e0cc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-test-utilities/zipball/656bfae3535868ff6511764d9f608e0c15f6244c", - "reference": "656bfae3535868ff6511764d9f608e0c15f6244c", + "url": "https://api.github.com/repos/WyriHaximus/php-test-utilities/zipball/3d414d4b569e23d4bff68f72d75e9af8914e0cc6", + "reference": "3d414d4b569e23d4bff68f72d75e9af8914e0cc6", "shasum": "" }, "require": { - "composer/composer": "^1.10.21", - "ergebnis/composer-normalize": "^2.13.3", + "composer/composer": "^1.10.22", + "ergebnis/composer-normalize": "^2.15.0", "icanhazstring/composer-unused": "^0.7.5", "infection/infection": "^0.20.2", "jakobbuis/simple-slow-test-reporter": "^1.0", - "maglnet/composer-require-checker": "^3.2.0", - "nunomaduro/collision": "^5.3.0", + "maglnet/composer-require-checker": "^3.3.0", + "nunomaduro/collision": "^5.6.0", "php": "^8 || ^7.4", "php-coveralls/php-coveralls": "^2.4.3", "php-parallel-lint/php-console-highlighter": "^0.5", - "php-parallel-lint/php-parallel-lint": "^1.2.0", + "php-parallel-lint/php-parallel-lint": "^1.3.0", "phpspec/prophecy": "^1.13", "phpspec/prophecy-phpunit": "^2.0.1", - "phpstan/phpstan": "^0.12.83", - "phpunit/phpunit": "^9.5.4", - "psalm/plugin-phpunit": "^0.15.1", + "phpstan/phpstan": "^0.12.94", + "phpunit/phpunit": "^9.5.8", + "psalm/plugin-phpunit": "^0.16.1", "roave/backward-compatibility-check": "^5.0.0", "roave/infection-static-analysis-plugin": "^1.7.1", - "squizlabs/php_codesniffer": "^3.5.8", + "squizlabs/php_codesniffer": "^3.6.0", "thecodingmachine/safe": "^1.3.3", - "vimeo/psalm": "^4.7.0", - "wyrihaximus/coding-standard": "^2.3.0", - "wyrihaximus/phpstan-rules-wrapper": "^1.2.2" + "vimeo/psalm": "^4.9.2", + "wyrihaximus/coding-standard": "^2.4.1", + "wyrihaximus/phpstan-rules-wrapper": "^1.2.3" }, "conflict": { "beberlei/assert": ">= 3.3" @@ -8619,7 +8826,7 @@ "description": "🛠️ Test utilities for api-clients packages", "support": { "issues": "https://github.com/WyriHaximus/php-test-utilities/issues", - "source": "https://github.com/WyriHaximus/php-test-utilities/tree/3.7.0" + "source": "https://github.com/WyriHaximus/php-test-utilities/tree/3.7.1" }, "funding": [ { @@ -8627,7 +8834,7 @@ "type": "github" } ], - "time": "2021-04-05T19:59:58+00:00" + "time": "2021-08-02T03:23:54+00:00" } ], "aliases": [], @@ -8642,5 +8849,5 @@ "platform-overrides": { "php": "7.4.7" }, - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.1.0" } diff --git a/example.php b/example.php index 2aae013..f06ff1a 100644 --- a/example.php +++ b/example.php @@ -1,19 +1,17 @@ run(); +Loop::get()->run(); diff --git a/infection.json.dist b/infection.json.dist index 4c8072c..37b7f17 100644 --- a/infection.json.dist +++ b/infection.json.dist @@ -23,7 +23,10 @@ "Multiplication": false, "GreaterThan": false, "InstanceOf_": false, - "Minus": false + "Minus": false, + "PublicVisibility": false, + "FunctionCallRemoval": false, + "Identical": false }, "phpUnit": { "configDir": "./etc/qa/" diff --git a/src/Cron.php b/src/Cron.php index 0319c8f..6151c96 100644 --- a/src/Cron.php +++ b/src/Cron.php @@ -4,7 +4,6 @@ namespace WyriHaximus\React; -use React\EventLoop\LoopInterface; use React\Promise\PromiseInterface; use WyriHaximus\React\Cron\ActionInterface; use WyriHaximus\React\Cron\Scheduler; @@ -21,9 +20,9 @@ final class Cron private MutexInterface $mutex; - private function __construct(LoopInterface $loop, MutexInterface $mutex, ActionInterface ...$actions) + private function __construct(MutexInterface $mutex, ActionInterface ...$actions) { - $this->scheduler = new Scheduler($loop); + $this->scheduler = new Scheduler(); $this->actions = $actions; $this->mutex = $mutex; @@ -32,14 +31,14 @@ private function __construct(LoopInterface $loop, MutexInterface $mutex, ActionI }); } - public static function create(LoopInterface $loop, ActionInterface ...$actions): self + public static function create(ActionInterface ...$actions): self { - return new self($loop, new Memory(), ...$actions); + return self::createWithMutex(new Memory(), ...$actions); } - public static function createWithMutex(LoopInterface $loop, MutexInterface $mutex, ActionInterface ...$actions): self + public static function createWithMutex(MutexInterface $mutex, ActionInterface ...$actions): self { - return new self($loop, $mutex, ...$actions); + return new self($mutex, ...$actions); } public function stop(): void diff --git a/src/Cron/Scheduler.php b/src/Cron/Scheduler.php index e657ced..08f1c43 100644 --- a/src/Cron/Scheduler.php +++ b/src/Cron/Scheduler.php @@ -4,7 +4,7 @@ namespace WyriHaximus\React\Cron; -use React\EventLoop\LoopInterface; +use React\EventLoop\Loop; use React\EventLoop\TimerInterface; use function microtime; @@ -23,18 +23,14 @@ final class Scheduler private const ACTIVE = true; private const INACTIVE = false; - private LoopInterface $loop; - /** @var callable[] */ private array $ticks = []; private ?TimerInterface $timer = null; private bool $active = self::ACTIVE; - public function __construct(LoopInterface $loop) + public function __construct() { - $this->loop = $loop; - $this->align(); } @@ -79,14 +75,14 @@ private function tick(): void private function align(): void { if ($this->timer instanceof TimerInterface) { - $this->loop->cancelTimer($this->timer); + Loop::cancelTimer($this->timer); $this->timer = null; } $currentSecond = (int) date('s', (int) $this->time()); if ($currentSecond >= ONE && $currentSecond <= self::TIER_SLOW) { - $this->timer = $this->loop->addTimer(self::TIER_SLOW - $currentSecond, function (): void { + $this->timer = Loop::addTimer(self::TIER_SLOW - $currentSecond, function (): void { $this->timer = null; $this->align(); }); @@ -95,7 +91,7 @@ private function align(): void } if ($currentSecond > self::TIER_SLOW && $currentSecond <= self::TIER_MEDIUM) { - $this->timer = $this->loop->addTimer(ONE, function (): void { + $this->timer = Loop::addTimer(ONE, function (): void { $this->timer = null; $this->align(); }); @@ -104,7 +100,7 @@ private function align(): void } if ($currentSecond === self::TIER_FAST) { - $this->timer = $this->loop->addTimer(0.001, function (): void { + $this->timer = Loop::addTimer(0.001, function (): void { $this->timer = null; $this->align(); }); @@ -114,7 +110,7 @@ private function align(): void $this->tick(); - $this->timer = $this->loop->addPeriodicTimer(self::MINUTE_SECONDS, function (): void { + $this->timer = Loop::addPeriodicTimer(self::MINUTE_SECONDS, function (): void { $this->tick(); }); } @@ -127,6 +123,6 @@ public function stop(): void return; } - $this->loop->cancelTimer($this->timer); + Loop::cancelTimer($this->timer); } } diff --git a/tests/CronFunctionalTest.php b/tests/CronFunctionalTest.php index 08d039b..2f9032a 100644 --- a/tests/CronFunctionalTest.php +++ b/tests/CronFunctionalTest.php @@ -4,16 +4,13 @@ namespace WyriHaximus\Tests\React\Cron; -use React\EventLoop\Factory; -use React\EventLoop\LoopInterface; +use React\EventLoop\Loop; use React\Promise\Deferred; use WyriHaximus\AsyncTestUtilities\AsyncTestCase; use WyriHaximus\React\Cron; use WyriHaximus\React\Cron\Action; use WyriHaximus\React\Mutex\Memory; -use function array_unshift; - final class CronFunctionalTest extends AsyncTestCase { /** @@ -23,13 +20,11 @@ public function provideFactoryMethods(): iterable { yield 'default' => [ 'create', - Factory::create(), [], ]; - yield 'default_mutex' => [ + yield 'default_with_memory_mutex' => [ 'createWithMutex', - Factory::create(), [ new Memory(), ], @@ -42,7 +37,7 @@ public function provideFactoryMethods(): iterable * @test * @dataProvider provideFactoryMethods */ - public function scheduling(string $factoryMethod, LoopInterface $loop, array $args): void + public function scheduling(string $factoryMethod, array $args): void { $ran = false; $ranTimes = 0; @@ -63,11 +58,10 @@ public function scheduling(string $factoryMethod, LoopInterface $loop, array $ar $deferred->resolve(); }); - array_unshift($args, $loop); $args[] = $action; /** @phpstan-ignore-next-line */ $cron = Cron::$factoryMethod(...$args); - $this->await($deferred->promise(), $loop, 150); + $this->await($deferred->promise(), 150); self::assertTrue($ran); self::assertSame(2, $ranTimes); @@ -79,14 +73,14 @@ public function scheduling(string $factoryMethod, LoopInterface $loop, array $ar * @test * @dataProvider provideFactoryMethods */ - public function mutexLockOnlyAllowsTheSameActionOnce(string $factoryMethod, LoopInterface $loop, array $args): void + public function mutexLockOnlyAllowsTheSameActionOnce(string $factoryMethod, array $args): void { $ran = false; $ranTimes = 0; $cron = null; $deferred = new Deferred(); - $action = new Action('name', 0.1, '* * * * *', static function () use (&$ran, &$ranTimes, &$cron, $loop, $deferred): void { - $loop->futureTick(static function () use (&$ran, &$ranTimes, &$cron, $deferred): void { + $action = new Action('name', 0.1, '* * * * *', static function () use (&$ran, &$ranTimes, &$cron, $deferred): void { + Loop::futureTick(static function () use (&$ran, &$ranTimes, &$cron, $deferred): void { $ran = true; $ranTimes++; @@ -102,12 +96,11 @@ public function mutexLockOnlyAllowsTheSameActionOnce(string $factoryMethod, Loop }); }); - array_unshift($args, $loop); $args[] = $action; $args[] = $action; /** @phpstan-ignore-next-line */ $cron = Cron::$factoryMethod(...$args); - $this->await($deferred->promise(), $loop, 150); + $this->await($deferred->promise(), 150); self::assertTrue($ran); self::assertSame(2, $ranTimes);