diff --git a/composer.json b/composer.json index 46e2141..40e8346 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ "require-dev": { "monolog/monolog": "^2.1", "psr/log": "^1.1", - "wyrihaximus/async-test-utilities": "^3.3.1", + "wyrihaximus/async-test-utilities": "^3.4.19", "yuloh/container": "^1.0" }, "config": { diff --git a/composer.lock b/composer.lock index 4b67f50..6a60483 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": "f1e70cfe7d4628afb17887cc8ac4f482", + "content-hash": "e49816a06a74e43f58fb196f6bd5e156", "packages": [ { "name": "api-clients/rx", @@ -56,16 +56,16 @@ }, { "name": "doctrine/annotations", - "version": "1.11.1", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad" + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/ce77a7ba1770462cd705a91a151b6c3746f9c6ad", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/b17c5014ef81d212ac539f07a1001832df1b6d3b", + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b", "shasum": "" }, "require": { @@ -80,11 +80,6 @@ "phpunit/phpunit": "^7.5 || ^9.1.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.11.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" @@ -125,9 +120,78 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.11.1" + "source": "https://github.com/doctrine/annotations/tree/1.12.1" }, - "time": "2020-10-26T10:28:16+00:00" + "time": "2021-02-21T21:00:45+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" }, { "name": "doctrine/lexer", @@ -209,6 +273,53 @@ ], "time": "2020-05-25T17:44:05+00:00" }, + { + "name": "evenement/evenement", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/igorw/evenement.git", + "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7", + "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Evenement": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], + "support": { + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/master" + }, + "time": "2017-07-23T21:35:13+00:00" + }, { "name": "igorw/get-in", "version": "v1.0.3", @@ -260,16 +371,16 @@ }, { "name": "illuminate/collections", - "version": "v8.20.1", + "version": "v8.33.1", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "4647141880c193a0edaa91754004d8bc7471e56b" + "reference": "d7cc717a00064b40fa63a8ad522042005e1de1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/4647141880c193a0edaa91754004d8bc7471e56b", - "reference": "4647141880c193a0edaa91754004d8bc7471e56b", + "url": "https://api.github.com/repos/illuminate/collections/zipball/d7cc717a00064b40fa63a8ad522042005e1de1ed", + "reference": "d7cc717a00064b40fa63a8ad522042005e1de1ed", "shasum": "" }, "require": { @@ -310,20 +421,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-12-08T17:15:16+00:00" + "time": "2021-03-08T17:22:22+00:00" }, { "name": "illuminate/contracts", - "version": "v8.20.1", + "version": "v8.33.1", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "073109b521aec104f11c5cf5aded97aa0e63f313" + "reference": "121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/073109b521aec104f11c5cf5aded97aa0e63f313", - "reference": "073109b521aec104f11c5cf5aded97aa0e63f313", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b", + "reference": "121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b", "shasum": "" }, "require": { @@ -358,11 +469,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-12-18T14:24:20+00:00" + "time": "2021-03-12T14:45:30+00:00" }, { "name": "illuminate/macroable", - "version": "v8.20.1", + "version": "v8.33.1", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -524,28 +635,76 @@ "time": "2020-12-20T10:01:03+00:00" }, { - "name": "psr/container", - "version": "1.0.0", + "name": "phpstan/phpdoc-parser", + "version": "0.4.9", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/98a088b17966bdf6ee25c8a4b634df313d8aa531", + "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "consistence/coding-standard": "^3.5", + "ergebnis/composer-normalize": "^2.0.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "phing/phing": "^2.16.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.26", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^6.3", + "slevomat/coding-standard": "^4.7.2", + "symfony/process": "^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "0.4-dev" } }, + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/master" + }, + "time": "2020-08-03T20:32:43+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -558,7 +717,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -572,9 +731,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/container/tree/1.1.1" }, - "time": "2017-02-14T16:28:37+00:00" + "time": "2021-03-05T17:36:06+00:00" }, { "name": "psr/log", @@ -846,16 +1005,16 @@ }, { "name": "react-parallel/limited-pool", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/reactphp-parallel/limited-pool.git", - "reference": "01001816a73dc754504cac380f0def65faaedd13" + "reference": "552ab9f79aa5f6338bbdfe3b14b8fab9c221b34b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp-parallel/limited-pool/zipball/01001816a73dc754504cac380f0def65faaedd13", - "reference": "01001816a73dc754504cac380f0def65faaedd13", + "url": "https://api.github.com/repos/reactphp-parallel/limited-pool/zipball/552ab9f79aa5f6338bbdfe3b14b8fab9c221b34b", + "reference": "552ab9f79aa5f6338bbdfe3b14b8fab9c221b34b", "shasum": "" }, "require": { @@ -868,13 +1027,13 @@ "react/event-loop": "^1.1", "react/promise": "^2.7", "wyrihaximus/pool-info": "^1.0", - "wyrihaximus/ticking-promise": "^1.6" + "wyrihaximus/ticking-promise": "^1.6 || ^2.0" }, "require-dev": { "moneyphp/money": "^3.2 || ^3.2.1", "ocramius/package-versions": "^1.4", - "react-parallel/pool-tests": "^2.0", - "wyrihaximus/async-test-utilities": "^2.2", + "react-parallel/pool-tests": "^3.0", + "wyrihaximus/async-test-utilities": "^3.3", "wyrihaximus/iterator-or-array-to-array": "^1.1" }, "type": "library", @@ -897,7 +1056,7 @@ "description": "🏔️ Limited pool for ext-parallel", "support": { "issues": "https://github.com/reactphp-parallel/limited-pool/issues", - "source": "https://github.com/reactphp-parallel/limited-pool/tree/master" + "source": "https://github.com/reactphp-parallel/limited-pool/tree/1.0.1" }, "funding": [ { @@ -905,7 +1064,7 @@ "type": "github" } ], - "time": "2020-08-05T19:03:21+00:00" + "time": "2021-01-10T10:50:17+00:00" }, { "name": "react-parallel/object-proxy", @@ -913,41 +1072,48 @@ "source": { "type": "git", "url": "https://github.com/reactphp-parallel/object-proxy.git", - "reference": "f0bf9b64ce93ddd80475f4e89005433fb6a035da" + "reference": "0ea067128403a9c1d32dcb20dc1afa44e3d0d1a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp-parallel/object-proxy/zipball/f0bf9b64ce93ddd80475f4e89005433fb6a035da", - "reference": "f0bf9b64ce93ddd80475f4e89005433fb6a035da", + "url": "https://api.github.com/repos/reactphp-parallel/object-proxy/zipball/0ea067128403a9c1d32dcb20dc1afa44e3d0d1a9", + "reference": "0ea067128403a9c1d32dcb20dc1afa44e3d0d1a9", "shasum": "" }, "require": { "api-clients/rx": "^2.2", "composer-plugin-api": "^2", "doctrine/annotations": "^1.11", + "evenement/evenement": "^3.0", "ext-parallel": "*", "igorw/get-in": "^1.0", "illuminate/collections": "^8.18", "nikic/php-parser": "^4.9", "php": "^7.4", + "phpstan/phpdoc-parser": "^0.4.9", "psr/container": "^1.0", "psr/log": "^1.1", "react-parallel/event-loop": "^1.1", "react-parallel/object-proxy-attributes": "^1", "react-parallel/react-parallel": "^1.1", "react-parallel/streams": "^1.0", + "react/cache": "^1.1.1", "react/event-loop": "^1.1", + "react/promise": "^2.8", + "reactivex/rxphp": "^2.0", "rx/operator-extras": "^2.1", "wyrihaximus/constants": "^1.6", "wyrihaximus/iterator-or-array-to-array": "^1.1", + "wyrihaximus/json-throwable": "^4.1", "wyrihaximus/metrics": "^1.0.2", "wyrihaximus/metrics-lazy-registry": "^1.0", + "wyrihaximus/react-mutex-contracts": "^1.0", "wyrihaximus/string-get-in": "^1.0" }, "require-dev": { - "monolog/monolog": "^2.1", + "monolog/monolog": "^2.2", "thecodingmachine/safe": "^1.3", - "wyrihaximus/async-test-utilities": "^3.3.1", + "wyrihaximus/async-test-utilities": "^3.4.13", "yuloh/container": "^1.0" }, "default-branch": true, @@ -959,6 +1125,7 @@ "interfaces-to-proxy": [ "Psr\\Container\\ContainerInterface", "Psr\\Log\\LoggerInterface", + "React\\Cache\\CacheInterface", "WyriHaximus\\Metrics\\Registry", "WyriHaximus\\Metrics\\Registry\\Counters", "WyriHaximus\\Metrics\\Registry\\Gauges", @@ -967,10 +1134,18 @@ "WyriHaximus\\Metrics\\Counter", "WyriHaximus\\Metrics\\Gauge", "WyriHaximus\\Metrics\\Histogram", - "WyriHaximus\\Metrics\\Summary" + "WyriHaximus\\Metrics\\Summary", + "WyriHaximus\\React\\Mutex\\Contracts\\MutexInterface" + ], + "no-promises-interfaces": [ + "React\\Cache\\CacheInterface", + "WyriHaximus\\React\\Mutex\\Contracts\\MutexInterface" ] } - } + }, + "unused": [ + "wyrihaximus/react-mutex-contracts" + ] }, "autoload": { "psr-4": { @@ -999,7 +1174,7 @@ "type": "github" } ], - "time": "2020-12-25T18:11:47+00:00" + "time": "2021-03-21T00:22:54+00:00" }, { "name": "react-parallel/object-proxy-attributes", @@ -1241,6 +1416,82 @@ ], "time": "2020-08-08T18:36:40+00:00" }, + { + "name": "react/cache", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/cache.git", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "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": "Async, Promise-based cache interface for ReactPHP", + "keywords": [ + "cache", + "caching", + "promise", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-02-02T06:47:52+00:00" + }, { "name": "react/event-loop", "version": "v1.1.1", @@ -1339,16 +1590,16 @@ }, { "name": "reactivex/rxphp", - "version": "2.0.8", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/ReactiveX/RxPHP.git", - "reference": "851913a522b4955bd783d2193d7af6bda422e25d" + "reference": "3eedf2640b85dfaf4718529e3932756cd8c2addf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ReactiveX/RxPHP/zipball/851913a522b4955bd783d2193d7af6bda422e25d", - "reference": "851913a522b4955bd783d2193d7af6bda422e25d", + "url": "https://api.github.com/repos/ReactiveX/RxPHP/zipball/3eedf2640b85dfaf4718529e3932756cd8c2addf", + "reference": "3eedf2640b85dfaf4718529e3932756cd8c2addf", "shasum": "" }, "require": { @@ -1401,9 +1652,9 @@ ], "support": { "issues": "https://github.com/ReactiveX/RxPHP/issues", - "source": "https://github.com/ReactiveX/RxPHP/tree/2.0.8" + "source": "https://github.com/ReactiveX/RxPHP/tree/2.0.9" }, - "time": "2020-12-13T02:20:25+00:00" + "time": "2021-03-05T14:44:06+00:00" }, { "name": "rx/operator-extras", @@ -1693,6 +1944,114 @@ }, "time": "2018-12-29T20:17:57+00:00" }, + { + "name": "wyrihaximus/json-throwable", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/WyriHaximus/php-json-throwable.git", + "reference": "d01d59a101d4d2639ec3be770646a7e6b168fafb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WyriHaximus/php-json-throwable/zipball/d01d59a101d4d2639ec3be770646a7e6b168fafb", + "reference": "d01d59a101d4d2639ec3be770646a7e6b168fafb", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.5", + "php": "^8 || ^7.4", + "thecodingmachine/safe": "^1.1", + "wyrihaximus/json-utilities": "^1.2" + }, + "require-dev": { + "wyrihaximus/test-utilities": "^3.3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "WyriHaximus\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com" + } + ], + "description": "📠 JSON encode and decode throwables and exceptions", + "support": { + "issues": "https://github.com/WyriHaximus/php-json-throwable/issues", + "source": "https://github.com/WyriHaximus/php-json-throwable/tree/4.1.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + } + ], + "time": "2020-11-25T13:14:10+00:00" + }, + { + "name": "wyrihaximus/json-utilities", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/WyriHaximus/php-json-utilities.git", + "reference": "dce46df18c70ab7e206fe7bda4f4c59506f17be6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WyriHaximus/php-json-utilities/zipball/dce46df18c70ab7e206fe7bda4f4c59506f17be6", + "reference": "dce46df18c70ab7e206fe7bda4f4c59506f17be6", + "shasum": "" + }, + "require": { + "php": "^8 || ^7.4", + "thecodingmachine/safe": "^1.1" + }, + "require-dev": { + "wyrihaximus/test-utilities": "^3.3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "WyriHaximus\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com" + } + ], + "description": "Utilities for php-json-* packages", + "support": { + "issues": "https://github.com/WyriHaximus/php-json-utilities/issues", + "source": "https://github.com/WyriHaximus/php-json-utilities/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + } + ], + "time": "2020-11-25T11:27:40+00:00" + }, { "name": "wyrihaximus/metrics", "version": "1.0.2", @@ -1842,6 +2201,50 @@ }, "time": "2019-09-27T06:28:08+00:00" }, + { + "name": "wyrihaximus/react-mutex-contracts", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/WyriHaximus/reactphp-mutex-contracts.git", + "reference": "c2f97f027f2ffa114ca20ecbaa2aaadefdf8b84c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WyriHaximus/reactphp-mutex-contracts/zipball/c2f97f027f2ffa114ca20ecbaa2aaadefdf8b84c", + "reference": "c2f97f027f2ffa114ca20ecbaa2aaadefdf8b84c", + "shasum": "" + }, + "require": { + "php": "^7.4", + "react/promise": "^2.8" + }, + "require-dev": { + "wyrihaximus/async-test-utilities": "^3.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "WyriHaximus\\React\\Mutex\\Contracts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Mutex locking contracts for ReactPHP projects", + "support": { + "issues": "https://github.com/WyriHaximus/reactphp-mutex-contracts/issues", + "source": "https://github.com/WyriHaximus/reactphp-mutex-contracts/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + } + ], + "time": "2021-01-21T19:16:05+00:00" + }, { "name": "wyrihaximus/string-get-in", "version": "1.0.0", @@ -1888,27 +2291,25 @@ }, { "name": "wyrihaximus/ticking-promise", - "version": "1.6.3", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/WyriHaximus/TickingPromise.git", - "reference": "4bb99024402bb7526de8880f3dab0c1f0858def5" + "reference": "d3903d4bebe8e3c5b11464c0bb81802cdeeb3751" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/TickingPromise/zipball/4bb99024402bb7526de8880f3dab0c1f0858def5", - "reference": "4bb99024402bb7526de8880f3dab0c1f0858def5", + "url": "https://api.github.com/repos/WyriHaximus/TickingPromise/zipball/d3903d4bebe8e3c5b11464c0bb81802cdeeb3751", + "reference": "d3903d4bebe8e3c5b11464c0bb81802cdeeb3751", "shasum": "" }, "require": { - "php": "^7.0 || ^5.4", - "react/event-loop": "^1.0 || ^0.5 || ^0.4", - "react/promise": "~2.1" + "php": "^8 || ^7.4", + "react/event-loop": "^1.0", + "react/promise": "^2.8" }, "require-dev": { - "phpunit/phpunit": "~4.4", - "squizlabs/php_codesniffer": "^1.5.6", - "vectorface/dunit": "~1.4" + "wyrihaximus/async-test-utilities": "^3" }, "type": "library", "autoload": { @@ -1933,9 +2334,15 @@ "description": "Wrapping ticks into a promise", "support": { "issues": "https://github.com/WyriHaximus/TickingPromise/issues", - "source": "https://github.com/WyriHaximus/TickingPromise/tree/master" + "source": "https://github.com/WyriHaximus/TickingPromise/tree/2.1.0" }, - "time": "2018-04-05T12:36:50+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + } + ], + "time": "2020-11-25T12:43:21+00:00" } ], "packages-dev": [ @@ -2865,92 +3272,23 @@ }, "time": "2020-10-25T14:56:19+00:00" }, - { - "name": "doctrine/instantiator", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^8.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2020-11-10T18:47:58+00:00" - }, { "name": "ergebnis/composer-normalize", - "version": "2.13.2", + "version": "2.13.3", "source": { "type": "git", "url": "https://github.com/ergebnis/composer-normalize.git", - "reference": "1255dbc6acb55cb439ce871513b3877a43473a59" + "reference": "eff003890c655ee0e4b6ac5d4c5b40ce61247f7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/1255dbc6acb55cb439ce871513b3877a43473a59", - "reference": "1255dbc6acb55cb439ce871513b3877a43473a59", + "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/eff003890c655ee0e4b6ac5d4c5b40ce61247f7c", + "reference": "eff003890c655ee0e4b6ac5d4c5b40ce61247f7c", "shasum": "" }, "require": { "composer-plugin-api": "^1.1.0 || ^2.0.0", - "ergebnis/json-normalizer": "^1.0.2", + "ergebnis/json-normalizer": "^1.0.3", "ergebnis/json-printer": "^3.1.1", "justinrainbow/json-schema": "^5.2.10", "localheinz/diff": "^1.1.1", @@ -2959,18 +3297,18 @@ "require-dev": { "composer/composer": "^1.10.19 || ^2.0.8", "ergebnis/license": "^1.1.0", - "ergebnis/php-cs-fixer-config": "^2.10.0", + "ergebnis/php-cs-fixer-config": "^2.13.0", "ergebnis/phpstan-rules": "~0.15.3", "ergebnis/test-util": "^1.4.0", "phpstan/extension-installer": "^1.1.0", - "phpstan/phpstan": "~0.12.64", + "phpstan/phpstan": "~0.12.80", "phpstan/phpstan-deprecation-rules": "~0.12.6", - "phpstan/phpstan-phpunit": "~0.12.17", - "phpstan/phpstan-strict-rules": "~0.12.7", - "phpunit/phpunit": "^8.5.13", - "psalm/plugin-phpunit": "~0.12.2", - "symfony/filesystem": "^5.1.8", - "vimeo/psalm": "^3.18.2" + "phpstan/phpstan-phpunit": "~0.12.18", + "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" }, "type": "composer-plugin", "extra": { @@ -3013,20 +3351,20 @@ "type": "github" } ], - "time": "2020-12-31T09:51:22+00:00" + "time": "2021-03-06T14:00:23+00:00" }, { "name": "ergebnis/json-normalizer", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/ergebnis/json-normalizer.git", - "reference": "6da58f6b555959c07724181744664e732555d0be" + "reference": "4a7f064ce34d5a2e382564565cdd433dbc5b9494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/6da58f6b555959c07724181744664e732555d0be", - "reference": "6da58f6b555959c07724181744664e732555d0be", + "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/4a7f064ce34d5a2e382564565cdd433dbc5b9494", + "reference": "4a7f064ce34d5a2e382564565cdd433dbc5b9494", "shasum": "" }, "require": { @@ -3043,11 +3381,11 @@ "infection/infection": "~0.15.3", "jangregor/phpstan-prophecy": "~0.8.1", "phpstan/extension-installer": "^1.1.0", - "phpstan/phpstan": "~0.12.60", + "phpstan/phpstan": "~0.12.80", "phpstan/phpstan-deprecation-rules": "~0.12.6", "phpstan/phpstan-phpunit": "~0.12.17", - "phpstan/phpstan-strict-rules": "~0.12.7", - "phpunit/phpunit": "^8.5.13", + "phpstan/phpstan-strict-rules": "~0.12.9", + "phpunit/phpunit": "^8.5.14", "psalm/plugin-phpunit": "~0.12.2", "vimeo/psalm": "^3.18" }, @@ -3083,7 +3421,7 @@ "type": "github" } ], - "time": "2020-12-31T09:27:51+00:00" + "time": "2021-03-06T13:33:57+00:00" }, { "name": "ergebnis/json-printer", @@ -3343,16 +3681,16 @@ }, { "name": "felixfbecker/language-server-protocol", - "version": "v1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "85e83cacd2ed573238678c6875f8f0d7ec699541" + "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/85e83cacd2ed573238678c6875f8f0d7ec699541", - "reference": "85e83cacd2ed573238678c6875f8f0d7ec699541", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/9d846d1f5cf101deee7a61c8ba7caa0a975cd730", + "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730", "shasum": "" }, "require": { @@ -3393,22 +3731,22 @@ ], "support": { "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.0" + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1" }, - "time": "2020-10-23T13:55:30+00:00" + "time": "2021-02-22T14:02:09+00:00" }, { "name": "filp/whoops", - "version": "2.9.2", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "df7933820090489623ce0be5e85c7e693638e536" + "reference": "f6e14679f948d8a5cfb866fa7065a30c66bd64d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/df7933820090489623ce0be5e85c7e693638e536", - "reference": "df7933820090489623ce0be5e85c7e693638e536", + "url": "https://api.github.com/repos/filp/whoops/zipball/f6e14679f948d8a5cfb866fa7065a30c66bd64d3", + "reference": "f6e14679f948d8a5cfb866fa7065a30c66bd64d3", "shasum": "" }, "require": { @@ -3458,7 +3796,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.9.2" + "source": "https://github.com/filp/whoops/tree/2.11.0" }, "funding": [ { @@ -3466,7 +3804,7 @@ "type": "github" } ], - "time": "2021-01-24T12:00:00+00:00" + "time": "2021-03-19T12:00:00+00:00" }, { "name": "guzzlehttp/guzzle", @@ -3572,16 +3910,16 @@ }, { "name": "guzzlehttp/promises", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "60d379c243457e073cff02bc323a2a86cb355631" + "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631", - "reference": "60d379c243457e073cff02bc323a2a86cb355631", + "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", "shasum": "" }, "require": { @@ -3621,9 +3959,9 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.0" + "source": "https://github.com/guzzle/promises/tree/1.4.1" }, - "time": "2020-09-30T07:37:28+00:00" + "time": "2021-03-07T09:25:29+00:00" }, { "name": "guzzlehttp/psr7", @@ -4315,16 +4653,16 @@ }, { "name": "maglnet/composer-require-checker", - "version": "3.1.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/maglnet/ComposerRequireChecker.git", - "reference": "b3cd6d30e2335997c5eabb19e3f01d699bc06caa" + "reference": "cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/b3cd6d30e2335997c5eabb19e3f01d699bc06caa", - "reference": "b3cd6d30e2335997c5eabb19e3f01d699bc06caa", + "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7", + "reference": "cd6c6b91ee3c065e60a35ca1a67becb0ae86dbb7", "shasum": "" }, "require": { @@ -4388,9 +4726,9 @@ ], "support": { "issues": "https://github.com/maglnet/ComposerRequireChecker/issues", - "source": "https://github.com/maglnet/ComposerRequireChecker/tree/3.1.0" + "source": "https://github.com/maglnet/ComposerRequireChecker/tree/3.2.0" }, - "time": "2021-01-18T21:38:15+00:00" + "time": "2021-03-11T11:57:20+00:00" }, { "name": "monolog/monolog", @@ -4991,16 +5329,16 @@ }, { "name": "phar-io/version", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" + "reference": "bae7c545bef187884426f042434e561ab1ddb182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", "shasum": "" }, "require": { @@ -5036,9 +5374,9 @@ "description": "Library for handling version information and constraints", "support": { "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.0.4" + "source": "https://github.com/phar-io/version/tree/3.1.0" }, - "time": "2020-12-13T23:18:30+00:00" + "time": "2021-02-23T14:00:09+00:00" }, { "name": "php-coveralls/php-coveralls", @@ -5442,16 +5780,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.12.2", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "245710e971a030f42e08f4912863805570f23d39" + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", - "reference": "245710e971a030f42e08f4912863805570f23d39", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", "shasum": "" }, "require": { @@ -5503,9 +5841,9 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + "source": "https://github.com/phpspec/prophecy/tree/1.13.0" }, - "time": "2020-12-19T10:15:11+00:00" + "time": "2021-03-17T13:42:18+00:00" }, { "name": "phpspec/prophecy-phpunit", @@ -5559,71 +5897,18 @@ }, "time": "2020-07-09T08:33:42+00:00" }, - { - "name": "phpstan/phpdoc-parser", - "version": "0.4.9", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/98a088b17966bdf6ee25c8a4b634df313d8aa531", - "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "consistence/coding-standard": "^3.5", - "ergebnis/composer-normalize": "^2.0.2", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "phing/phing": "^2.16.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.26", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^6.3", - "slevomat/coding-standard": "^4.7.2", - "symfony/process": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4-dev" - } - }, - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/master" - }, - "time": "2020-08-03T20:32:43+00:00" - }, { "name": "phpstan/phpstan", - "version": "0.12.77", + "version": "0.12.82", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "1f10b8c8d118d01e7b492f9707999d456be5812c" + "reference": "3920f0fb0aff39263d3a4cb0bca120a67a1a6a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1f10b8c8d118d01e7b492f9707999d456be5812c", - "reference": "1f10b8c8d118d01e7b492f9707999d456be5812c", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3920f0fb0aff39263d3a4cb0bca120a67a1a6a11", + "reference": "3920f0fb0aff39263d3a4cb0bca120a67a1a6a11", "shasum": "" }, "require": { @@ -5654,7 +5939,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.77" + "source": "https://github.com/phpstan/phpstan/tree/0.12.82" }, "funding": [ { @@ -5670,7 +5955,7 @@ "type": "tidelift" } ], - "time": "2021-02-17T16:22:19+00:00" + "time": "2021-03-19T06:08:17+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -5777,16 +6062,16 @@ }, { "name": "phpstan/phpstan-phpunit", - "version": "0.12.17", + "version": "0.12.18", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "432575b41cf2d4f44e460234acaf56119ed97d36" + "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/432575b41cf2d4f44e460234acaf56119ed97d36", - "reference": "432575b41cf2d4f44e460234acaf56119ed97d36", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", + "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", "shasum": "" }, "require": { @@ -5826,9 +6111,9 @@ "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.17" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.18" }, - "time": "2020-12-13T12:12:51+00:00" + "time": "2021-03-06T11:51:27+00:00" }, { "name": "phpstan/phpstan-strict-rules", @@ -6201,16 +6486,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.2", + "version": "9.5.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" + "reference": "27241ac75fc37ecf862b6e002bf713b6566cbe41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/27241ac75fc37ecf862b6e002bf713b6566cbe41", + "reference": "27241ac75fc37ecf862b6e002bf713b6566cbe41", "shasum": "" }, "require": { @@ -6288,7 +6573,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.3" }, "funding": [ { @@ -6300,7 +6585,7 @@ "type": "github" } ], - "time": "2021-02-02T14:45:58+00:00" + "time": "2021-03-17T07:30:34+00:00" }, { "name": "psalm/plugin-phpunit", @@ -6712,16 +6997,16 @@ }, { "name": "roave/infection-static-analysis-plugin", - "version": "1.7.0", + "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/Roave/infection-static-analysis-plugin.git", - "reference": "d8e1351f995f6d1e6251ec526110e3382dd04ab5" + "reference": "36d171236fa44b485538c88f56fd1f536b903036" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/d8e1351f995f6d1e6251ec526110e3382dd04ab5", - "reference": "d8e1351f995f6d1e6251ec526110e3382dd04ab5", + "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/36d171236fa44b485538c88f56fd1f536b903036", + "reference": "36d171236fa44b485538c88f56fd1f536b903036", "shasum": "" }, "require": { @@ -6756,9 +7041,9 @@ "description": "Static analysis on top of mutation testing - prevents escaped mutants from being invalid according to static analysis", "support": { "issues": "https://github.com/Roave/infection-static-analysis-plugin/issues", - "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.7.0" + "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.7.1" }, - "time": "2021-01-04T10:34:30+00:00" + "time": "2021-03-04T16:33:09+00:00" }, { "name": "roave/signature", @@ -8059,16 +8344,16 @@ }, { "name": "symfony/config", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab" + "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", - "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", "shasum": "" }, "require": { @@ -8117,7 +8402,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.3" + "source": "https://github.com/symfony/config/tree/v5.2.4" }, "funding": [ { @@ -8133,20 +8418,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-02-23T23:58:19+00:00" }, { "name": "symfony/console", - "version": "v5.2.3", + "version": "v5.2.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a" + "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a", - "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "url": "https://api.github.com/repos/symfony/console/zipball/938ebbadae1b0a9c9d1ec313f87f9708609f1b79", + "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79", "shasum": "" }, "require": { @@ -8214,7 +8499,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.3" + "source": "https://github.com/symfony/console/tree/v5.2.5" }, "funding": [ { @@ -8230,7 +8515,7 @@ "type": "tidelift" } ], - "time": "2021-01-28T22:06:19+00:00" + "time": "2021-03-06T13:42:15+00:00" }, { "name": "symfony/deprecation-contracts", @@ -8301,16 +8586,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "262d033b57c73e8b59cd6e68a45c528318b15038" + "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/262d033b57c73e8b59cd6e68a45c528318b15038", - "reference": "262d033b57c73e8b59cd6e68a45c528318b15038", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/710d364200997a5afde34d9fe57bd52f3cc1e108", + "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108", "shasum": "" }, "require": { @@ -8343,7 +8628,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.3" + "source": "https://github.com/symfony/filesystem/tree/v5.2.4" }, "funding": [ { @@ -8359,20 +8644,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-02-12T10:38:38+00:00" }, { "name": "symfony/finder", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "4adc8d172d602008c204c2e16956f99257248e03" + "reference": "0d639a0943822626290d169965804f79400e6a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/4adc8d172d602008c204c2e16956f99257248e03", - "reference": "4adc8d172d602008c204c2e16956f99257248e03", + "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", + "reference": "0d639a0943822626290d169965804f79400e6a04", "shasum": "" }, "require": { @@ -8404,7 +8689,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.3" + "source": "https://github.com/symfony/finder/tree/v5.2.4" }, "funding": [ { @@ -8420,7 +8705,7 @@ "type": "tidelift" } ], - "time": "2021-01-28T22:06:19+00:00" + "time": "2021-02-15T18:55:04+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8910,7 +9195,7 @@ }, { "name": "symfony/process", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", @@ -8952,7 +9237,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.3" + "source": "https://github.com/symfony/process/tree/v5.2.4" }, "funding": [ { @@ -9051,7 +9336,7 @@ }, { "name": "symfony/stopwatch", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -9093,7 +9378,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.2.3" + "source": "https://github.com/symfony/stopwatch/tree/v5.2.4" }, "funding": [ { @@ -9113,16 +9398,16 @@ }, { "name": "symfony/string", - "version": "v5.2.3", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "c95468897f408dd0aca2ff582074423dd0455122" + "reference": "4e78d7d47061fa183639927ec40d607973699609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122", - "reference": "c95468897f408dd0aca2ff582074423dd0455122", + "url": "https://api.github.com/repos/symfony/string/zipball/4e78d7d47061fa183639927ec40d607973699609", + "reference": "4e78d7d47061fa183639927ec40d607973699609", "shasum": "" }, "require": { @@ -9176,7 +9461,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.3" + "source": "https://github.com/symfony/string/tree/v5.2.4" }, "funding": [ { @@ -9192,20 +9477,20 @@ "type": "tidelift" } ], - "time": "2021-01-25T15:14:59+00:00" + "time": "2021-02-16T10:20:28+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.3", + "version": "v5.2.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0" + "reference": "298a08ddda623485208506fcee08817807a251dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/338cddc6d74929f6adf19ca5682ac4b8e109cdb0", - "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", + "reference": "298a08ddda623485208506fcee08817807a251dd", "shasum": "" }, "require": { @@ -9251,7 +9536,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.3" + "source": "https://github.com/symfony/yaml/tree/v5.2.5" }, "funding": [ { @@ -9267,7 +9552,7 @@ "type": "tidelift" } ], - "time": "2021-02-03T04:42:09+00:00" + "time": "2021-03-06T07:59:01+00:00" }, { "name": "thecodingmachine/phpstan-safe-rule", @@ -9433,20 +9718,20 @@ }, { "name": "vimeo/psalm", - "version": "4.6.1", + "version": "4.6.4", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "e93e532e4eaad6d68c4d7b606853800eaceccc72" + "reference": "97fe86c4e158b5a57c5150aa5055c38b5a809aab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/e93e532e4eaad6d68c4d7b606853800eaceccc72", - "reference": "e93e532e4eaad6d68c4d7b606853800eaceccc72", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/97fe86c4e158b5a57c5150aa5055c38b5a809aab", + "reference": "97fe86c4e158b5a57c5150aa5055c38b5a809aab", "shasum": "" }, "require": { - "amphp/amp": "^2.1", + "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", "composer/package-versions-deprecated": "^1.8.0", "composer/semver": "^1.4 || ^2.0 || ^3.0", @@ -9459,7 +9744,7 @@ "ext-simplexml": "*", "ext-tokenizer": "*", "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.4", + "felixfbecker/language-server-protocol": "^1.5", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.10.1", "openlss/lib-array2xml": "^1.0", @@ -9472,7 +9757,6 @@ "psalm/psalm": "self.version" }, "require-dev": { - "amphp/amp": "^2.4.2", "bamarni/composer-bin-plugin": "^1.2", "brianium/paratest": "^4.0||^6.0", "ext-curl": "*", @@ -9532,36 +9816,41 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.6.1" + "source": "https://github.com/vimeo/psalm/tree/4.6.4" }, - "time": "2021-02-17T21:54:11+00:00" + "time": "2021-03-16T23:28:18+00:00" }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^7.2 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -9585,9 +9874,9 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" + "source": "https://github.com/webmozarts/assert/tree/1.10.0" }, - "time": "2020-07-08T17:02:28+00:00" + "time": "2021-03-09T10:59:23+00:00" }, { "name": "webmozart/glob", @@ -9691,16 +9980,16 @@ }, { "name": "wyrihaximus/async-test-utilities", - "version": "3.4.12", + "version": "3.4.19", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-async-test-utilities.git", - "reference": "b6db836e4c120bf1f1c96c210efc1d03bb665149" + "reference": "51b5156a390990d41becf79e44407e8a782aa299" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-async-test-utilities/zipball/b6db836e4c120bf1f1c96c210efc1d03bb665149", - "reference": "b6db836e4c120bf1f1c96c210efc1d03bb665149", + "url": "https://api.github.com/repos/WyriHaximus/php-async-test-utilities/zipball/51b5156a390990d41becf79e44407e8a782aa299", + "reference": "51b5156a390990d41becf79e44407e8a782aa299", "shasum": "" }, "require": { @@ -9709,7 +9998,7 @@ "phpunit/phpunit": "^9.5", "react/event-loop": "^1.1", "react/promise": "^2.8", - "wyrihaximus/test-utilities": "^3.5.11" + "wyrihaximus/test-utilities": "^3.6.3" }, "require-dev": { "wyrihaximus/iterator-or-array-to-array": "^1.1" @@ -9733,7 +10022,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.12" + "source": "https://github.com/WyriHaximus/php-async-test-utilities/tree/3.4.19" }, "funding": [ { @@ -9741,7 +10030,7 @@ "type": "github" } ], - "time": "2021-02-18T05:20:20+00:00" + "time": "2021-03-16T20:56:32+00:00" }, { "name": "wyrihaximus/coding-standard", @@ -9827,25 +10116,25 @@ }, { "name": "wyrihaximus/test-utilities", - "version": "3.5.11", + "version": "3.6.3", "source": { "type": "git", "url": "https://github.com/WyriHaximus/php-test-utilities.git", - "reference": "8a0d57550d2030b2d998f5746e0d23ca949bfed1" + "reference": "17f4dc56afbbc82a88f1f836c84d5e03d129ca22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/php-test-utilities/zipball/8a0d57550d2030b2d998f5746e0d23ca949bfed1", - "reference": "8a0d57550d2030b2d998f5746e0d23ca949bfed1", + "url": "https://api.github.com/repos/WyriHaximus/php-test-utilities/zipball/17f4dc56afbbc82a88f1f836c84d5e03d129ca22", + "reference": "17f4dc56afbbc82a88f1f836c84d5e03d129ca22", "shasum": "" }, "require": { "composer/composer": "^1.10.20", - "ergebnis/composer-normalize": "^2.13.2", + "ergebnis/composer-normalize": "^2.13.3", "icanhazstring/composer-unused": "^0.7.5", "infection/infection": "^0.20.1", "jakobbuis/simple-slow-test-reporter": "^1.0", - "maglnet/composer-require-checker": "^3.1.0", + "maglnet/composer-require-checker": "^3.2.0", "nunomaduro/collision": "^5.3.0", "php": "^8 || ^7.4", "php-coveralls/php-coveralls": "^2.4.3", @@ -9853,14 +10142,14 @@ "php-parallel-lint/php-parallel-lint": "^1.2.0", "phpspec/prophecy": "^1.12.2", "phpspec/prophecy-phpunit": "^2.0.1", - "phpstan/phpstan": "^0.12.77", + "phpstan/phpstan": "^0.12.81", "phpunit/phpunit": "^9.5.2", "psalm/plugin-phpunit": "^0.15.1", "roave/backward-compatibility-check": "^5.0.0", - "roave/infection-static-analysis-plugin": "^1.7.0", + "roave/infection-static-analysis-plugin": "^1.7.1", "squizlabs/php_codesniffer": "^3.5.8", "thecodingmachine/safe": "^1.3.3", - "vimeo/psalm": "^4.6.1", + "vimeo/psalm": "^4.6.3", "wyrihaximus/coding-standard": "^2.3.0", "wyrihaximus/phpstan-rules-wrapper": "^1.2.2" }, @@ -9909,7 +10198,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.5.11" + "source": "https://github.com/WyriHaximus/php-test-utilities/tree/3.6.3" }, "funding": [ { @@ -9917,7 +10206,7 @@ "type": "github" } ], - "time": "2021-02-18T03:15:36+00:00" + "time": "2021-03-16T20:32:55+00:00" }, { "name": "yuloh/container", diff --git a/examples/logger.php b/examples/logger.php index 0d28cda..5aaf333 100644 --- a/examples/logger.php +++ b/examples/logger.php @@ -7,7 +7,9 @@ use Psr\Log\LoggerInterface; use React\EventLoop\Factory; use ReactParallel\Factory as ParallelFactory; +use ReactParallel\ObjectProxy\Configuration; use ReactParallel\ObjectProxy\Proxy; +use ReactParallel\ObjectProxy\Proxy\DeferredCallHandler; use ReactParallel\Psr11ContainerProxy\ContainerProxy; use Yuloh\Container\Container; @@ -17,10 +19,13 @@ $parallelFactory = new ParallelFactory($loop); $container = new Container(); $container->set(LoggerInterface::class, static fn (): LoggerInterface => new Logger('main', [new StreamHandler(STDOUT)])); -$proxy = new ContainerProxy($container, new Proxy($parallelFactory)); +$container->set(DeferredCallHandler::class, static fn (): DeferredCallHandler => new DeferredCallHandler()); +$configuration = new Configuration($parallelFactory); +$proxy = new ContainerProxy($configuration->proxyList(), $container, new Proxy($configuration)); $parallelFactory->call(static function (ContainerProxy $proxy, int $time): int { $container = new Container(); $container->set('logger', static fn (): LoggerInterface => new Logger('child', [new StreamHandler(STDOUT)])); + $container->set(DeferredCallHandler::class, static fn (): DeferredCallHandler => new DeferredCallHandler()); $containerProxy = $proxy->create($container); $containerProxy->get('logger')->critical('Time: ' . $time); $containerProxy->get(LoggerInterface::class)->critical('Time: ' . $time); diff --git a/src/ContainerProxy.php b/src/ContainerProxy.php index 9ce924f..943677c 100644 --- a/src/ContainerProxy.php +++ b/src/ContainerProxy.php @@ -6,13 +6,16 @@ use Psr\Container\ContainerInterface; use ReactParallel\ObjectProxy\Proxy; +use ReactParallel\ObjectProxy\ProxyListInterface; final class ContainerProxy { + private ProxyListInterface $proxyList; private ContainerInterface $proxy; - public function __construct(ContainerInterface $container, Proxy $proxy) + public function __construct(ProxyListInterface $proxyList, ContainerInterface $container, Proxy $proxy) { + $this->proxyList = $proxyList; /** * @psalm-suppress PropertyTypeCoercion * @phpstan-ignore-next-line @@ -22,7 +25,7 @@ public function __construct(ContainerInterface $container, Proxy $proxy) public function create(ContainerInterface $container): ContainerInterface { - return new ThreadContainerProxy($container, $this->proxy); + return new ThreadContainerProxy($this->proxyList, $container, $this->proxy); } public function proxy(): ContainerInterface diff --git a/src/ThreadContainerProxy.php b/src/ThreadContainerProxy.php index 40e4de6..c6f8e11 100644 --- a/src/ThreadContainerProxy.php +++ b/src/ThreadContainerProxy.php @@ -6,32 +6,32 @@ use Psr\Container\ContainerInterface; use ReactParallel\ObjectProxy\AbstractGeneratedProxy; -use ReactParallel\ObjectProxy\Generated\ProxyList; use ReactParallel\ObjectProxy\Proxy\DeferredCallHandler; +use ReactParallel\ObjectProxy\ProxyListInterface; -use function array_key_exists; - -final class ThreadContainerProxy extends ProxyList implements ContainerInterface +final class ThreadContainerProxy implements ContainerInterface { + private ProxyListInterface $proxyList; private ContainerInterface $local; private ContainerInterface $remote; - public function __construct(ContainerInterface $local, ContainerInterface $remote) + public function __construct(ProxyListInterface $proxyList, ContainerInterface $local, ContainerInterface $remote) { - $this->local = $local; - $this->remote = $remote; + $this->proxyList = $proxyList; + $this->local = $local; + $this->remote = $remote; } // phpcs:disable public function has($id) { - return array_key_exists($id, self::KNOWN_INTERFACE) || $this->local->has($id); + return $this->proxyList->has($id) || $this->local->has($id); } // phpcs:disable public function get($id) { - if (array_key_exists($id, self::KNOWN_INTERFACE)) { + if ($this->proxyList->has($id)) { $proxy = $this->remote->get($id); if ($proxy instanceof AbstractGeneratedProxy) { $proxy->setDeferredCallHandler($this->local->get(DeferredCallHandler::class)); diff --git a/tests/ContainerProxyTest.php b/tests/ContainerProxyTest.php index 45caea4..03ba45a 100644 --- a/tests/ContainerProxyTest.php +++ b/tests/ContainerProxyTest.php @@ -7,7 +7,8 @@ use React\EventLoop\Factory as EventLoopFactory; use ReactParallel\Factory; use ReactParallel\ObjectProxy\Configuration; -use ReactParallel\ObjectProxy\Generated\Psr__Container_ContainerInterfaceProxy; +use ReactParallel\ObjectProxy\Generated\Proxies\Psr\Container\ContainerInterface; +use ReactParallel\ObjectProxy\Generated\ProxyList; use ReactParallel\ObjectProxy\Proxy; use ReactParallel\Psr11ContainerProxy\ContainerProxy; use ReactParallel\Psr11ContainerProxy\ThreadContainerProxy; @@ -25,7 +26,7 @@ public function create(): void $factory = new Factory($loop); $configuration = new Configuration($factory); $proxy = new Proxy($configuration); - $containerProxy = new ContainerProxy(new Container(), $proxy); + $containerProxy = new ContainerProxy(new ProxyList(), new Container(), $proxy); self::assertInstanceOf(ThreadContainerProxy::class, $containerProxy->create(new Container())); } @@ -39,8 +40,8 @@ public function proxy(): void $factory = new Factory($loop); $configuration = new Configuration($factory); $proxy = new Proxy($configuration); - $containerProxy = new ContainerProxy(new Container(), $proxy); + $containerProxy = new ContainerProxy(new ProxyList(), new Container(), $proxy); - self::assertInstanceOf(Psr__Container_ContainerInterfaceProxy::class, $containerProxy->proxy()); + self::assertInstanceOf(ContainerInterface::class, $containerProxy->proxy()); } } diff --git a/tests/ThreadContainerProxyTest.php b/tests/ThreadContainerProxyTest.php index 319af42..45e35d4 100644 --- a/tests/ThreadContainerProxyTest.php +++ b/tests/ThreadContainerProxyTest.php @@ -7,6 +7,7 @@ use Monolog\Logger; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; +use ReactParallel\ObjectProxy\Generated\ProxyList; use ReactParallel\Psr11ContainerProxy\ThreadContainerProxy; use stdClass; use WyriHaximus\AsyncTestUtilities\AsyncTestCase; @@ -30,7 +31,7 @@ public function logger(): void $remote->get('fake')->shouldNotBeCalled(); $remote->get(LoggerInterface::class)->shouldBeCalled()->willReturn($logger); - $proxy = new ThreadContainerProxy($local->reveal(), $remote->reveal()); + $proxy = new ThreadContainerProxy(new ProxyList(), $local->reveal(), $remote->reveal()); self::assertTrue($proxy->has('fake')); self::assertTrue($proxy->has(LoggerInterface::class));