diff --git a/composer.json b/composer.json
index d8230f2..bdc167e 100644
--- a/composer.json
+++ b/composer.json
@@ -48,7 +48,9 @@
"laminas/laminas-modulemanager": "^2.10.1",
"phpdocumentor/reflection-docblock": "^5.2.2",
"phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.15.1",
+ "vimeo/psalm": "^4.6"
},
"autoload": {
"psr-4": {
diff --git a/composer.lock b/composer.lock
index 7f60da8..edf8293 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": "92f3c547c28623d55827f0641cda4e14",
+ "content-hash": "bf8f6b47ee7c0f9e7b9532c4aef1250f",
"packages": [
{
"name": "brick/varexporter",
@@ -1691,6 +1691,383 @@
}
],
"packages-dev": [
+ {
+ "name": "amphp/amp",
+ "version": "v2.5.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/amphp/amp.git",
+ "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9",
+ "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7"
+ },
+ "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",
+ "psalm/phar": "^3.11@dev",
+ "react/promise": "^2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Amp\\": "lib"
+ },
+ "files": [
+ "lib/functions.php",
+ "lib/Internal/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Daniel Lowrey",
+ "email": "rdlowrey@php.net"
+ },
+ {
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Bob Weinand",
+ "email": "bobwei9@hotmail.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
+ }
+ ],
+ "description": "A non-blocking concurrency framework for PHP applications.",
+ "homepage": "http://amphp.org/amp",
+ "keywords": [
+ "async",
+ "asynchronous",
+ "awaitable",
+ "concurrency",
+ "event",
+ "event-loop",
+ "future",
+ "non-blocking",
+ "promise"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/amp/issues",
+ "source": "https://github.com/amphp/amp/tree/v2.5.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2021-01-10T17:06:37+00:00"
+ },
+ {
+ "name": "amphp/byte-stream",
+ "version": "v1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/amphp/byte-stream.git",
+ "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/amphp/byte-stream/zipball/f0c20cf598a958ba2aa8c6e5a71c697d652c7088",
+ "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088",
+ "shasum": ""
+ },
+ "require": {
+ "amphp/amp": "^2",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "amphp/php-cs-fixer-config": "dev-master",
+ "amphp/phpunit-util": "^1.4",
+ "friendsofphp/php-cs-fixer": "^2.3",
+ "jetbrains/phpstorm-stubs": "^2019.3",
+ "phpunit/phpunit": "^6 || ^7 || ^8",
+ "psalm/phar": "^3.11.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Amp\\ByteStream\\": "lib"
+ },
+ "files": [
+ "lib/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
+ }
+ ],
+ "description": "A stream abstraction to make working with non-blocking I/O simple.",
+ "homepage": "http://amphp.org/byte-stream",
+ "keywords": [
+ "amp",
+ "amphp",
+ "async",
+ "io",
+ "non-blocking",
+ "stream"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/byte-stream/issues",
+ "source": "https://github.com/amphp/byte-stream/tree/master"
+ },
+ "time": "2020-06-29T18:35:05+00:00"
+ },
+ {
+ "name": "composer/package-versions-deprecated",
+ "version": "1.11.99.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/package-versions-deprecated.git",
+ "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
+ "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.1.0 || ^2.0",
+ "php": "^7 || ^8"
+ },
+ "replace": {
+ "ocramius/package-versions": "1.11.99"
+ },
+ "require-dev": {
+ "composer/composer": "^1.9.3 || ^2.0@dev",
+ "ext-zip": "^1.13",
+ "phpunit/phpunit": "^6.5 || ^7"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PackageVersions\\Installer",
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PackageVersions\\": "src/PackageVersions"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be"
+ }
+ ],
+ "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"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-11T10:22:58+00:00"
+ },
+ {
+ "name": "composer/semver",
+ "version": "3.2.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/semver.git",
+ "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
+ "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.54",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.2.4"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T08:59:24+00:00"
+ },
+ {
+ "name": "composer/xdebug-handler",
+ "version": "1.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "f28d44c286812c714741478d968104c5e604a1d4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4",
+ "reference": "f28d44c286812c714741478d968104c5e604a1d4",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0",
+ "psr/log": "^1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Composer\\XdebugHandler\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "John Stevenson",
+ "email": "john-stevenson@blueyonder.co.uk"
+ }
+ ],
+ "description": "Restarts a process without Xdebug.",
+ "keywords": [
+ "Xdebug",
+ "performance"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/1.4.5"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T08:04:11+00:00"
+ },
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
"version": "v0.7.1",
@@ -1761,6 +2138,43 @@
},
"time": "2020-12-07T18:04:37+00:00"
},
+ {
+ "name": "dnoegel/php-xdg-base-dir",
+ "version": "v0.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "XdgBaseDir\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "implementation of xdg base directory specification for php",
+ "support": {
+ "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
+ "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
+ },
+ "time": "2019-12-04T15:06:13+00:00"
+ },
{
"name": "doctrine/instantiator",
"version": "1.4.0",
@@ -1831,16 +2245,117 @@
"time": "2020-11-10T18:47:58+00:00"
},
{
- "name": "laminas/laminas-coding-standard",
- "version": "2.1.4",
+ "name": "felixfbecker/advanced-json-rpc",
+ "version": "v3.2.0",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-coding-standard.git",
- "reference": "d75f1acf615232e108da2d2cf5a7df3e527b8f38"
+ "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
+ "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-coding-standard/zipball/d75f1acf615232e108da2d2cf5a7df3e527b8f38",
+ "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/06f0b06043c7438959dbdeed8bb3f699a19be22e",
+ "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e",
+ "shasum": ""
+ },
+ "require": {
+ "netresearch/jsonmapper": "^1.0 || ^2.0",
+ "php": "^7.1 || ^8.0",
+ "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "AdvancedJsonRpc\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "ISC"
+ ],
+ "authors": [
+ {
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
+ }
+ ],
+ "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"
+ },
+ "time": "2021-01-10T17:48:47+00:00"
+ },
+ {
+ "name": "felixfbecker/language-server-protocol",
+ "version": "1.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
+ "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
+ "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "*",
+ "squizlabs/php_codesniffer": "^3.1",
+ "vimeo/psalm": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "LanguageServerProtocol\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "ISC"
+ ],
+ "authors": [
+ {
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
+ }
+ ],
+ "description": "PHP classes for the Language Server Protocol",
+ "keywords": [
+ "language",
+ "microsoft",
+ "php",
+ "server"
+ ],
+ "support": {
+ "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
+ "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1"
+ },
+ "time": "2021-02-22T14:02:09+00:00"
+ },
+ {
+ "name": "laminas/laminas-coding-standard",
+ "version": "2.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-coding-standard.git",
+ "reference": "d75f1acf615232e108da2d2cf5a7df3e527b8f38"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-coding-standard/zipball/d75f1acf615232e108da2d2cf5a7df3e527b8f38",
"reference": "d75f1acf615232e108da2d2cf5a7df3e527b8f38",
"shasum": ""
},
@@ -1942,6 +2457,110 @@
],
"time": "2020-11-13T09:40:50+00:00"
},
+ {
+ "name": "netresearch/jsonmapper",
+ "version": "v2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cweiske/jsonmapper.git",
+ "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e",
+ "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0",
+ "squizlabs/php_codesniffer": "~3.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "JsonMapper": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "OSL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Christian Weiske",
+ "email": "cweiske@cweiske.de",
+ "homepage": "http://github.com/cweiske/jsonmapper/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Map nested JSON structures onto PHP classes",
+ "support": {
+ "email": "cweiske@cweiske.de",
+ "issues": "https://github.com/cweiske/jsonmapper/issues",
+ "source": "https://github.com/cweiske/jsonmapper/tree/master"
+ },
+ "time": "2020-04-16T18:48:43+00:00"
+ },
+ {
+ "name": "openlss/lib-array2xml",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nullivex/lib-array2xml.git",
+ "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
+ "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "LSS": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Bryan Tong",
+ "email": "bryan@nullivex.com",
+ "homepage": "https://www.nullivex.com"
+ },
+ {
+ "name": "Tony Butler",
+ "email": "spudz76@gmail.com",
+ "homepage": "https://www.nullivex.com"
+ }
+ ],
+ "description": "Array2XML conversion library credit to lalit.org",
+ "homepage": "https://www.nullivex.com",
+ "keywords": [
+ "array",
+ "array conversion",
+ "xml",
+ "xml conversion"
+ ],
+ "support": {
+ "issues": "https://github.com/nullivex/lib-array2xml/issues",
+ "source": "https://github.com/nullivex/lib-array2xml/tree/master"
+ },
+ "time": "2019-03-29T20:06:56+00:00"
+ },
{
"name": "phar-io/manifest",
"version": "2.0.1",
@@ -2388,41 +3007,668 @@
"version": "9.2.5",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.10.2",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:44:49+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:57:25+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.5.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4",
+ "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.1",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpspec/prophecy": "^1.12.1",
+ "phpunit/php-code-coverage": "^9.2.3",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^2.3",
+ "sebastian/version": "^3.0.2"
+ },
+ "require-dev": {
+ "ext-pdo": "*",
+ "phpspec/prophecy-phpunit": "^2.0.1"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.5-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ],
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/donate.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-02-02T14:45:58+00:00"
+ },
+ {
+ "name": "psalm/plugin-phpunit",
+ "version": "0.15.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/psalm/psalm-plugin-phpunit.git",
+ "reference": "30ca25ce069bf4943c36e59b7df6954f6af05e64"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/30ca25ce069bf4943c36e59b7df6954f6af05e64",
+ "reference": "30ca25ce069bf4943c36e59b7df6954f6af05e64",
+ "shasum": ""
+ },
+ "require": {
+ "composer/package-versions-deprecated": "^1.10",
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "ext-simplexml": "*",
+ "php": "^7.1 || ^8.0",
+ "vimeo/psalm": "dev-master || dev-4.x || ^4.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.5"
+ },
+ "require-dev": {
+ "codeception/codeception": "^4.0.3",
+ "php": "^7.3 || ^8.0",
+ "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
+ "squizlabs/php_codesniffer": "^3.3.1",
+ "weirdan/codeception-psalm-module": "^0.11.0",
+ "weirdan/prophecy-shim": "^1.0 || ^2.0"
+ },
+ "type": "psalm-plugin",
+ "extra": {
+ "psalm": {
+ "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\PhpUnitPlugin\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Brown",
+ "email": "github@muglug.com"
+ }
+ ],
+ "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"
+ },
+ "time": "2021-01-23T00:19:07+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.3"
+ },
+ "time": "2020-03-23T09:12:05+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-xmlwriter": "*",
- "nikic/php-parser": "^4.10.2",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
+ "php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
- "suggest": {
- "ext-pcov": "*",
- "ext-xdebug": "*"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -2437,20 +3683,14 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
},
"funding": [
{
@@ -2458,24 +3698,26 @@
"type": "github"
}
],
- "time": "2020-11-28T06:44:49+00:00"
+ "time": "2020-09-28T05:30:19+00:00"
},
{
- "name": "phpunit/php-file-iterator",
- "version": "3.0.5",
+ "name": "sebastian/comparator",
+ "version": "4.0.6",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
@@ -2483,7 +3725,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -2498,19 +3740,31 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
}
],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
- "filesystem",
- "iterator"
+ "comparator",
+ "compare",
+ "equality"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
},
"funding": [
{
@@ -2518,36 +3772,33 @@
"type": "github"
}
],
- "time": "2020-09-28T05:57:25+00:00"
+ "time": "2020-10-26T15:49:45+00:00"
},
{
- "name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
+ "nikic/php-parser": "^4.7",
"php": ">=7.3"
},
"require-dev": {
- "ext-pcntl": "*",
"phpunit/phpunit": "^9.3"
},
- "suggest": {
- "ext-pcntl": "*"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -2566,14 +3817,11 @@
"role": "lead"
}
],
- "description": "Invoke callables with a timeout",
- "homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
- "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
},
"funding": [
{
@@ -2581,32 +3829,33 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2020-10-26T15:52:27+00:00"
},
{
- "name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "name": "sebastian/diff",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -2621,18 +3870,24 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [
- "template"
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
},
"funding": [
{
@@ -2640,20 +3895,20 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2020-10-26T13:10:38+00:00"
},
{
- "name": "phpunit/php-timer",
- "version": "5.0.3",
+ "name": "sebastian/environment",
+ "version": "5.1.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
"shasum": ""
},
"require": {
@@ -2662,10 +3917,13 @@
"require-dev": {
"phpunit/phpunit": "^9.3"
},
+ "suggest": {
+ "ext-posix": "*"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -2680,18 +3938,19 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
- "timer"
+ "Xdebug",
+ "environment",
+ "hhvm"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
},
"funding": [
{
@@ -2699,75 +3958,39 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2020-09-28T05:52:38+00:00"
},
{
- "name": "phpunit/phpunit",
- "version": "9.5.2",
+ "name": "sebastian/exporter",
+ "version": "4.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4"
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4",
- "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.1",
- "phar-io/version": "^3.0.2",
"php": ">=7.3",
- "phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.3",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.5",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.3",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^2.3",
- "sebastian/version": "^3.0.2"
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "ext-pdo": "*",
- "phpspec/prophecy-phpunit": "^2.0.1"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*"
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
},
- "bin": [
- "phpunit"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.5-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
- ],
- "files": [
- "src/Framework/Assert/Functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2777,57 +4000,73 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
"keywords": [
- "phpunit",
- "testing",
- "xunit"
+ "export",
+ "exporter"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2"
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
},
"funding": [
- {
- "url": "https://phpunit.de/donate.html",
- "type": "custom"
- },
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
- "time": "2021-02-02T14:45:58+00:00"
+ "time": "2020-09-28T05:24:23+00:00"
},
{
- "name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "name": "sebastian/global-state",
+ "version": "5.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
+ "ext-dom": "*",
"phpunit/phpunit": "^9.3"
},
+ "suggest": {
+ "ext-uopz": "*"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -2842,15 +4081,17 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
},
"funding": [
{
@@ -2858,23 +4099,24 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2020-10-26T15:55:19+00:00"
},
{
- "name": "sebastian/code-unit",
- "version": "1.0.8",
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
+ "nikic/php-parser": "^4.6",
"php": ">=7.3"
},
"require-dev": {
@@ -2902,11 +4144,11 @@
"role": "lead"
}
],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
},
"funding": [
{
@@ -2914,24 +4156,26 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2020-11-28T06:42:11+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
@@ -2939,7 +4183,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -2957,11 +4201,11 @@
"email": "sebastian@phpunit.de"
}
],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
},
"funding": [
{
@@ -2969,26 +4213,24 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2020-10-26T13:12:34+00:00"
},
{
- "name": "sebastian/comparator",
- "version": "4.0.6",
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
@@ -2996,7 +4238,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -3012,30 +4254,13 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
}
],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
},
"funding": [
{
@@ -3043,24 +4268,23 @@
"type": "github"
}
],
- "time": "2020-10-26T15:49:45+00:00"
+ "time": "2020-10-26T13:14:26+00:00"
},
{
- "name": "sebastian/complexity",
- "version": "2.0.2",
+ "name": "sebastian/recursion-context",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
"php": ">=7.3"
},
"require-dev": {
@@ -3069,7 +4293,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3084,15 +4308,22 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
}
],
- "description": "Library for calculating the complexity of PHP code units",
- "homepage": "https://github.com/sebastianbergmann/complexity",
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"support": {
- "issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
},
"funding": [
{
@@ -3100,33 +4331,32 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2020-10-26T13:17:30+00:00"
},
{
- "name": "sebastian/diff",
- "version": "4.0.4",
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
- "symfony/process": "^4.2 || ^5"
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -3142,23 +4372,13 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
}
],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
},
"funding": [
{
@@ -3166,20 +4386,20 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2020-09-28T06:45:17+00:00"
},
{
- "name": "sebastian/environment",
- "version": "5.1.3",
+ "name": "sebastian/type",
+ "version": "2.3.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
},
"dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
"shasum": ""
},
"require": {
@@ -3188,13 +4408,10 @@
"require-dev": {
"phpunit/phpunit": "^9.3"
},
- "suggest": {
- "ext-posix": "*"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-master": "2.3-dev"
}
},
"autoload": {
@@ -3209,19 +4426,15 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
"support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
},
"funding": [
{
@@ -3229,34 +4442,29 @@
"type": "github"
}
],
- "time": "2020-09-28T05:52:38+00:00"
+ "time": "2020-10-26T13:18:59+00:00"
},
{
- "name": "sebastian/exporter",
- "version": "4.0.3",
+ "name": "sebastian/version",
+ "version": "3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "php": ">=7.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -3271,34 +4479,15 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
"support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
},
"funding": [
{
@@ -3306,621 +4495,825 @@
"type": "github"
}
],
- "time": "2020-09-28T05:24:23+00:00"
+ "time": "2020-09-28T06:39:44+00:00"
},
{
- "name": "sebastian/global-state",
- "version": "5.0.2",
+ "name": "slevomat/coding-standard",
+ "version": "6.4.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
+ "url": "https://github.com/slevomat/coding-standard.git",
+ "reference": "696dcca217d0c9da2c40d02731526c1e25b65346"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
+ "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/696dcca217d0c9da2c40d02731526c1e25b65346",
+ "reference": "696dcca217d0c9da2c40d02731526c1e25b65346",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
+ "php": "^7.1 || ^8.0",
+ "phpstan/phpdoc-parser": "0.4.5 - 0.4.9",
+ "squizlabs/php_codesniffer": "^3.5.6"
},
"require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phing/phing": "2.16.3",
+ "php-parallel-lint/php-parallel-lint": "1.2.0",
+ "phpstan/phpstan": "0.12.48",
+ "phpstan/phpstan-deprecation-rules": "0.12.5",
+ "phpstan/phpstan-phpunit": "0.12.16",
+ "phpstan/phpstan-strict-rules": "0.12.5",
+ "phpunit/phpunit": "7.5.20|8.5.5|9.4.0"
},
- "type": "library",
+ "type": "phpcodesniffer-standard",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "6.x-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "SlevomatCodingStandard\\": "SlevomatCodingStandard"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
+ "MIT"
],
+ "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
"support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ "issues": "https://github.com/slevomat/coding-standard/issues",
+ "source": "https://github.com/slevomat/coding-standard/tree/6.4.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/kukulich",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
+ "type": "tidelift"
}
],
- "time": "2020-10-26T15:55:19+00:00"
+ "time": "2020-10-05T12:39:37+00:00"
},
{
- "name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.5.8",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
+ "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
- "php": ">=7.3"
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
+ "bin": [
+ "bin/phpcs",
+ "bin/phpcbf"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "3.x-dev"
}
},
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
+ "name": "Greg Sherwood",
"role": "lead"
}
],
- "description": "Library for counting the lines of code in PHP source code",
- "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2020-10-23T02:01:07+00:00"
},
{
- "name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "name": "symfony/console",
+ "version": "v5.2.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "url": "https://github.com/symfony/console.git",
+ "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a",
+ "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=7.2.5",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.8",
+ "symfony/polyfill-php80": "^1.15",
+ "symfony/service-contracts": "^1.1|^2",
+ "symfony/string": "^5.1"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<4.4",
+ "symfony/dotenv": "<5.1",
+ "symfony/event-dispatcher": "<4.4",
+ "symfony/lock": "<4.4",
+ "symfony/process": "<4.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "psr/log": "~1.0",
+ "symfony/config": "^4.4|^5.0",
+ "symfony/dependency-injection": "^4.4|^5.0",
+ "symfony/event-dispatcher": "^4.4|^5.0",
+ "symfony/lock": "^4.4|^5.0",
+ "symfony/process": "^4.4|^5.0",
+ "symfony/var-dumper": "^4.4|^5.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "source": "https://github.com/symfony/console/tree/v5.2.3"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:12:34+00:00"
+ "time": "2021-01-28T22:06:19+00:00"
},
{
- "name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
+ "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.1"
},
- "require-dev": {
- "phpunit/phpunit": "^9.3"
+ "suggest": {
+ "ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:14:26+00:00"
+ "time": "2021-01-07T16:49:33+00:00"
},
{
- "name": "sebastian/recursion-context",
- "version": "4.0.4",
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170",
+ "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.1"
},
- "require-dev": {
- "phpunit/phpunit": "^9.3"
+ "suggest": {
+ "ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ },
+ "files": [
+ "bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:17:30+00:00"
+ "time": "2021-01-22T09:19:47+00:00"
},
{
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248",
+ "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.1"
},
- "require-dev": {
- "phpunit/phpunit": "^9.0"
+ "suggest": {
+ "ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
"classmap": [
- "src/"
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-09-28T06:45:17+00:00"
+ "time": "2021-01-22T09:19:47+00:00"
},
{
- "name": "sebastian/type",
- "version": "2.3.1",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "5232de97ee3b75b0360528dae24e73db49566ab1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1",
+ "reference": "5232de97ee3b75b0360528dae24e73db49566ab1",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.1"
},
- "require-dev": {
- "phpunit/phpunit": "^9.3"
+ "suggest": {
+ "ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:18:59+00:00"
+ "time": "2021-01-22T09:19:47+00:00"
},
{
- "name": "sebastian/version",
- "version": "3.0.2",
+ "name": "symfony/polyfill-php73",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
+ "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php73\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
"classmap": [
- "src/"
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-09-28T06:39:44+00:00"
+ "time": "2021-01-07T16:49:33+00:00"
},
{
- "name": "slevomat/coding-standard",
- "version": "6.4.1",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.22.1",
"source": {
"type": "git",
- "url": "https://github.com/slevomat/coding-standard.git",
- "reference": "696dcca217d0c9da2c40d02731526c1e25b65346"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/696dcca217d0c9da2c40d02731526c1e25b65346",
- "reference": "696dcca217d0c9da2c40d02731526c1e25b65346",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
"shasum": ""
},
"require": {
- "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
- "php": "^7.1 || ^8.0",
- "phpstan/phpdoc-parser": "0.4.5 - 0.4.9",
- "squizlabs/php_codesniffer": "^3.5.6"
- },
- "require-dev": {
- "phing/phing": "2.16.3",
- "php-parallel-lint/php-parallel-lint": "1.2.0",
- "phpstan/phpstan": "0.12.48",
- "phpstan/phpstan-deprecation-rules": "0.12.5",
- "phpstan/phpstan-phpunit": "0.12.16",
- "phpstan/phpstan-strict-rules": "0.12.5",
- "phpunit/phpunit": "7.5.20|8.5.5|9.4.0"
+ "php": ">=7.1"
},
- "type": "phpcodesniffer-standard",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.x-dev"
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
- "SlevomatCodingStandard\\": "SlevomatCodingStandard"
- }
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "issues": "https://github.com/slevomat/coding-standard/issues",
- "source": "https://github.com/slevomat/coding-standard/tree/6.4.1"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1"
},
"funding": [
{
- "url": "https://github.com/kukulich",
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
"type": "github"
},
{
- "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2020-10-05T12:39:37+00:00"
+ "time": "2021-01-07T16:49:33+00:00"
},
{
- "name": "squizlabs/php_codesniffer",
- "version": "3.5.8",
+ "name": "symfony/service-contracts",
+ "version": "v2.2.0",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"shasum": ""
},
"require": {
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": ">=5.4.0"
+ "php": ">=7.2.5",
+ "psr/container": "^1.0"
},
- "require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "suggest": {
+ "symfony/service-implementation": ""
},
- "bin": [
- "bin/phpcs",
- "bin/phpcbf"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.x-dev"
+ "dev-master": "2.2-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Greg Sherwood",
- "role": "lead"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
"keywords": [
- "phpcs",
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
"standards"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "source": "https://github.com/symfony/service-contracts/tree/master"
},
- "time": "2020-10-23T02:01:07+00:00"
+ "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": "2020-09-07T11:33:47+00:00"
},
{
- "name": "symfony/polyfill-ctype",
- "version": "v1.22.1",
+ "name": "symfony/string",
+ "version": "v5.2.3",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "url": "https://github.com/symfony/string.git",
+ "reference": "c95468897f408dd0aca2ff582074423dd0455122"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122",
+ "reference": "c95468897f408dd0aca2ff582074423dd0455122",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2.5",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "~1.15"
},
- "suggest": {
- "ext-ctype": "For best performance"
+ "require-dev": {
+ "symfony/error-handler": "^4.4|^5.0",
+ "symfony/http-client": "^4.4|^5.0",
+ "symfony/translation-contracts": "^1.1|^2",
+ "symfony/var-exporter": "^4.4|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.22-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
+ "Symfony\\Component\\String\\": ""
},
"files": [
- "bootstrap.php"
+ "Resources/functions.php"
+ ],
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -3929,24 +5322,26 @@
],
"authors": [
{
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for ctype functions",
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
+ "source": "https://github.com/symfony/string/tree/v5.2.3"
},
"funding": [
{
@@ -3962,7 +5357,7 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-01-25T15:14:59+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4014,6 +5409,111 @@
],
"time": "2020-07-12T23:59:07+00:00"
},
+ {
+ "name": "vimeo/psalm",
+ "version": "4.6.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vimeo/psalm.git",
+ "reference": "bca09d74adc704c4eaee36a3c3e9d379e290fc3b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/bca09d74adc704c4eaee36a3c3e9d379e290fc3b",
+ "reference": "bca09d74adc704c4eaee36a3c3e9d379e290fc3b",
+ "shasum": ""
+ },
+ "require": {
+ "amphp/amp": "^2.1",
+ "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",
+ "dnoegel/php-xdg-base-dir": "^0.1.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "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",
+ "openlss/lib-array2xml": "^1.0",
+ "php": "^7.1|^8",
+ "sebastian/diff": "^3.0 || ^4.0",
+ "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0",
+ "webmozart/path-util": "^2.3"
+ },
+ "provide": {
+ "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": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpdocumentor/reflection-docblock": "^5",
+ "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",
+ "squizlabs/php_codesniffer": "^3.5",
+ "symfony/process": "^4.3",
+ "weirdan/prophecy-shim": "^1.0 || ^2.0"
+ },
+ "suggest": {
+ "ext-igbinary": "^2.0.5"
+ },
+ "bin": [
+ "psalm",
+ "psalm-language-server",
+ "psalm-plugin",
+ "psalm-refactor",
+ "psalter"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.x-dev",
+ "dev-3.x": "3.x-dev",
+ "dev-2.x": "2.x-dev",
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\": "src/Psalm/"
+ },
+ "files": [
+ "src/functions.php",
+ "src/spl_object_id.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matthew Brown"
+ }
+ ],
+ "description": "A static analysis tool for finding errors in PHP applications",
+ "keywords": [
+ "code",
+ "inspection",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/vimeo/psalm/issues",
+ "source": "https://github.com/vimeo/psalm/tree/4.6.2"
+ },
+ "time": "2021-02-26T02:24:18+00:00"
+ },
{
"name": "webimpress/coding-standard",
"version": "1.2.1",
@@ -4121,6 +5621,56 @@
"source": "https://github.com/webmozarts/assert/tree/1.9.1"
},
"time": "2020-07-08T17:02:28+00:00"
+ },
+ {
+ "name": "webmozart/path-util",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozart/path-util.git",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "webmozart/assert": "~1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\PathUtil\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
+ "support": {
+ "issues": "https://github.com/webmozart/path-util/issues",
+ "source": "https://github.com/webmozart/path-util/tree/2.3.0"
+ },
+ "time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
new file mode 100644
index 0000000..0284ea6
--- /dev/null
+++ b/psalm-baseline.xml
@@ -0,0 +1,1615 @@
+
+
+
+
+ HalConfig
+ HalConfig
+ JsonRenderer
+ JsonRenderer
+ JsonStrategy
+ JsonStrategy
+ MetadataMap
+ MetadataMap
+ \ZF\Hal\HalConfig
+ \ZF\Hal\JsonRenderer
+ \ZF\Hal\JsonStrategy
+ \ZF\Hal\MetadataMap
+
+
+
+
+ ! is_int($page)
+ ! is_int($size)
+ gettype($collection)
+ is_array($options)
+ is_array($options)
+ is_array($params)
+ is_array($params)
+
+
+ $collection
+
+
+ $this->collectionRouteOptions
+ $this->collectionRouteParams
+
+
+ string
+ string
+
+
+ $collectionRoute
+ $entityLinks
+ $entityRoute
+ Collection
+
+
+ (int) $page
+ (int) $size
+ (string) $name
+ (string) $route
+ (string) $route
+
+
+ is_object($collection)
+
+
+
+
+ ! is_object($entity) && ! is_array($entity)
+
+
+ Entity
+
+
+
+
+ $hydrator instanceof ExtractionInterface
+
+
+ $hydrator
+
+
+ $hydrator
+
+
+ ExtractionInterface|false
+
+
+ $this->hydratorMap[$classLower]
+
+
+ $defaultHydrator
+
+
+ $hydrators instanceof HydratorPluginManager
+ $this->defaultHydrator instanceof ExtractionInterface
+
+
+
+
+ array
+ array
+
+
+ $entity->jsonSerialize()
+ $this->serializedEntities[$entity]
+ $this->serializedEntities[$entity]
+
+
+
+
+ setLinkExtractor
+
+
+ $subLink
+
+
+
+
+ hasUrl
+
+
+ $link->getRoute()
+
+
+
+
+ $config
+
+
+ array|ArrayAccess
+
+
+
+
+
+ HalControllerPluginFactory
+
+
+ getServiceLocator
+
+
+ $helpers
+
+
+ Hal
+
+
+ get
+
+
+ $helpers->get('Hal')
+
+
+
+
+ $apiProblemRenderer
+ $helpers
+
+
+ $apiProblemRenderer
+ $helpers
+
+
+
+
+ $container->get('Laminas\ApiTools\Hal\JsonRenderer')
+
+
+
+
+ getServiceLocator
+
+
+ $rendererOptions->getRenderEmbeddedCollections()
+ $rendererOptions->getRenderEmbeddedEntities()
+
+
+ $container->get('EventManager')
+ $hydratorServiceName
+ $linkCollectionExtractor
+ $linkUrlBuilder
+ $metadataMap
+
+
+ $class
+
+
+ $hydratorServiceName
+ $linkCollectionExtractor
+ $linkUrlBuilder
+ $metadataMap
+
+
+ getHydratorManager
+
+
+
+
+ $container->get(LinkExtractor::class)
+
+
+
+
+ $container->get(LinkUrlBuilder::class)
+
+
+
+
+ $halConfig['options']['use_proxy']
+ $urlHelper
+
+
+ $halConfig['options']
+
+
+ $halConfig
+ $urlHelper
+ $viewHelperManager
+
+
+ get
+ get
+
+
+
+
+ ContainerException
+
+
+ $hydrators
+ $map
+
+
+ $config
+ $hydrators
+ $map
+
+
+
+
+ ContainerException
+
+
+ $rendererConfig
+
+
+ $config
+ $rendererConfig
+ $rendererConfig['render_embedded_entities']
+
+
+
+
+ hasUrl
+
+
+ is_array($options)
+ is_array($params)
+
+
+
+ $name
+ $spec['rel']
+ $spec['url']
+
+
+ $name
+
+
+ self
+
+
+ $props
+ $relation
+
+
+ $href
+ $route
+
+
+ (string) $relation
+ (string) $route
+ (string) $this->href
+
+
+ new static($spec['rel'])
+
+
+
+
+ getRelation
+
+
+ $relationLinks
+
+
+ LinkInterface|Link|array|null
+
+
+ $this->links[$relation]
+
+
+
+
+ $this->links instanceof LinkCollection
+
+
+
+
+ add
+ add
+ add
+ add
+ add
+
+
+ $halCollection->getCollectionRouteOptions()
+
+
+ configureCollection
+ injectFirstLink
+ injectLastLink
+ injectLinks
+ injectNextLink
+ injectPrevLink
+ injectSelfLink
+
+
+ $page
+
+
+ $page
+ $pageCount
+
+
+ count
+ count
+ setCurrentPageNumber
+ setItemCountPerPage
+
+
+ count
+ count
+ setCurrentPageNumber
+ setItemCountPerPage
+
+
+
+
+ $resource
+
+
+ add
+
+
+ $resource->getCollectionRouteOptions()
+ $resource->getCollectionRouteParams()
+
+
+ array
+ array
+
+
+ injectSelfLink
+
+
+ (string) $route
+
+
+
+
+ injectSelfLink
+
+
+
+
+ null === $this->entityRoute
+
+
+ setHydrators
+
+
+ $filteredKey
+ $hydrator
+ $legacyIdentifierName
+ $this->entityIdentifierName
+ $this->routeIdentifierName
+ $value
+
+
+ new $hydrator()
+
+
+ $filteredKey
+
+
+ $this->getRoute()
+ $this->getUrl()
+
+
+ $entityIdentifierName
+ $entityRoute
+ $hydrator
+ $hydrators
+ $maxDepth
+ $route
+ $routeIdentifierName
+ $url
+
+
+ (bool) $flag
+ (string) $collectionName
+
+
+ $hydrators instanceof HydratorPluginManager
+ null !== $this->hydrator
+ null !== $this->hydrators
+ null !== $this->route
+ null !== $this->url
+
+
+ $this->entityIdentifierName
+ $this->routeIdentifierName
+
+
+
+
+ null === $this->hydrators
+
+
+ false
+
+
+ Metadata
+
+
+ $this->map
+
+
+ $this->map[$class]
+
+
+ $options
+
+
+ $hydrators
+
+
+ $hydrators instanceof HydratorPluginManager
+ $this->map[$class] instanceof Metadata
+
+
+
+
+ $events
+
+
+ $events
+
+
+ array
+
+
+ getEventManager
+
+
+ include __DIR__ . '/../config/module.config.php'
+
+
+
+
+ $collection
+ $collection
+
+
+ Resource
+
+
+ add
+
+
+ ! $metadata
+ $link instanceof Link
+ $this->entityExtractor instanceof EntityExtractor
+ $this->entityHydratorManager instanceof EntityHydratorManager
+ $this->metadataMap instanceof MetadataMap
+ $this->paginationInjector instanceof PaginationInjectorInterface
+ $this->resourceFactory instanceof ResourceFactory
+ $this->selfLinkInjector instanceof SelfLinkInjectorInterface
+
+
+ self
+
+
+ $halEntity
+
+
+ Entity
+
+
+ $r
+
+
+ function ($r) {
+
+
+ extractEmbeddedCollection
+ extractEmbeddedEntity
+ injectSelfLink
+ marshalMetadataLinks
+ setServerUrlHelper
+ setUrlHelper
+
+
+ $entity
+ $eventParams
+ $eventParams['route']
+ $eventParams['routeOptions']
+ $eventParams['routeParams']
+ $link
+
+
+ $key
+ $key
+ $key
+ $key
+
+
+ $parent['_embedded'][$key]
+ $parent['_embedded'][$key]
+
+
+ $this->entityHashStack[$entityHash]
+
+
+ $entity
+ $entity
+ $eventParams
+ $id
+ $id
+ $link
+ $payload['page_count']
+ $payload['page_size']
+ $payload['total_items']
+ $payload['total_items']
+ $value
+ $value
+
+
+ getId
+
+
+ $entity
+ $eventParams['route']
+ $eventParams['routeOptions']
+ $eventParams['routeParams']
+
+
+ $route
+
+
+ $controller
+ $entityExtractor
+ $entityHydratorManager
+ $linkCollectionExtractor
+ $linkUrlBuilder
+ $metadataMap
+ $paginationInjector
+ $resourceFactory
+ $selfLinkInjector
+ Hal
+
+
+ $hydrators
+
+
+ (int) $collection->getTotalItemCount()
+
+
+ $hydrators instanceof HydratorPluginManager
+ $metadata
+ $metadata
+
+
+ prepareArgs
+
+
+
+
+ $this->renderEmbeddedCollections
+ $this->renderEmbeddedEntities
+
+
+ string
+ string
+
+
+ setDefaultHydrator
+ setHydrators
+ setRenderEmbeddedCollections
+ setRenderEmbeddedEntities
+
+
+ $defaultHydrator
+
+
+ (bool) $flag
+ (bool) $flag
+
+
+
+
+ Resource
+
+
+
+
+ $object
+
+
+ add
+ add
+ add
+
+
+ entityextractor
+ entityextractor
+
+
+ marshalMetadataLinks
+
+
+ $id
+ $linkData
+
+
+ $id
+ $linkData
+ $param
+ $params[$key]
+
+
+ $object
+ $object
+ $object
+ $object
+
+
+ $metadata->getEntityRoute()
+ $metadata->getRoute()
+ $metadata->getRoute()
+ $metadata->getUrl()
+
+
+
+
+ $payload
+ $payload
+
+
+
+
+ $this->helpers instanceof HelperPluginManager
+
+
+ setHelperPluginManager
+
+
+ $nameOrModel
+ $payload
+ $payload
+ $values
+ $values
+
+
+ $helper
+ $helper
+ $payload
+ $payload
+
+
+ renderCollection
+ renderEntity
+
+
+ $helpers
+ $viewEvent
+ HalJsonRenderer
+
+
+ $event
+
+
+
+
+ $this->renderer
+
+
+ $headers
+
+
+ addHeaderLine
+
+
+ null|HalJsonRenderer
+
+
+ $model
+
+
+ setContent
+
+
+ getHeaders
+
+
+ setViewEvent
+
+
+
+
+ add
+ add
+ add
+
+
+ $this->helpers
+ $this->router
+
+
+ $child
+ $child
+ $child->_links
+ $child->_links
+ $child->_links->self
+ $child->_links->self
+ $child->_links->self->href
+ $child->_links->self->href
+ $test
+ $test
+ $test
+ $test
+ $test
+ $test
+ $test
+ $test->_embedded
+ $test->_embedded
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+
+
+ $child
+ $child
+ $collection1[]
+ $test
+ $test
+ $test
+ $test
+ $test
+
+
+ setRouteMatch
+ setRouteMatch
+ setRouteMatch
+ setRouteMatch
+ setRouteMatch
+ setRouter
+
+
+ $child->_links
+ $child->_links
+ $child->_links->self
+ $child->_links->self
+ $child->_links->self->href
+ $child->_links->self->href
+ $test->_embedded
+ $test->_embedded
+ $test->_embedded->child
+ $test->_embedded->child
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self
+ $test->_links->self->href
+ $test->_links->self->href
+ $test->_links->self->href
+ $test->_links->self->href
+ $test->_links->self->href
+
+
+ $this->router
+
+
+ getParam
+ getParam
+ getParam
+ getParam
+ getParam
+
+
+ $this->router
+ $this->router
+ $this->router
+ $this->router
+ $this->router
+ V2TreeRouteStack|TreeRouteStack
+
+
+
+
+ add
+ add
+
+
+ 'item/route'
+
+
+ $collection
+
+
+ array
+
+
+
+
+ $defaultHydrator
+ $hydrator
+ $hydratorClass
+ $hydratorClass
+ $hydratorClass
+ $this->hydratorClass
+
+
+ $hydratorClass
+ $this->hydratorClass
+
+
+ new $hydratorClass()
+ new $hydratorClass()
+
+
+
+
+
+ $errno
+ $errstr
+
+
+ $entity
+ $errstr
+
+
+ array
+ array
+
+
+ $secondRetrieval['foo']
+
+
+ $entity['foo']
+
+
+
+
+ ObjectProperty::class
+
+
+ entityextractor
+ entityextractor
+ entityextractor
+ entityextractor
+
+
+ new $this->hydratorClass()
+
+
+ testExtractOfArrayObjectEntityWillExtractCorrectly
+
+
+ extract
+
+
+
+
+ add
+ add
+ add
+ add
+ add
+ add
+
+
+ testExtractGivenLinkCollectionShouldReturnArrayWithExtractionOfEachLink
+ testLinkCollectionWithTwoLinksForSameRelationShouldReturnArrayWithOneKeyAggregatingLinks
+
+
+ assertIsArray
+ assertIsArray
+
+
+
+
+ $match
+
+
+ null|RouteMatch|V2RouteMatch
+
+
+ getParam
+
+
+ assertIsArray
+
+
+ V2RouteMatch
+
+
+ $match
+ null|RouteMatch|V2RouteMatch
+
+
+
+
+ $factory
+
+
+
+
+ $factory
+
+
+
+
+ $pluginManager
+ $services
+
+
+ $factory
+
+
+
+
+ $serverUrlHelper = $this->prophesize(Helper\ServerUrl::class)
+
+
+ $serverUrlHelper
+
+
+ $factory
+ $factory
+
+
+ shouldBeCalled
+
+
+
+
+ ObjectProperty::class
+ ObjectProperty::class
+ ObjectProperty::class
+
+
+ $factory
+ $factory
+
+
+
+
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+
+
+ testCanAddDiscreteLinkRelations
+ testCanAddDuplicateLinkRelations
+ testCanIterateLinks
+ testCanOverwriteLinkRelations
+ testCanRemoveLinkRelations
+ testCannotDuplicateSelf
+
+
+
+
+ getProps
+ getRelation
+ getRelation
+ getRelation
+ getRelation
+ getUrl
+ getUrl
+ hasUrl
+ hasUrl
+
+
+ testCanSetLinkRoute
+ testCanSetLinkUrl
+ testCanSetRouteOptionsSeparately
+ testCanSetRouteOptionsWhenSpecifyingRoute
+ testCanSetRouteParamsSeparately
+ testCanSetRouteParamsWhenSpecifyingRoute
+ testConstructorTakesLinkRelationName
+ testFactoryCanGenerateLinkWithArbitraryProperties
+ testFactoryCanGenerateLinkWithRouteInformation
+ testFactoryCanGenerateLinkWithUrl
+ testHasRouteReturnsFalseWhenRouteIsNotSet
+ testHasRouteReturnsTrueWhenRouteIsSet
+ testHasUrlReturnsFalseWhenUrlIsNotSet
+ testHasUrlReturnsTrueWhenUrlIsSet
+ testIsCompleteReturnsFalseIfNeitherUrlNorRouteIsSet
+ testIsCompleteReturnsTrueWhenRouteIsSet
+ testIsCompleteReturnsTrueWhenUrlIsSet
+ testSettingRouteAfterSettingUrlRaisesException
+ testSettingUrlAfterSettingRouteRaisesException
+
+
+
+
+ testInjectPaginationLinksGivenCollectionRouteNameShouldInjectLinksWithSameRoute
+ testInjectPaginationLinksGivenEmptyCollectionShouldNotInjectAnyLink
+ testInjectPaginationLinksGivenFirstPageShouldInjectLinksExceptForPrevious
+ testInjectPaginationLinksGivenIntermediatePageShouldInjectAllLinks
+ testInjectPaginationLinksGivenLastPageShouldInjectLinksExceptForNext
+ testInjectPaginationLinksGivenPageGreaterThanPageCountShouldReturnApiProblem
+
+
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+
+
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+
+
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+ getRoute
+
+
+
+
+ $linkRouteParams
+
+
+ $linkRouteParams
+
+
+ getRouteParams
+
+
+ getRouteParams
+
+
+ getRouteParams
+
+
+
+
+ new $hydratorClass()
+ new $hydratorClass()
+
+
+ Hydrator\ArraySerializable::class
+ Hydrator\ObjectProperty::class
+
+
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ add
+ getUrl
+ hasUrl
+ setServerUrlHelper
+ setUrlHelper
+
+
+ assertIsArray
+ is_callable($collection)
+
+
+ $contact
+ $contact
+ $contact
+ $first
+ $first
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $result
+ $result
+ $result
+ $result
+ $result
+ $result
+ $result
+ $result
+ $result
+ $result
+ $second
+ $second
+
+
+ $entity['_links']
+ $entity['_links']
+
+
+ $key
+ $key
+ $key
+
+
+ $childCollection
+ $collection
+ $collection
+ new TestAsset\EmbeddedEntity('bar', 'Bar')
+ new TestAsset\EmbeddedEntity('bar', 'Bar')
+ new TestAsset\EmbeddedEntity('bar', 'Bar')
+ new TestAsset\EmbeddedEntityWithBackReference('bar', $object)
+ new TestAsset\EmbeddedEntityWithBackReference('bar', $object1)
+ new TestAsset\EmbeddedEntityWithBackReference('bar', $object1)
+ new TestAsset\EmbeddedEntityWithCustomIdentifier('baz', 'Baz')
+ new TestAsset\EmbeddedEntityWithCustomIdentifier('baz', 'Baz')
+ new TestAsset\EmbeddedProxyEntity('bar', 'Bar')
+ new TestAsset\EmbeddedProxyEntityWithCustomIdentifier('baz', 'Baz')
+
+
+ $rendered
+
+
+ object
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ new $hydratorClass()
+ new $hydratorClass()
+
+
+ $e
+ $e
+ $e
+ $e
+
+
+ $collection
+ $contact
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embedded
+ $embedded
+ $embedded
+ $entity
+ $entity
+ $exception['class']
+ $exception['class']
+ $exception['message']
+ $exception['message']
+ $first
+ $first['href']
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $item
+ $link
+ $links
+ $links
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']
+ $rendered['_links']['arrayLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['self']['href']
+ $user
+ $user
+ $user
+ $user
+ $user
+ $user
+ $user
+ $user
+
+
+ $embed['contacts']
+ $embed['contacts']
+ $embed['first_child']
+ $embed['first_child']
+ $embed['resources']
+ $embed['resources']
+ $embed['second_child']
+ $embed['second_child']
+ $embedded['user']
+ $embedded['user']
+ $embedded['user']
+ $entity['_links']
+ $entity['_links'][$relation]
+ $first['href']
+ $item['_embedded']
+ $item['_embedded']
+ $item['foo']
+ $item['foo']
+ $item['foo']
+ $item['id']
+ $item['id']
+ $item['name']
+ $link['href']
+ $links[$relation]
+ $links['first']
+ $rendered['_links']['arrayLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['embeddedLink']
+ $rendered['_links']['self']
+ $result['_embedded']['items']
+ $result['_embedded']['items']
+ $user[$key]
+ $user[$key]
+ $user[$key]
+
+
+ $collection
+ $collection
+ $collection
+ $collection
+ $contact
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embed
+ $embedded
+ $embedded
+ $embedded
+ $entity
+ $entity
+ $first
+ $href
+ $item
+ $item
+ $item
+ $item
+ $item
+ $link
+ $links
+ $links
+ $params
+ $renderedCollection
+ $user
+ $user
+ $user
+ $user
+ $value
+ $value
+ $value
+
+
+ $collection()
+
+
+ array
+ array
+ array
+
+
+ get
+ getLinks
+ getParam
+ getParam
+ getParam
+ getParam
+ getParam
+ setAttributes
+ setRouteParams
+
+
+ $contact['id']
+ $contact['id']
+
+
+ $expectedExceptionClass
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $result
+ $result
+ $router
+ $router
+
+
+ getRoute
+ getRouteOptions
+ getRouteParams
+ getUrl
+ hasRoute
+ hasUrl
+
+
+ var_export($item, 1)
+ var_export($item, 1)
+ var_export($item, 1)
+ var_export($item, 1)
+ var_export($link, 1)
+ var_export($links, 1)
+ var_export($links, 1)
+ var_export($result, 1)
+ var_export($result, 1)
+ var_export($result, 1)
+ var_export($result, 1)
+
+
+ getRoute
+ getRouteOptions
+ getRouteParams
+ getUrl
+ hasRoute
+ hasUrl
+
+
+ getRoute
+ getRouteOptions
+ getRouteParams
+ getUrl
+ hasRoute
+ hasUrl
+
+
+ assertIsArray
+ assertIsArray
+
+
+ $this->router
+ $this->router
+ $this->router
+ V2TreeRouteStack|TreeRouteStack
+
+
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $rendered
+ $result
+
+
+ $this->controller
+
+
+
+
+ ArraySerializable
+
+
+
+
+ $first_child
+ $second_child
+
+
+
+
+ $this->id
+ $this->name
+ $value
+
+
+
+
+ JsonSerializableEntity
+ JsonSerializableEntity
+
+
+
+
+ getUrl
+ getUrl
+ hasUrl
+ hasUrl
+
+
+ $expected
+
+
+ $params
+ $params
+
+
+ $params['test-1']
+ $params['test-2']
+
+
+ $params
+
+
+ getRoute
+ getRouteParams
+ getUrl
+ getUrl
+ hasRoute
+ hasUrl
+ hasUrl
+
+
+ getRoute
+ getRouteParams
+ getUrl
+ getUrl
+ hasRoute
+ hasUrl
+ hasUrl
+
+
+ getRoute
+ getRouteParams
+ getUrl
+ getUrl
+ hasRoute
+ hasUrl
+ hasUrl
+
+
+ assertSame
+
+
+
+
+ JsonSerializable
+
+
+
+
+ testIsCollectionReturnsFalseForInvalidValues
+ testIsCollectionReturnsTrueForCollectionPayload
+ testIsEntityReturnsFalseForInvalidValues
+ testIsEntityReturnsTrueForEntityPayload
+ testIsTerminalByDefault
+ testPayloadIsMutable
+ testPayloadIsNullByDefault
+ testTerminalFlagIsNotMutable
+
+
+ array
+ array
+
+
+
+
+ testRenderGivenHalJsonModelReturningApiProblemShouldReturnApiProblemInJsonFormat
+ testRenderGivenHalJsonModelThatContainsHalCollectionShouldReturnDataInJsonFormat
+ testRenderGivenHalJsonModelThatContainsHalEntityShouldReturnDataInJsonFormat
+ testRenderGivenNonHalJsonModelShouldReturnDataInJsonFormat
+
+
+ $halPlugin
+ $halPlugin
+ $halPlugin
+
+
+ array
+
+
+ expects
+ expects
+ expects
+ method
+ method
+ method
+ will
+ will
+ will
+ with
+ with
+ with
+
+
+ $helperPluginManager
+ $helperPluginManager
+ $helperPluginManager
+
+
+ get
+ get
+ get
+
+
+
+
+ add
+
+
+ testInjectResponseDoesNotSetContentTypeHeaderIfRendererDoesNotMatch
+ testInjectResponseDoesNotSetContentTypeHeaderIfResultIsNotString
+ testInjectResponseSetsContentTypeHeaderToApiProblemForApiProblemModel
+ testInjectResponseSetsContentTypeHeaderToDefaultIfNotHalModel
+ testInjectResponseSetsContentTypeHeaderToHalForHalModel
+ testSelectRendererReturnsNullIfModelIsNotAHalJsonModel
+ testSelectRendererReturnsRendererIfModelIsAHalJsonModel
+
+
+ array
+
+
+ getFieldValue
+ getFieldValue
+ getFieldValue
+
+
+ getFieldValue
+ getFieldValue
+ getFieldValue
+
+
+
+
diff --git a/psalm.xml.dist b/psalm.xml.dist
new file mode 100644
index 0000000..e007c5a
--- /dev/null
+++ b/psalm.xml.dist
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Collection.php b/src/Collection.php
index 87dd85d..91ab182 100644
--- a/src/Collection.php
+++ b/src/Collection.php
@@ -525,7 +525,7 @@ public function getCollectionRoute()
/**
* Collection Route Options
*
- * @return string
+ * @return array
*/
public function getCollectionRouteOptions()
{
@@ -535,7 +535,7 @@ public function getCollectionRouteOptions()
/**
* Collection Route Params
*
- * @return string
+ * @return array
*/
public function getCollectionRouteParams()
{
diff --git a/src/EntityHydratorManager.php b/src/EntityHydratorManager.php
index 6762560..d69d1cf 100644
--- a/src/EntityHydratorManager.php
+++ b/src/EntityHydratorManager.php
@@ -122,6 +122,7 @@ public function getHydratorForEntity($entity)
if ($this->metadataMap->has($entity)) {
$metadata = $this->metadataMap->get($class);
+ /** @psalm-suppress PossiblyFalseReference */
$hydrator = $metadata->getHydrator();
if ($hydrator instanceof ExtractionInterface) {
$this->addHydrator($class, $hydrator);
diff --git a/src/Extractor/LinkCollectionExtractor.php b/src/Extractor/LinkCollectionExtractor.php
index fcc6296..af51dd1 100644
--- a/src/Extractor/LinkCollectionExtractor.php
+++ b/src/Extractor/LinkCollectionExtractor.php
@@ -33,6 +33,9 @@ public function getLinkExtractor()
return $this->linkExtractor;
}
+ /**
+ * @return void
+ */
public function setLinkExtractor(LinkExtractorInterface $linkExtractor)
{
$this->linkExtractor = $linkExtractor;
diff --git a/src/Link/PaginationInjector.php b/src/Link/PaginationInjector.php
index 6ed8ec1..350c6ba 100644
--- a/src/Link/PaginationInjector.php
+++ b/src/Link/PaginationInjector.php
@@ -45,7 +45,7 @@ public function injectPaginationLinks(Collection $halCollection)
return true;
}
- private function configureCollection(Collection $halCollection)
+ private function configureCollection(Collection $halCollection): void
{
$collection = $halCollection->getCollection();
$page = $halCollection->getPage();
@@ -55,7 +55,7 @@ private function configureCollection(Collection $halCollection)
$collection->setCurrentPageNumber($page);
}
- private function injectLinks(Collection $halCollection)
+ private function injectLinks(Collection $halCollection): void
{
$this->injectSelfLink($halCollection);
$this->injectFirstLink($halCollection);
@@ -64,27 +64,27 @@ private function injectLinks(Collection $halCollection)
$this->injectNextLink($halCollection);
}
- private function injectSelfLink(Collection $halCollection)
+ private function injectSelfLink(Collection $halCollection): void
{
$page = $halCollection->getPage();
$link = $this->createPaginationLink('self', $halCollection, $page);
$halCollection->getLinks()->add($link, true);
}
- private function injectFirstLink(Collection $halCollection)
+ private function injectFirstLink(Collection $halCollection): void
{
$link = $this->createPaginationLink('first', $halCollection);
$halCollection->getLinks()->add($link);
}
- private function injectLastLink(Collection $halCollection)
+ private function injectLastLink(Collection $halCollection): void
{
$page = $halCollection->getCollection()->count();
$link = $this->createPaginationLink('last', $halCollection, $page);
$halCollection->getLinks()->add($link);
}
- private function injectPrevLink(Collection $halCollection)
+ private function injectPrevLink(Collection $halCollection): void
{
$page = $halCollection->getPage();
$prev = $page > 1 ? $page - 1 : false;
@@ -95,7 +95,7 @@ private function injectPrevLink(Collection $halCollection)
}
}
- private function injectNextLink(Collection $halCollection)
+ private function injectNextLink(Collection $halCollection): void
{
$page = $halCollection->getPage();
$pageCount = $halCollection->getCollection()->count();
diff --git a/src/Link/SelfLinkInjector.php b/src/Link/SelfLinkInjector.php
index 8ba55ae..df3db25 100644
--- a/src/Link/SelfLinkInjector.php
+++ b/src/Link/SelfLinkInjector.php
@@ -16,7 +16,7 @@
class SelfLinkInjector implements SelfLinkInjectorInterface
{
/**
- * @inheritDoc
+ * {@inheritDoc}
*/
public function injectSelfLink(LinkCollectionAwareInterface $resource, $route, $routeIdentifier = 'id')
{
@@ -62,7 +62,8 @@ private function createSelfLink($resource, $route, $routeIdentifier)
/**
* @param null|array|Entity|Collection $resource
* @param string $routeIdentifier
- * @return array
+ * @return array|string
+ * @psalm-return array|array|string
*/
private function getRouteParams($resource, $routeIdentifier)
{
@@ -86,7 +87,8 @@ private function getRouteParams($resource, $routeIdentifier)
/**
* @param null|array|Entity|Collection $resource
- * @return array
+ * @return array|string
+ * @psalm-return array|array|string
*/
private function getRouteOptions($resource)
{
diff --git a/src/Link/SelfLinkInjectorInterface.php b/src/Link/SelfLinkInjectorInterface.php
index 06faa04..35b6c59 100644
--- a/src/Link/SelfLinkInjectorInterface.php
+++ b/src/Link/SelfLinkInjectorInterface.php
@@ -15,6 +15,7 @@ interface SelfLinkInjectorInterface
*
* @param string $route
* @param string $routeIdentifier
+ * @return void
*/
public function injectSelfLink(LinkCollectionAwareInterface $resource, $route, $routeIdentifier = 'id');
}
diff --git a/src/Metadata/Metadata.php b/src/Metadata/Metadata.php
index eb87576..7321dc3 100644
--- a/src/Metadata/Metadata.php
+++ b/src/Metadata/Metadata.php
@@ -622,7 +622,7 @@ public function setForceSelfLink($forceSelfLink)
* @param HydratorPluginManager|HydratorPluginManagerInterface $hydrators
* @throws Exception\InvalidArgumentException If $hydrators is an invaild type.
*/
- private function setHydrators($hydrators)
+ private function setHydrators($hydrators): void
{
if ($hydrators instanceof HydratorPluginManagerInterface) {
$this->hydrators = $hydrators;
diff --git a/src/Metadata/MetadataMap.php b/src/Metadata/MetadataMap.php
index ebbde5e..5b738e5 100644
--- a/src/Metadata/MetadataMap.php
+++ b/src/Metadata/MetadataMap.php
@@ -142,8 +142,8 @@ public function has($class)
*
* Lazy-loads the Metadata instance if one is not present for a matching class.
*
- * @param object|string $class Object or classname for which to retrieve metadata
- * @return Metadata
+ * @param object|string $class Object or classname for which to retrieve metadata
+ * @return Metadata|false
*/
public function get($class)
{
diff --git a/src/Plugin/Hal.php b/src/Plugin/Hal.php
index 4d133ea..c997e12 100644
--- a/src/Plugin/Hal.php
+++ b/src/Plugin/Hal.php
@@ -309,6 +309,8 @@ public function setLinkUrlBuilder(LinkUrlBuilder $builder)
* @deprecated Since 1.4.0; use setLinkUrlBuilder() instead.
*
* @throws Exception\DeprecatedMethodException
+ *
+ * @return void
*/
public function setServerUrlHelper(callable $helper)
{
@@ -326,6 +328,8 @@ public function setServerUrlHelper(callable $helper)
* @deprecated Since 1.4.0; use setLinkUrlBuilder() instead.
*
* @throws Exception\DeprecatedMethodException
+ *
+ * @return void
*/
public function setUrlHelper(callable $helper)
{
@@ -581,8 +585,10 @@ public function renderCollection(Collection $halCollection)
$metadataMap = $this->getMetadataMap();
- $maxDepth = is_object($collection) && $metadataMap->has($collection) ?
- $metadataMap->get($collection)->getMaxDepth() : null;
+ /** @psalm-suppress PossiblyFalseReference */
+ $maxDepth = is_object($collection) && $metadataMap->has($collection)
+ ? $metadataMap->get($collection)->getMaxDepth()
+ : null;
$payload = $halCollection->getAttributes();
$payload['_links'] = $this->fromResource($halCollection);
@@ -660,6 +666,7 @@ public function renderEntity(Entity $halEntity, $renderEntity = true, $depth = 0
if (is_object($entity)) {
if ($maxDepth === null && $metadataMap->has($entity)) {
+ /** @psalm-suppress PossiblyFalseReference */
$maxDepth = $metadataMap->get($entity)->getMaxDepth();
}
@@ -690,6 +697,7 @@ public function renderEntity(Entity $halEntity, $renderEntity = true, $depth = 0
foreach ($entity as $key => $value) {
if (is_object($value) && $metadataMap->has($value)) {
+ /** @psalm-suppress PossiblyFalseArgument */
$value = $this->getResourceFactory()->createEntityFromMetadata(
$value,
$metadataMap->get($value),
@@ -856,7 +864,7 @@ public function createEntityFromMetadata($object, Metadata $metadata, $renderEmb
* @param Entity|array|object $resource
* @param string $route
* @param string $routeIdentifierName
- * @return Entity
+ * @return Collection|Entity
*/
public function createResource($resource, $route, $routeIdentifierName)
{
@@ -871,16 +879,17 @@ public function createResource($resource, $route, $routeIdentifierName)
/**
* Create an Entity instance and inject it with a self relational link if necessary
*
- * @param Entity|array|object $entity
- * @param string $route
- * @param string $routeIdentifierName
- * @return Entity
+ * @param Entity|array|object $entity
+ * @param string $route
+ * @param string $routeIdentifierName
+ * @return Collection|Entity
*/
public function createEntity($entity, $route, $routeIdentifierName)
{
$metadataMap = $this->getMetadataMap();
if (is_object($entity) && $metadataMap->has($entity)) {
+ /** @psalm-suppress PossiblyFalseArgument */
$halEntity = $this->getResourceFactory()->createEntityFromMetadata(
$entity,
$metadataMap->get($entity)
@@ -914,6 +923,7 @@ public function createCollection($collection, $route = null)
{
$metadataMap = $this->getMetadataMap();
if (is_object($collection) && $metadataMap->has($collection)) {
+ /** @psalm-suppress PossiblyFalseArgument */
$collection = $this->getResourceFactory()->createCollectionFromMetadata(
$collection,
$metadataMap->get($collection)
@@ -944,8 +954,9 @@ public function createCollectionFromMetadata($object, Metadata $metadata)
/**
* Inject a "self" relational link based on the route and identifier
*
- * @param string $route
- * @param string $routeIdentifier
+ * @param string $route
+ * @param string $routeIdentifier
+ * @return void
*/
public function injectSelfLink(LinkCollectionAwareInterface $resource, $route, $routeIdentifier = 'id')
{
@@ -969,10 +980,11 @@ protected function injectPaginationLinks(Collection $halCollection)
* Removes the key from the parent representation, and creates a
* representation for the key in the _embedded object.
*
- * @param array $parent
- * @param string $key
- * @param int $depth depth of the current rendering recursion
- * @param int $maxDepth maximum rendering depth for the current metadata
+ * @param array $parent
+ * @param string $key
+ * @param int $depth depth of the current rendering recursion
+ * @param int $maxDepth maximum rendering depth for the current metadata
+ * @return void
*/
protected function extractEmbeddedEntity(array &$parent, $key, Entity $entity, $depth = 0, $maxDepth = null)
{
@@ -994,10 +1006,11 @@ protected function extractEmbeddedEntity(array &$parent, $key, Entity $entity, $
* Removes the key from the parent representation, and creates a
* representation for the key in the _embedded object.
*
- * @param array $parent
- * @param string $key
- * @param int $depth depth of the current rendering recursion
- * @param int $maxDepth maximum rendering depth for the current metadata
+ * @param array $parent
+ * @param string $key
+ * @param int $depth depth of the current rendering recursion
+ * @param int $maxDepth maximum rendering depth for the current metadata
+ * @return void
*/
protected function extractEmbeddedCollection(
array &$parent,
@@ -1050,6 +1063,7 @@ protected function extractCollection(Collection $halCollection, $depth = 0, $max
$entity = $eventParams['entity'];
if (is_object($entity) && $metadataMap->has($entity)) {
+ /** @psalm-suppress PossiblyFalseArgument */
$entity = $this->getResourceFactory()->createEntityFromMetadata($entity, $metadataMap->get($entity));
}
@@ -1065,6 +1079,7 @@ protected function extractCollection(Collection $halCollection, $depth = 0, $max
foreach ($entity as $key => $value) {
if (is_object($value) && $metadataMap->has($value)) {
+ /** @psalm-suppress PossiblyFalseArgument */
$value = $this->getResourceFactory()->createEntityFromMetadata($value, $metadataMap->get($value));
}
@@ -1136,6 +1151,10 @@ protected function getIdFromEntity($entity)
'resource' => $entity,
];
+ /**
+ * @param mixed $r
+ * @return bool
+ */
$callback = function ($r) {
return null !== $r && false !== $r;
};
@@ -1218,6 +1237,8 @@ protected function marshalLinkFromMetadata(
* Inject any links found in the metadata into the resource's link collection
*
* @deprecated
+ *
+ * @return void
*/
protected function marshalMetadataLinks(Metadata $metadata, LinkCollection $links)
{
diff --git a/src/RendererOptions.php b/src/RendererOptions.php
index 70227cd..db4069c 100644
--- a/src/RendererOptions.php
+++ b/src/RendererOptions.php
@@ -26,6 +26,7 @@ class RendererOptions extends AbstractOptions
/**
* @param string $hydrator
+ * @return void
*/
public function setDefaultHydrator($hydrator)
{
@@ -42,6 +43,7 @@ public function getDefaultHydrator()
/**
* @param bool $flag
+ * @return void
*/
public function setRenderEmbeddedEntities($flag)
{
@@ -49,7 +51,7 @@ public function setRenderEmbeddedEntities($flag)
}
/**
- * @return string
+ * @return bool
*/
public function getRenderEmbeddedEntities()
{
@@ -58,6 +60,7 @@ public function getRenderEmbeddedEntities()
/**
* @param bool $flag
+ * @return void
*/
public function setRenderEmbeddedCollections($flag)
{
@@ -65,7 +68,7 @@ public function setRenderEmbeddedCollections($flag)
}
/**
- * @return string
+ * @return bool
*/
public function getRenderEmbeddedCollections()
{
@@ -74,6 +77,7 @@ public function getRenderEmbeddedCollections()
/**
* @param array $hydrators
+ * @return void
*/
public function setHydrators(array $hydrators)
{
diff --git a/src/ResourceFactory.php b/src/ResourceFactory.php
index ca8cc2d..c4bbd45 100644
--- a/src/ResourceFactory.php
+++ b/src/ResourceFactory.php
@@ -170,6 +170,8 @@ public function marshalLinkFromMetadata(
/**
* Inject any links found in the metadata into the resource's link collection
+ *
+ * @return void
*/
public function marshalMetadataLinks(Metadata $metadata, LinkCollection $links)
{
diff --git a/src/View/HalJsonRenderer.php b/src/View/HalJsonRenderer.php
index 8c7cb24..fca2a3e 100644
--- a/src/View/HalJsonRenderer.php
+++ b/src/View/HalJsonRenderer.php
@@ -42,6 +42,8 @@ public function __construct(ApiProblemRenderer $apiProblemRenderer)
* Set helper plugin manager instance.
*
* Also ensures that the 'Hal' helper is present.
+ *
+ * @return void
*/
public function setHelperPluginManager(HelperPluginManager $helpers)
{
diff --git a/test/Extractor/EntityExtractorTest.php b/test/Extractor/EntityExtractorTest.php
index 2f47734..4391e4d 100644
--- a/test/Extractor/EntityExtractorTest.php
+++ b/test/Extractor/EntityExtractorTest.php
@@ -74,7 +74,7 @@ public function testExtractTwiceGivenSameEntityShouldProcessExtractionOnceAndRet
self::assertSame($data1, $data2);
}
- public function testExtractOfArrayObjectEntityWillExtractCorrectly()
+ public function testExtractOfArrayObjectEntityWillExtractCorrectly(): void
{
$data = ['id' => 'foo', 'message' => 'FOO'];
$entity = new ArrayObject($data);
diff --git a/test/Extractor/LinkCollectionExtractorTest.php b/test/Extractor/LinkCollectionExtractorTest.php
index a41b177..6e7226e 100644
--- a/test/Extractor/LinkCollectionExtractorTest.php
+++ b/test/Extractor/LinkCollectionExtractorTest.php
@@ -26,7 +26,7 @@ public function setUp(): void
$this->linkCollectionExtractor = new LinkCollectionExtractor($linkExtractor);
}
- public function testExtractGivenLinkCollectionShouldReturnArrayWithExtractionOfEachLink()
+ public function testExtractGivenLinkCollectionShouldReturnArrayWithExtractionOfEachLink(): void
{
$linkCollection = new LinkCollection();
$linkCollection->add(Link::factory([
@@ -48,7 +48,7 @@ public function testExtractGivenLinkCollectionShouldReturnArrayWithExtractionOfE
self::assertCount($linkCollection->count(), $result);
}
- public function testLinkCollectionWithTwoLinksForSameRelationShouldReturnArrayWithOneKeyAggregatingLinks()
+ public function testLinkCollectionWithTwoLinksForSameRelationShouldReturnArrayWithOneKeyAggregatingLinks(): void
{
$linkCollection = new LinkCollection();
$linkCollection->add(Link::factory([
diff --git a/test/Link/LinkCollectionTest.php b/test/Link/LinkCollectionTest.php
index bf019b2..e0045e6 100644
--- a/test/Link/LinkCollectionTest.php
+++ b/test/Link/LinkCollectionTest.php
@@ -22,7 +22,7 @@ public function setUp(): void
$this->links = new LinkCollection();
}
- public function testCanAddDiscreteLinkRelations()
+ public function testCanAddDiscreteLinkRelations(): void
{
$describedby = new Link('describedby');
$self = new Link('self');
@@ -35,7 +35,7 @@ public function testCanAddDiscreteLinkRelations()
self::assertSame($self, $this->links->get('self'));
}
- public function testCanAddDuplicateLinkRelations()
+ public function testCanAddDuplicateLinkRelations(): void
{
$order1 = new Link('order');
$order2 = new Link('order');
@@ -50,7 +50,7 @@ public function testCanAddDuplicateLinkRelations()
self::assertContains($order2, $orders);
}
- public function testCanRemoveLinkRelations()
+ public function testCanRemoveLinkRelations(): void
{
$describedby = new Link('describedby');
$this->links->add($describedby);
@@ -59,7 +59,7 @@ public function testCanRemoveLinkRelations()
self::assertFalse($this->links->has('describedby'));
}
- public function testCanOverwriteLinkRelations()
+ public function testCanOverwriteLinkRelations(): void
{
$order1 = new Link('order');
$order2 = new Link('order');
@@ -72,7 +72,7 @@ public function testCanOverwriteLinkRelations()
self::assertSame($order2, $orders);
}
- public function testCanIterateLinks()
+ public function testCanIterateLinks(): void
{
$describedby = new Link('describedby');
$self = new Link('self');
@@ -88,7 +88,7 @@ public function testCanIterateLinks()
self::assertEquals(2, $i);
}
- public function testCannotDuplicateSelf()
+ public function testCannotDuplicateSelf(): void
{
$first = new Link('self');
$second = new Link('self');
diff --git a/test/Link/LinkTest.php b/test/Link/LinkTest.php
index b617e78..9414d14 100644
--- a/test/Link/LinkTest.php
+++ b/test/Link/LinkTest.php
@@ -14,13 +14,13 @@
class LinkTest extends TestCase
{
- public function testConstructorTakesLinkRelationName()
+ public function testConstructorTakesLinkRelationName(): void
{
$link = new Link('describedby');
self::assertEquals('describedby', $link->getRelation());
}
- public function testCanSetLinkUrl()
+ public function testCanSetLinkUrl(): void
{
$url = 'http://example.com/docs.html';
$link = new Link('describedby');
@@ -28,7 +28,7 @@ public function testCanSetLinkUrl()
self::assertEquals($url, $link->getUrl());
}
- public function testCanSetLinkRoute()
+ public function testCanSetLinkRoute(): void
{
$route = 'api/docs';
$link = new Link('describedby');
@@ -36,7 +36,7 @@ public function testCanSetLinkRoute()
self::assertEquals($route, $link->getRoute());
}
- public function testCanSetRouteParamsWhenSpecifyingRoute()
+ public function testCanSetRouteParamsWhenSpecifyingRoute(): void
{
$route = 'api/docs';
$params = ['version' => '1.1'];
@@ -46,7 +46,7 @@ public function testCanSetRouteParamsWhenSpecifyingRoute()
self::assertEquals($params, $link->getRouteParams());
}
- public function testCanSetRouteOptionsWhenSpecifyingRoute()
+ public function testCanSetRouteOptionsWhenSpecifyingRoute(): void
{
$route = 'api/docs';
$options = ['query' => 'version=1.1'];
@@ -56,7 +56,7 @@ public function testCanSetRouteOptionsWhenSpecifyingRoute()
self::assertEquals($options, $link->getRouteOptions());
}
- public function testCanSetRouteParamsSeparately()
+ public function testCanSetRouteParamsSeparately(): void
{
$route = 'api/docs';
$params = ['version' => '1.1'];
@@ -67,7 +67,7 @@ public function testCanSetRouteParamsSeparately()
self::assertEquals($params, $link->getRouteParams());
}
- public function testCanSetRouteOptionsSeparately()
+ public function testCanSetRouteOptionsSeparately(): void
{
$route = 'api/docs';
$options = ['query' => 'version=1.1'];
@@ -78,7 +78,7 @@ public function testCanSetRouteOptionsSeparately()
self::assertEquals($options, $link->getRouteOptions());
}
- public function testSettingUrlAfterSettingRouteRaisesException()
+ public function testSettingUrlAfterSettingRouteRaisesException(): void
{
$link = new Link('describedby');
$link->setRoute('api/docs');
@@ -87,7 +87,7 @@ public function testSettingUrlAfterSettingRouteRaisesException()
$link->setUrl('http://example.com/api/docs.html');
}
- public function testSettingRouteAfterSettingUrlRaisesException()
+ public function testSettingRouteAfterSettingUrlRaisesException(): void
{
$link = new Link('describedby');
$link->setUrl('http://example.com/api/docs.html');
@@ -96,46 +96,46 @@ public function testSettingRouteAfterSettingUrlRaisesException()
$link->setRoute('api/docs');
}
- public function testIsCompleteReturnsFalseIfNeitherUrlNorRouteIsSet()
+ public function testIsCompleteReturnsFalseIfNeitherUrlNorRouteIsSet(): void
{
$link = new Link('describedby');
self::assertFalse($link->isComplete());
}
- public function testHasUrlReturnsFalseWhenUrlIsNotSet()
+ public function testHasUrlReturnsFalseWhenUrlIsNotSet(): void
{
$link = new Link('describedby');
self::assertFalse($link->hasUrl());
}
- public function testHasUrlReturnsTrueWhenUrlIsSet()
+ public function testHasUrlReturnsTrueWhenUrlIsSet(): void
{
$link = new Link('describedby');
$link->setUrl('http://example.com/api/docs.html');
self::assertTrue($link->hasUrl());
}
- public function testIsCompleteReturnsTrueWhenUrlIsSet()
+ public function testIsCompleteReturnsTrueWhenUrlIsSet(): void
{
$link = new Link('describedby');
$link->setUrl('http://example.com/api/docs.html');
self::assertTrue($link->isComplete());
}
- public function testHasRouteReturnsFalseWhenRouteIsNotSet()
+ public function testHasRouteReturnsFalseWhenRouteIsNotSet(): void
{
$link = new Link('describedby');
self::assertFalse($link->hasRoute());
}
- public function testHasRouteReturnsTrueWhenRouteIsSet()
+ public function testHasRouteReturnsTrueWhenRouteIsSet(): void
{
$link = new Link('describedby');
$link->setRoute('api/docs');
self::assertTrue($link->hasRoute());
}
- public function testIsCompleteReturnsTrueWhenRouteIsSet()
+ public function testIsCompleteReturnsTrueWhenRouteIsSet(): void
{
$link = new Link('describedby');
$link->setRoute('api/docs');
@@ -145,7 +145,7 @@ public function testIsCompleteReturnsTrueWhenRouteIsSet()
/**
* @group 79
*/
- public function testFactoryCanGenerateLinkWithUrl()
+ public function testFactoryCanGenerateLinkWithUrl(): void
{
$rel = 'describedby';
$url = 'http://example.com/docs.html';
@@ -161,7 +161,7 @@ public function testFactoryCanGenerateLinkWithUrl()
/**
* @group 79
*/
- public function testFactoryCanGenerateLinkWithRouteInformation()
+ public function testFactoryCanGenerateLinkWithRouteInformation(): void
{
$rel = 'describedby';
$route = 'api/docs';
@@ -183,7 +183,7 @@ public function testFactoryCanGenerateLinkWithRouteInformation()
self::assertEquals($options, $link->getRouteOptions());
}
- public function testFactoryCanGenerateLinkWithArbitraryProperties()
+ public function testFactoryCanGenerateLinkWithArbitraryProperties(): void
{
$rel = 'describedby';
$url = 'http://example.org/api/foo?version=2';
diff --git a/test/Link/PaginationInjectorTest.php b/test/Link/PaginationInjectorTest.php
index 41aca92..455bfb1 100644
--- a/test/Link/PaginationInjectorTest.php
+++ b/test/Link/PaginationInjectorTest.php
@@ -40,7 +40,7 @@ private function getHalCollection($pages, $currentPage)
return $halCollection;
}
- public function testInjectPaginationLinksGivenIntermediatePageShouldInjectAllLinks()
+ public function testInjectPaginationLinksGivenIntermediatePageShouldInjectAllLinks(): void
{
$halCollection = $this->getHalCollection(5, 2);
@@ -55,7 +55,7 @@ public function testInjectPaginationLinksGivenIntermediatePageShouldInjectAllLin
self::assertTrue($links->has('next'));
}
- public function testInjectPaginationLinksGivenFirstPageShouldInjectLinksExceptForPrevious()
+ public function testInjectPaginationLinksGivenFirstPageShouldInjectLinksExceptForPrevious(): void
{
$halCollection = $this->getHalCollection(5, 1);
@@ -70,7 +70,7 @@ public function testInjectPaginationLinksGivenFirstPageShouldInjectLinksExceptFo
self::assertTrue($links->has('next'));
}
- public function testInjectPaginationLinksGivenLastPageShouldInjectLinksExceptForNext()
+ public function testInjectPaginationLinksGivenLastPageShouldInjectLinksExceptForNext(): void
{
$halCollection = $this->getHalCollection(5, 5);
@@ -85,7 +85,7 @@ public function testInjectPaginationLinksGivenLastPageShouldInjectLinksExceptFor
self::assertFalse($links->has('next'));
}
- public function testInjectPaginationLinksGivenEmptyCollectionShouldNotInjectAnyLink()
+ public function testInjectPaginationLinksGivenEmptyCollectionShouldNotInjectAnyLink(): void
{
$halCollection = $this->getHalCollection(0, 1);
@@ -100,7 +100,7 @@ public function testInjectPaginationLinksGivenEmptyCollectionShouldNotInjectAnyL
self::assertFalse($links->has('next'));
}
- public function testInjectPaginationLinksGivenPageGreaterThanPageCountShouldReturnApiProblem()
+ public function testInjectPaginationLinksGivenPageGreaterThanPageCountShouldReturnApiProblem(): void
{
$halCollection = $this->getHalCollection(5, 6);
@@ -111,7 +111,7 @@ public function testInjectPaginationLinksGivenPageGreaterThanPageCountShouldRetu
self::assertEquals(409, $result->status);
}
- public function testInjectPaginationLinksGivenCollectionRouteNameShouldInjectLinksWithSameRoute()
+ public function testInjectPaginationLinksGivenCollectionRouteNameShouldInjectLinksWithSameRoute(): void
{
$halCollection = $this->getHalCollection(5, 2);
diff --git a/test/Plugin/HalTest.php b/test/Plugin/HalTest.php
index 910a748..c2e6ad6 100644
--- a/test/Plugin/HalTest.php
+++ b/test/Plugin/HalTest.php
@@ -19,6 +19,7 @@
use Laminas\ApiTools\Hal\Link\Link;
use Laminas\ApiTools\Hal\Link\LinkCollection;
use Laminas\ApiTools\Hal\Link\LinkUrlBuilder;
+use Laminas\ApiTools\Hal\Metadata\Metadata;
use Laminas\ApiTools\Hal\Metadata\MetadataMap;
use Laminas\ApiTools\Hal\Plugin\Hal as HalHelper;
use Laminas\EventManager\Event;
@@ -1002,7 +1003,7 @@ public function testRenderingCollectionUsesCollectionNameFromMetadataMap(): void
/**
* @group 14
- * @return object
+ * @return ApiProblem|array
*/
public function testRenderingPaginatorCollectionRendersPaginationAttributes()
{
@@ -1542,10 +1543,11 @@ public function testCreateEntityFromMetadataWithoutForcedSelfLinks(): void
$metadata->setHydratorManager(new Hydrator\HydratorPluginManager(new ServiceManager()));
$this->plugin->setMetadataMap($metadata);
- $entity = $this->plugin->createEntityFromMetadata(
- $object,
- $metadata->get(TestAsset\Entity::class)
- );
+
+ $entityMetadata = $metadata->get(TestAsset\Entity::class);
+ $this->assertInstanceOf(Metadata::class, $entityMetadata, 'Did not match entity to metadata?');
+
+ $entity = $this->plugin->createEntityFromMetadata($object, $entityMetadata);
$links = $entity->getLinks();
self::assertFalse($links->has('self'));
}
@@ -1592,10 +1594,10 @@ public function testCreateCollectionFromMetadataWithoutForcedSelfLinks(): void
$this->plugin->setMetadataMap($metadata);
- $collection = $this->plugin->createCollectionFromMetadata(
- $set,
- $metadata->get(TestAsset\Collection::class)
- );
+ $collectionMetadata = $metadata->get(TestAsset\Collection::class);
+ $this->assertInstanceOf(Metadata::class, $collectionMetadata, 'Did not discover metadata for collection?');
+
+ $collection = $this->plugin->createCollectionFromMetadata($set, $collectionMetadata);
$links = $collection->getLinks();
self::assertFalse($links->has('self'));
}
diff --git a/test/ResourceFactoryTest.php b/test/ResourceFactoryTest.php
index 24671a7..e12ea3e 100644
--- a/test/ResourceFactoryTest.php
+++ b/test/ResourceFactoryTest.php
@@ -12,6 +12,7 @@
use Laminas\ApiTools\Hal\Entity;
use Laminas\ApiTools\Hal\EntityHydratorManager;
use Laminas\ApiTools\Hal\Extractor\EntityExtractor;
+use Laminas\ApiTools\Hal\Metadata\Metadata;
use Laminas\ApiTools\Hal\Metadata\MetadataMap;
use Laminas\ApiTools\Hal\ResourceFactory;
use Laminas\Hydrator\HydratorPluginManager;
@@ -51,10 +52,10 @@ public function testInjectsLinksFromMetadataWhenCreatingEntity(): void
$resourceFactory = $this->getResourceFactory($metadata);
- $entity = $resourceFactory->createEntityFromMetadata(
- $object,
- $metadata->get(HalPluginTestAsset\Entity::class)
- );
+ $entityMetadata = $metadata->get(HalPluginTestAsset\Entity::class);
+ $this->assertInstanceOf(Metadata::class, $entityMetadata, 'Did not match entity to metadata?');
+
+ $entity = $resourceFactory->createEntityFromMetadata($object, $entityMetadata);
self::assertInstanceOf(Entity::class, $entity);
$links = $entity->getLinks();
@@ -106,10 +107,10 @@ public function testRouteParamsAllowsCallable(): void
$resourceFactory = $this->getResourceFactory($metadata);
- $entity = $resourceFactory->createEntityFromMetadata(
- $object,
- $metadata->get(HalPluginTestAsset\Entity::class)
- );
+ $entityMetadata = $metadata->get(HalPluginTestAsset\Entity::class);
+ $this->assertInstanceOf(Metadata::class, $entityMetadata, 'Did not match entity to metadata?');
+
+ $entity = $resourceFactory->createEntityFromMetadata($object, $entityMetadata);
self::assertInstanceOf(Entity::class, $entity);
@@ -154,10 +155,10 @@ public function testInjectsLinksFromMetadataWhenCreatingCollection(): void
$resourceFactory = $this->getResourceFactory($metadata);
- $collection = $resourceFactory->createCollectionFromMetadata(
- $set,
- $metadata->get(HalPluginTestAsset\Collection::class)
- );
+ $collectionMetadata = $metadata->get(HalPluginTestAsset\Collection::class);
+ $this->assertInstanceOf(Metadata::class, $collectionMetadata, 'Did not match collection to metadata?');
+
+ $collection = $resourceFactory->createCollectionFromMetadata($set, $collectionMetadata);
self::assertInstanceOf(Collection::class, $collection);
$links = $collection->getLinks();
diff --git a/test/View/HalJsonModelTest.php b/test/View/HalJsonModelTest.php
index 677271c..3b3ecbc 100644
--- a/test/View/HalJsonModelTest.php
+++ b/test/View/HalJsonModelTest.php
@@ -25,12 +25,12 @@ public function setUp(): void
$this->model = new HalJsonModel();
}
- public function testPayloadIsNullByDefault()
+ public function testPayloadIsNullByDefault(): void
{
self::assertNull($this->model->getPayload());
}
- public function testPayloadIsMutable()
+ public function testPayloadIsMutable(): void
{
$this->model->setPayload('foo');
self::assertEquals('foo', $this->model->getPayload());
@@ -71,13 +71,13 @@ public function invalidCollectionPayloads()
* @dataProvider invalidCollectionPayloads
* @param mixed $payload
*/
- public function testIsCollectionReturnsFalseForInvalidValues($payload)
+ public function testIsCollectionReturnsFalseForInvalidValues($payload): void
{
$this->model->setPayload($payload);
self::assertFalse($this->model->isCollection());
}
- public function testIsCollectionReturnsTrueForCollectionPayload()
+ public function testIsCollectionReturnsTrueForCollectionPayload(): void
{
$collection = new Collection([], 'item/route');
$this->model->setPayload($collection);
@@ -100,20 +100,20 @@ public function invalidEntityPayloads()
* @dataProvider invalidEntityPayloads
* @param mixed $payload
*/
- public function testIsEntityReturnsFalseForInvalidValues($payload)
+ public function testIsEntityReturnsFalseForInvalidValues($payload): void
{
$this->model->setPayload($payload);
self::assertFalse($this->model->isEntity());
}
- public function testIsEntityReturnsTrueForEntityPayload()
+ public function testIsEntityReturnsTrueForEntityPayload(): void
{
$item = new Entity([], 'id');
$this->model->setPayload($item);
self::assertTrue($this->model->isEntity());
}
- public function testIsTerminalByDefault()
+ public function testIsTerminalByDefault(): void
{
self::assertTrue($this->model->terminate());
}
@@ -121,7 +121,7 @@ public function testIsTerminalByDefault()
/**
* @depends testIsTerminalByDefault
*/
- public function testTerminalFlagIsNotMutable()
+ public function testTerminalFlagIsNotMutable(): void
{
$this->model->setTerminal(false);
self::assertTrue($this->model->terminate());
diff --git a/test/View/HalJsonRendererTest.php b/test/View/HalJsonRendererTest.php
index bd6198c..8d43f20 100644
--- a/test/View/HalJsonRendererTest.php
+++ b/test/View/HalJsonRendererTest.php
@@ -48,7 +48,7 @@ public function nonHalJsonModels()
* @dataProvider nonHalJsonModels
* @param ViewModel $model
*/
- public function testRenderGivenNonHalJsonModelShouldReturnDataInJsonFormat($model)
+ public function testRenderGivenNonHalJsonModelShouldReturnDataInJsonFormat($model): void
{
$payload = $this->renderer->render($model);
@@ -58,7 +58,7 @@ public function testRenderGivenNonHalJsonModelShouldReturnDataInJsonFormat($mode
);
}
- public function testRenderGivenHalJsonModelThatContainsHalEntityShouldReturnDataInJsonFormat()
+ public function testRenderGivenHalJsonModelThatContainsHalEntityShouldReturnDataInJsonFormat(): void
{
$entity = [
'id' => 123,
@@ -83,7 +83,7 @@ public function testRenderGivenHalJsonModelThatContainsHalEntityShouldReturnData
self::assertEquals($entity, json_decode($rendered, true));
}
- public function testRenderGivenHalJsonModelThatContainsHalCollectionShouldReturnDataInJsonFormat()
+ public function testRenderGivenHalJsonModelThatContainsHalCollectionShouldReturnDataInJsonFormat(): void
{
$collection = [
['id' => 'foo', 'name' => 'foo'],
@@ -109,7 +109,7 @@ public function testRenderGivenHalJsonModelThatContainsHalCollectionShouldReturn
self::assertEquals($collection, json_decode($rendered, true));
}
- public function testRenderGivenHalJsonModelReturningApiProblemShouldReturnApiProblemInJsonFormat()
+ public function testRenderGivenHalJsonModelReturningApiProblemShouldReturnApiProblemInJsonFormat(): void
{
$halCollection = new Collection([]);
$model = new HalJsonModel(['payload' => $halCollection]);
diff --git a/test/View/HalJsonStrategyTest.php b/test/View/HalJsonStrategyTest.php
index cfea8a5..1d9d0d8 100644
--- a/test/View/HalJsonStrategyTest.php
+++ b/test/View/HalJsonStrategyTest.php
@@ -45,26 +45,26 @@ public function setUp(): void
$this->strategy = new HalJsonStrategy($this->renderer);
}
- public function testSelectRendererReturnsNullIfModelIsNotAHalJsonModel()
+ public function testSelectRendererReturnsNullIfModelIsNotAHalJsonModel(): void
{
self::assertNull($this->strategy->selectRenderer($this->event));
}
- public function testSelectRendererReturnsRendererIfModelIsAHalJsonModel()
+ public function testSelectRendererReturnsRendererIfModelIsAHalJsonModel(): void
{
$model = new HalJsonModel();
$this->event->setModel($model);
self::assertSame($this->renderer, $this->strategy->selectRenderer($this->event));
}
- public function testInjectResponseDoesNotSetContentTypeHeaderIfRendererDoesNotMatch()
+ public function testInjectResponseDoesNotSetContentTypeHeaderIfRendererDoesNotMatch(): void
{
$this->strategy->injectResponse($this->event);
$headers = $this->response->getHeaders();
self::assertFalse($headers->has('Content-Type'));
}
- public function testInjectResponseDoesNotSetContentTypeHeaderIfResultIsNotString()
+ public function testInjectResponseDoesNotSetContentTypeHeaderIfResultIsNotString(): void
{
$this->event->setRenderer($this->renderer);
$this->event->setResult(['foo']);
@@ -73,7 +73,7 @@ public function testInjectResponseDoesNotSetContentTypeHeaderIfResultIsNotString
self::assertFalse($headers->has('Content-Type'));
}
- public function testInjectResponseSetsContentTypeHeaderToDefaultIfNotHalModel()
+ public function testInjectResponseSetsContentTypeHeaderToDefaultIfNotHalModel(): void
{
$this->event->setRenderer($this->renderer);
$this->event->setResult('{"foo":"bar"}');
@@ -110,7 +110,7 @@ public function halObjects()
* @dataProvider halObjects
* @param array $hal
*/
- public function testInjectResponseSetsContentTypeHeaderToHalForHalModel($hal)
+ public function testInjectResponseSetsContentTypeHeaderToHalForHalModel($hal): void
{
$model = new HalJsonModel(['payload' => $hal]);
@@ -124,7 +124,7 @@ public function testInjectResponseSetsContentTypeHeaderToHalForHalModel($hal)
self::assertEquals('application/hal+json', $header->getFieldValue());
}
- public function testInjectResponseSetsContentTypeHeaderToApiProblemForApiProblemModel()
+ public function testInjectResponseSetsContentTypeHeaderToApiProblemForApiProblemModel(): void
{
$problem = new ApiProblem(500, "Error message");
$model = new ApiProblemModel($problem);