diff --git a/composer.json b/composer.json
index 1c552e83..3f1b6a8c 100644
--- a/composer.json
+++ b/composer.json
@@ -18,7 +18,7 @@
"config": {
"sort-packages": true,
"platform": {
- "php": "7.4.99"
+ "php": "8.1.99"
},
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true,
@@ -29,17 +29,17 @@
"extra": {
},
"require": {
- "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
+ "php": "~8.1.0 || ~8.2.0",
"ext-ctype": "*",
"ext-mbstring": "*"
},
"require-dev": {
- "infection/infection": "^0.26.6",
+ "infection/infection": "^0.26.20",
"laminas/laminas-coding-standard": "~2.5.0",
"maglnet/composer-require-checker": "^3.8.0",
- "phpunit/phpunit": "^9.5.18",
- "psalm/plugin-phpunit": "^0.18.0",
- "vimeo/psalm": "^5.0.0"
+ "phpunit/phpunit": "^9.6.7",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.9"
},
"autoload": {
"psr-4": {
diff --git a/composer.lock b/composer.lock
index 4b5fdd31..ac45b7ea 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": "29975bdc4759dc543f2281fcfe845749",
+ "content-hash": "37eb0dfa8399281e8f656efac9c9296e",
"packages": [],
"packages-dev": [
{
@@ -173,6 +173,97 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
+ {
+ "name": "colinodell/json5",
+ "version": "v2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/colinodell/json5.git",
+ "reference": "15b063f8cb5e6deb15f0cd39123264ec0d19c710"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/colinodell/json5/zipball/15b063f8cb5e6deb15f0cd39123264ec0d19c710",
+ "reference": "15b063f8cb5e6deb15f0cd39123264ec0d19c710",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": "^7.1.3|^8.0"
+ },
+ "conflict": {
+ "scrutinizer/ocular": "1.7.*"
+ },
+ "require-dev": {
+ "mikehaertl/php-shellcommand": "^1.2.5",
+ "phpstan/phpstan": "^1.4",
+ "scrutinizer/ocular": "^1.6",
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0",
+ "symfony/finder": "^4.4|^5.4|^6.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0"
+ },
+ "bin": [
+ "bin/json5"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/global.php"
+ ],
+ "psr-4": {
+ "ColinODell\\Json5\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "UTF-8 compatible JSON5 parser for PHP",
+ "homepage": "https://github.com/colinodell/json5",
+ "keywords": [
+ "JSON5",
+ "json",
+ "json5_decode",
+ "json_decode"
+ ],
+ "support": {
+ "issues": "https://github.com/colinodell/json5/issues",
+ "source": "https://github.com/colinodell/json5/tree/v2.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/colinodell",
+ "type": "patreon"
+ }
+ ],
+ "time": "2022-12-27T16:44:40+00:00"
+ },
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
@@ -578,30 +669,30 @@
},
{
"name": "doctrine/instantiator",
- "version": "1.5.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^11",
+ "doctrine/coding-standard": "^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.16 || ^1",
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-phpunit": "^1",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.30 || ^5.4"
+ "phpbench/phpbench": "^1.2",
+ "phpstan/phpstan": "^1.9.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^5.4"
},
"type": "library",
"autoload": {
@@ -628,7 +719,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
+ "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
},
"funding": [
{
@@ -644,7 +735,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-30T00:15:36+00:00"
+ "time": "2022-12-30T00:23:10+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
@@ -749,16 +840,16 @@
},
{
"name": "fidry/cpu-core-counter",
- "version": "0.5.1",
+ "version": "0.4.1",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
+ "reference": "79261cc280aded96d098e1b0e0ba0c4881b432c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/79261cc280aded96d098e1b0e0ba0c4881b432c2",
+ "reference": "79261cc280aded96d098e1b0e0ba0c4881b432c2",
"shasum": ""
},
"require": {
@@ -798,7 +889,7 @@
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/0.4.1"
},
"funding": [
{
@@ -806,7 +897,7 @@
"type": "github"
}
],
- "time": "2022-12-24T12:35:10+00:00"
+ "time": "2022-12-16T22:01:02+00:00"
},
{
"name": "infection/abstract-testframework-adapter",
@@ -987,61 +1078,65 @@
},
{
"name": "infection/infection",
- "version": "0.26.6",
+ "version": "0.26.20",
"source": {
"type": "git",
"url": "https://github.com/infection/infection.git",
- "reference": "de9b6b92f00ff1cb39decddf95797a4ebec3a1ee"
+ "reference": "37dd2f590bec3d0058e11dbeefc8f93fc9132c62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/infection/infection/zipball/de9b6b92f00ff1cb39decddf95797a4ebec3a1ee",
- "reference": "de9b6b92f00ff1cb39decddf95797a4ebec3a1ee",
+ "url": "https://api.github.com/repos/infection/infection/zipball/37dd2f590bec3d0058e11dbeefc8f93fc9132c62",
+ "reference": "37dd2f590bec3d0058e11dbeefc8f93fc9132c62",
"shasum": ""
},
"require": {
+ "colinodell/json5": "^2.2",
"composer-runtime-api": "^2.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
+ "ext-mbstring": "*",
+ "fidry/cpu-core-counter": "^0.4.0",
"infection/abstract-testframework-adapter": "^0.5.0",
"infection/extension-installer": "^0.1.0",
"infection/include-interceptor": "^0.2.5",
"justinrainbow/json-schema": "^5.2.10",
- "nikic/php-parser": "^4.13.2",
+ "nikic/php-parser": "^4.15.1",
"ondram/ci-detector": "^4.1.0",
- "php": "^7.4.7 || ^8.0",
+ "php": "^8.1",
"sanmai/later": "^0.1.1",
"sanmai/pipeline": "^5.1 || ^6",
- "sebastian/diff": "^3.0.2 || ^4.0",
- "seld/jsonlint": "^1.7",
- "symfony/console": "^3.4.29 || ^4.1.19 || ^5.0 || ^6.0",
- "symfony/filesystem": "^3.4.29 || ^4.1.19 || ^5.0 || ^6.0",
- "symfony/finder": "^3.4.29 || ^4.1.19 || ^5.0 || ^6.0",
- "symfony/process": "^3.4.29 || ^4.1.19 || ^5.0 || ^6.0",
- "thecodingmachine/safe": "^1.1.3",
- "webmozart/assert": "^1.3",
- "webmozart/path-util": "^2.3"
+ "sebastian/diff": "^3.0.2 || ^4.0 || ^5.0",
+ "symfony/console": "^5.4 || ^6.0",
+ "symfony/filesystem": "^5.4 || ^6.0",
+ "symfony/finder": "^5.4 || ^6.0",
+ "symfony/process": "^5.4 || ^6.0",
+ "thecodingmachine/safe": "^2.1.2",
+ "webmozart/assert": "^1.11"
},
"conflict": {
- "dg/bypass-finals": "*",
- "phpunit/php-code-coverage": ">9 <9.1.4"
+ "antecedent/patchwork": "<2.1.25",
+ "dg/bypass-finals": "<1.4.1",
+ "phpunit/php-code-coverage": ">9,<9.1.4 || >9.2.17,<9.2.21"
},
"require-dev": {
"brianium/paratest": "^6.3",
"ext-simplexml": "*",
+ "fidry/makefile": "^0.2.0",
"helmich/phpunit-json-assert": "^3.0",
+ "phpspec/prophecy": "^1.15",
"phpspec/prophecy-phpunit": "^2.0",
"phpstan/extension-installer": "^1.1.0",
- "phpstan/phpstan": "^1.2.0",
+ "phpstan/phpstan": "^1.3.0",
"phpstan/phpstan-phpunit": "^1.0.0",
"phpstan/phpstan-strict-rules": "^1.1.0",
"phpstan/phpstan-webmozart-assert": "^1.0.2",
- "phpunit/phpunit": "^9.3.11",
- "symfony/phpunit-bridge": "^4.4.18 || ^5.1.10",
- "symfony/yaml": "^5.0",
- "thecodingmachine/phpstan-safe-rule": "^1.1.0"
+ "phpunit/phpunit": "^9.5.5",
+ "symfony/phpunit-bridge": "^5.4 || ^6.0",
+ "symfony/yaml": "^5.4 || ^6.0",
+ "thecodingmachine/phpstan-safe-rule": "^1.2.0"
},
"bin": [
"bin/infection"
@@ -1097,7 +1192,7 @@
],
"support": {
"issues": "https://github.com/infection/infection/issues",
- "source": "https://github.com/infection/infection/tree/0.26.6"
+ "source": "https://github.com/infection/infection/tree/0.26.20"
},
"funding": [
{
@@ -1109,7 +1204,7 @@
"type": "open_collective"
}
],
- "time": "2022-03-07T11:40:30+00:00"
+ "time": "2023-04-14T21:39:46+00:00"
},
{
"name": "justinrainbow/json-schema",
@@ -2201,16 +2296,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.6",
+ "version": "9.6.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115"
+ "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b65d59a059d3004a040c16a82e07bbdf6cfdd115",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
+ "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
"shasum": ""
},
"require": {
@@ -2284,7 +2379,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.6"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7"
},
"funding": [
{
@@ -2300,7 +2395,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-27T11:43:46+00:00"
+ "time": "2023-04-14T08:58:40+00:00"
},
{
"name": "psalm/plugin-phpunit",
@@ -2364,22 +2459,27 @@
},
{
"name": "psr/container",
- "version": "1.1.2",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -2406,36 +2506,36 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/log",
- "version": "1.1.4",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2456,9 +2556,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "source": "https://github.com/php-fig/log/tree/2.0.0"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2021-07-14T16:41:46+00:00"
},
{
"name": "sanmai/later",
@@ -2520,26 +2620,26 @@
},
{
"name": "sanmai/pipeline",
- "version": "v6.3",
+ "version": "v6.5",
"source": {
"type": "git",
"url": "https://github.com/sanmai/pipeline.git",
- "reference": "929b115ca58d62b6b2574702df1ebde4562c7c43"
+ "reference": "dd7c3c890b6d2d40a2ea1cf0d49281c17832de2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/pipeline/zipball/929b115ca58d62b6b2574702df1ebde4562c7c43",
- "reference": "929b115ca58d62b6b2574702df1ebde4562c7c43",
+ "url": "https://api.github.com/repos/sanmai/pipeline/zipball/dd7c3c890b6d2d40a2ea1cf0d49281c17832de2d",
+ "reference": "dd7c3c890b6d2d40a2ea1cf0d49281c17832de2d",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
"friendsofphp/php-cs-fixer": "^3",
"infection/infection": ">=0.10.5",
- "league/pipeline": "^1.0 || ^0.3",
+ "league/pipeline": "^0.3 || ^1.0",
"phan/phan": ">=1.1",
"php-coveralls/php-coveralls": "^2.4.1",
"phpstan/phpstan": ">=0.10",
@@ -2573,7 +2673,7 @@
"description": "General-purpose collections pipeline",
"support": {
"issues": "https://github.com/sanmai/pipeline/issues",
- "source": "https://github.com/sanmai/pipeline/tree/v6.3"
+ "source": "https://github.com/sanmai/pipeline/tree/v6.5"
},
"funding": [
{
@@ -2581,7 +2681,7 @@
"type": "github"
}
],
- "time": "2022-11-30T06:07:06+00:00"
+ "time": "2023-04-15T00:28:41+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -3547,70 +3647,6 @@
],
"time": "2020-09-28T06:39:44+00:00"
},
- {
- "name": "seld/jsonlint",
- "version": "1.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "4211420d25eba80712bff236a98960ef68b866b7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7",
- "reference": "4211420d25eba80712bff236a98960ef68b866b7",
- "shasum": ""
- },
- "require": {
- "php": "^5.3 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.5",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13"
- },
- "bin": [
- "bin/jsonlint"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Seld\\JsonLint\\": "src/Seld/JsonLint/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "JSON Linter",
- "keywords": [
- "json",
- "linter",
- "parser",
- "validator"
- ],
- "support": {
- "issues": "https://github.com/Seldaek/jsonlint/issues",
- "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0"
- },
- "funding": [
- {
- "url": "https://github.com/Seldaek",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint",
- "type": "tidelift"
- }
- ],
- "time": "2022-04-01T13:37:23+00:00"
- },
{
"name": "slevomat/coding-standard",
"version": "7.2.1",
@@ -3674,26 +3710,25 @@
},
{
"name": "spatie/array-to-xml",
- "version": "2.17.1",
+ "version": "3.1.5",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
- "reference": "5cbec9c6ab17e320c58a259f0cebe88bde4a7c46"
+ "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/5cbec9c6ab17e320c58a259f0cebe88bde4a7c46",
- "reference": "5cbec9c6ab17e320c58a259f0cebe88bde4a7c46",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43",
+ "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43",
"shasum": ""
},
"require": {
"ext-dom": "*",
- "php": "^7.4|^8.0"
+ "php": "^8.0"
},
"require-dev": {
"mockery/mockery": "^1.2",
"pestphp/pest": "^1.21",
- "phpunit/phpunit": "^9.0",
"spatie/pest-plugin-snapshots": "^1.1"
},
"type": "library",
@@ -3722,7 +3757,7 @@
"xml"
],
"support": {
- "source": "https://github.com/spatie/array-to-xml/tree/2.17.1"
+ "source": "https://github.com/spatie/array-to-xml/tree/3.1.5"
},
"funding": [
{
@@ -3734,7 +3769,7 @@
"type": "github"
}
],
- "time": "2022-12-26T08:22:07+00:00"
+ "time": "2022-12-24T13:43:51+00:00"
},
{
"name": "squizlabs/php_codesniffer",
@@ -3894,25 +3929,25 @@
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
+ "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3941,7 +3976,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1"
},
"funding": [
{
@@ -3957,27 +3992,26 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2023-03-01T10:25:55+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.21",
+ "version": "v6.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
+ "reference": "82b6c62b959f642d000456f08c6d219d749215b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3",
+ "reference": "82b6c62b959f642d000456f08c6d219d749215b3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.8"
},
"type": "library",
"autoload": {
@@ -4005,7 +4039,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.21"
+ "source": "https://github.com/symfony/filesystem/tree/v6.2.7"
},
"funding": [
{
@@ -4021,26 +4055,27 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-02-14T08:44:56+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.21",
+ "version": "v6.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19"
+ "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/078e9a5e1871fcfe6a5ce421b539344c21afef19",
- "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb",
+ "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.0"
},
"type": "library",
"autoload": {
@@ -4068,7 +4103,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.21"
+ "source": "https://github.com/symfony/finder/tree/v6.2.7"
},
"funding": [
{
@@ -4084,7 +4119,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-16T09:33:00+00:00"
+ "time": "2023-02-16T09:57:23+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -4580,21 +4615,20 @@
},
{
"name": "symfony/process",
- "version": "v5.4.22",
+ "version": "v6.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b"
+ "reference": "75ed64103df4f6615e15a7fe38b8111099f47416"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/4b850da0cc3a2a9181c1ed407adbca4733dc839b",
- "reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/75ed64103df4f6615e15a7fe38b8111099f47416",
+ "reference": "75ed64103df4f6615e15a7fe38b8111099f47416",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"type": "library",
"autoload": {
@@ -4622,7 +4656,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.22"
+ "source": "https://github.com/symfony/process/tree/v6.2.8"
},
"funding": [
{
@@ -4638,26 +4672,25 @@
"type": "tidelift"
}
],
- "time": "2023-03-06T21:29:33+00:00"
+ "time": "2023-03-09T16:20:02+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.2",
+ "version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ "reference": "a8c9cedf55f314f3a186041d19537303766df09a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a",
+ "reference": "a8c9cedf55f314f3a186041d19537303766df09a",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1",
+ "psr/container": "^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
@@ -4668,7 +4701,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4678,7 +4711,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4705,7 +4741,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.2.1"
},
"funding": [
{
@@ -4721,38 +4757,38 @@
"type": "tidelift"
}
],
- "time": "2022-05-30T19:17:29+00:00"
+ "time": "2023-03-01T10:32:47+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.22",
+ "version": "v6.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
+ "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
+ "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef",
+ "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"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"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.0"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/intl": "^6.2",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -4791,7 +4827,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.22"
+ "source": "https://github.com/symfony/string/tree/v6.2.8"
},
"funding": [
{
@@ -4807,43 +4843,50 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T06:11:53+00:00"
+ "time": "2023-03-20T16:06:02+00:00"
},
{
"name": "thecodingmachine/safe",
- "version": "v1.3.3",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/safe.git",
- "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc"
+ "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/a8ab0876305a4cdaef31b2350fcb9811b5608dbc",
- "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc",
+ "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0",
+ "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0",
"shasum": ""
},
"require": {
- "php": ">=7.2"
+ "php": "^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan": "^1.5",
+ "phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^3.2",
- "thecodingmachine/phpstan-strict-rules": "^0.12"
+ "thecodingmachine/phpstan-strict-rules": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.1-dev"
+ "dev-master": "2.2.x-dev"
}
},
"autoload": {
"files": [
"deprecated/apc.php",
+ "deprecated/array.php",
+ "deprecated/datetime.php",
"deprecated/libevent.php",
+ "deprecated/misc.php",
+ "deprecated/password.php",
"deprecated/mssql.php",
"deprecated/stats.php",
+ "deprecated/strings.php",
"lib/special_cases.php",
+ "deprecated/mysqli.php",
"generated/apache.php",
"generated/apcu.php",
"generated/array.php",
@@ -4864,6 +4907,7 @@
"generated/fpm.php",
"generated/ftp.php",
"generated/funchand.php",
+ "generated/gettext.php",
"generated/gmp.php",
"generated/gnupg.php",
"generated/hash.php",
@@ -4873,7 +4917,6 @@
"generated/image.php",
"generated/imap.php",
"generated/info.php",
- "generated/ingres-ii.php",
"generated/inotify.php",
"generated/json.php",
"generated/ldap.php",
@@ -4882,20 +4925,14 @@
"generated/mailparse.php",
"generated/mbstring.php",
"generated/misc.php",
- "generated/msql.php",
"generated/mysql.php",
- "generated/mysqli.php",
- "generated/mysqlndMs.php",
- "generated/mysqlndQc.php",
"generated/network.php",
"generated/oci8.php",
"generated/opcache.php",
"generated/openssl.php",
"generated/outcontrol.php",
- "generated/password.php",
"generated/pcntl.php",
"generated/pcre.php",
- "generated/pdf.php",
"generated/pgsql.php",
"generated/posix.php",
"generated/ps.php",
@@ -4906,7 +4943,6 @@
"generated/sem.php",
"generated/session.php",
"generated/shmop.php",
- "generated/simplexml.php",
"generated/sockets.php",
"generated/sodium.php",
"generated/solr.php",
@@ -4929,13 +4965,13 @@
"generated/zip.php",
"generated/zlib.php"
],
- "psr-4": {
- "Safe\\": [
- "lib/",
- "deprecated/",
- "generated/"
- ]
- }
+ "classmap": [
+ "lib/DateTime.php",
+ "lib/DateTimeImmutable.php",
+ "lib/Exceptions/",
+ "deprecated/Exceptions/",
+ "generated/Exceptions/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4944,9 +4980,9 @@
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
"support": {
"issues": "https://github.com/thecodingmachine/safe/issues",
- "source": "https://github.com/thecodingmachine/safe/tree/v1.3.3"
+ "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0"
},
- "time": "2020-10-28T17:51:34+00:00"
+ "time": "2023-04-05T11:54:14+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5265,57 +5301,6 @@
"source": "https://github.com/webmozarts/glob/tree/4.6.0"
},
"time": "2022-05-24T19:45:58+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"
- },
- "abandoned": "symfony/filesystem",
- "time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
@@ -5324,13 +5309,13 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
+ "php": "~8.1.0 || ~8.2.0",
"ext-ctype": "*",
"ext-mbstring": "*"
},
"platform-dev": [],
"platform-overrides": {
- "php": "7.4.99"
+ "php": "8.1.99"
},
"plugin-api-version": "2.3.0"
}
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 956e90d2..09f782db 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -1,2 +1,2 @@
-
+
diff --git a/psalm.xml b/psalm.xml
index 776bdf6a..08a70f9e 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -5,6 +5,9 @@
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
errorBaseline="psalm-baseline.xml"
errorLevel="1"
+ findUnusedPsalmSuppress="true"
+ findUnusedBaselineEntry="true"
+ findUnusedCode="true"
>
diff --git a/src/Escaper.php b/src/Escaper.php
index d6a02e14..c4964cb5 100644
--- a/src/Escaper.php
+++ b/src/Escaper.php
@@ -157,9 +157,21 @@ public function __construct(?string $encoding = null)
$this->htmlSpecialCharsFlags = ENT_QUOTES | ENT_SUBSTITUTE;
// set matcher callbacks
- $this->htmlAttrMatcher = [$this, 'htmlAttrMatcher'];
- $this->jsMatcher = [$this, 'jsMatcher'];
- $this->cssMatcher = [$this, 'cssMatcher'];
+ $this->htmlAttrMatcher =
+ /** @param array $matches */
+ function (array $matches): string {
+ return $this->htmlAttrMatcher($matches);
+ };
+ $this->jsMatcher =
+ /** @param array $matches */
+ function (array $matches): string {
+ return $this->jsMatcher($matches);
+ };
+ $this->cssMatcher =
+ /** @param array $matches */
+ function (array $matches): string {
+ return $this->cssMatcher($matches);
+ };
}
/**