diff --git a/.scenarios.lock/symfony4/composer.json b/.scenarios.lock/symfony4/composer.json index f18a501..21fd29f 100644 --- a/.scenarios.lock/symfony4/composer.json +++ b/.scenarios.lock/symfony4/composer.json @@ -24,7 +24,7 @@ "require-dev": { "symfony/cache": "^4.0 || ^5.0 || ^6.0", "phpunit/phpunit": "^10.0", - "phpstan/phpstan": "^0.12.38", + "phpstan/phpstan": "^1.10", "mapado/php-cs-fixer-config": "^3.2", "g1a/composer-test-scenarios": "^3.0", "giggsey/libphonenumber-for-php": "^8.0", diff --git a/.scenarios.lock/symfony4/composer.lock b/.scenarios.lock/symfony4/composer.lock index f5c7506..d1ab025 100644 --- a/.scenarios.lock/symfony4/composer.lock +++ b/.scenarios.lock/symfony4/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": "89d029928100c2af443ee4323dd8e7d1", + "content-hash": "8a6d3ab0778de3011bb5503cdda4ed7f", "packages": [ { "name": "doctrine/annotations", @@ -84,16 +84,16 @@ }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { @@ -125,9 +125,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/lexer", @@ -616,29 +616,29 @@ }, { "name": "laminas/laminas-code", - "version": "4.12.0", + "version": "4.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-code.git", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0" + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/36cbee228b427446419dd51944bdfb6bb8ddbcd0", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/7353d4099ad5388e84737dd16994316a04f48dbf", + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "doctrine/annotations": "^2.0.0", + "doctrine/annotations": "^2.0.1", "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.3.0", - "laminas/laminas-stdlib": "^3.6.1", - "phpunit/phpunit": "^10.0.9", + "laminas/laminas-coding-standard": "^2.5.0", + "laminas/laminas-stdlib": "^3.17.0", + "phpunit/phpunit": "^10.3.3", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.7.1" + "vimeo/psalm": "^5.15.0" }, "suggest": { "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", @@ -675,7 +675,7 @@ "type": "community_bridge" } ], - "time": "2023-09-06T14:56:25+00:00" + "time": "2023-10-18T10:00:55+00:00" }, { "name": "psr/cache", @@ -1943,16 +1943,16 @@ }, { "name": "symfony/string", - "version": "v6.3.2", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "53d1a83225002635bca3482fcbf963001313fb68" + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", - "reference": "53d1a83225002635bca3482fcbf963001313fb68", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { @@ -2009,7 +2009,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.2" + "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { @@ -2025,22 +2025,22 @@ "type": "tidelift" } ], - "time": "2023-07-05T08:41:27+00:00" + "time": "2023-11-09T08:28:21+00:00" } ], "packages-dev": [ { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -2082,7 +2082,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -2098,7 +2098,7 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", @@ -2249,16 +2249,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.28.0", + "version": "v3.38.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff" + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/113e09fea3d2306319ffaa2423fe3de768b28cff", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7e6070026e76aa09d77a47519625c86593fb8e31", + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31", "shasum": "" }, "require": { @@ -2291,8 +2291,6 @@ "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, @@ -2332,7 +2330,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.28.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.38.0" }, "funding": [ { @@ -2340,20 +2338,20 @@ "type": "github" } ], - "time": "2023-09-22T20:43:40+00:00" + "time": "2023-11-07T08:44:54+00:00" }, { "name": "g1a/composer-test-scenarios", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/g1a/composer-test-scenarios.git", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab" + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/3566ed6e525874b54f04f35b4d40a19c809114ab", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab", + "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/4f90128e0c1e897c8d3e43a0a88ada221721e7f4", + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4", "shasum": "" }, "require": { @@ -2394,22 +2392,22 @@ "description": "Useful scripts for testing multiple sets of Composer dependencies.", "support": { "issues": "https://github.com/g1a/composer-test-scenarios/issues", - "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.1" + "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.2" }, - "time": "2022-11-04T16:05:56+00:00" + "time": "2023-11-08T08:38:37+00:00" }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.13.21", + "version": "8.13.25", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374" + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/f21468b182b4e1983496fb0b8cb6a948d521f374", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/fe9c0b201941977b91b6b086c9551aff07a733ae", + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae", "shasum": "" }, "require": { @@ -2468,20 +2466,20 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php/issues", "source": "https://github.com/giggsey/libphonenumber-for-php" }, - "time": "2023-09-20T12:06:46+00:00" + "time": "2023-11-13T09:34:15+00:00" }, { "name": "giggsey/locale", - "version": "2.4", + "version": "2.5", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb" + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/e6d4540109a01dd2bc7334cdc842d6a6a67cf239", + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239", "shasum": "" }, "require": { @@ -2520,9 +2518,9 @@ "description": "Locale functions required by libphonenumber-for-php", "support": { "issues": "https://github.com/giggsey/Locale/issues", - "source": "https://github.com/giggsey/Locale/tree/2.4" + "source": "https://github.com/giggsey/Locale/tree/2.5" }, - "time": "2023-04-13T07:40:58+00:00" + "time": "2023-11-01T17:19:48+00:00" }, { "name": "mapado/php-cs-fixer-config", @@ -2799,20 +2797,20 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.100", + "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" + "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", + "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2822,11 +2820,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -2837,9 +2830,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -2855,20 +2855,20 @@ "type": "tidelift" } ], - "time": "2022-11-01T09:52:08+00:00" + "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364" + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/56f33548fe522c8d82da7ff3824b42829d324364", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e", + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e", "shasum": "" }, "require": { @@ -2925,7 +2925,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.6" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7" }, "funding": [ { @@ -2933,7 +2933,7 @@ "type": "github" } ], - "time": "2023-09-19T04:59:03+00:00" + "time": "2023-10-04T15:34:17+00:00" }, { "name": "phpunit/php-file-iterator", @@ -3180,16 +3180,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.3.5", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/747c3b2038f1139e3dcd9886a3f5a948648b7503", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -3229,7 +3229,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.3-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -3261,7 +3261,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -3277,7 +3277,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:42:37+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "psr/container", @@ -3678,16 +3678,16 @@ }, { "name": "sebastian/complexity", - "version": "3.0.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/c70b73893e10757af9c6a48929fa6a333b56a97a", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { @@ -3700,7 +3700,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -3724,7 +3724,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -3732,7 +3732,7 @@ "type": "github" } ], - "time": "2023-08-31T09:55:53+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", @@ -4349,16 +4349,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.28", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9" + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", + "url": "https://api.github.com/repos/symfony/cache/zipball/9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", "shasum": "" }, "require": { @@ -4386,7 +4386,7 @@ "require-dev": { "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", @@ -4426,7 +4426,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.28" + "source": "https://github.com/symfony/cache/tree/v5.4.31" }, "funding": [ { @@ -4442,7 +4442,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T08:32:42+00:00" + "time": "2023-11-06T17:37:55+00:00" }, { "name": "symfony/cache-contracts", @@ -4525,16 +4525,16 @@ }, { "name": "symfony/console", - "version": "v6.3.4", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", + "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { @@ -4595,7 +4595,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" + "source": "https://github.com/symfony/console/tree/v6.3.8" }, "funding": [ { @@ -4611,7 +4611,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T10:10:12+00:00" + "time": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/event-dispatcher", @@ -4771,16 +4771,16 @@ }, { "name": "symfony/finder", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { @@ -4815,7 +4815,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.3" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -4831,7 +4831,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T08:31:44+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/options-resolver", @@ -5265,16 +5265,16 @@ }, { "name": "symfony/var-exporter", - "version": "v6.3.4", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691" + "reference": "374d289c13cb989027274c86206ddc63b16a2441" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df1f8aac5751871b83d30bf3e2c355770f8f0691", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", + "reference": "374d289c13cb989027274c86206ddc63b16a2441", "shasum": "" }, "require": { @@ -5319,7 +5319,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.4" + "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" }, "funding": [ { @@ -5335,7 +5335,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T18:14:47+00:00" + "time": "2023-10-13T09:16:49+00:00" }, { "name": "theseer/tokenizer", @@ -5397,5 +5397,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/.scenarios.lock/symfony5/composer.json b/.scenarios.lock/symfony5/composer.json index 173c7dd..e955f41 100644 --- a/.scenarios.lock/symfony5/composer.json +++ b/.scenarios.lock/symfony5/composer.json @@ -24,7 +24,7 @@ "require-dev": { "symfony/cache": "^4.0 || ^5.0 || ^6.0", "phpunit/phpunit": "^10.0", - "phpstan/phpstan": "^0.12.38", + "phpstan/phpstan": "^1.10", "mapado/php-cs-fixer-config": "^3.2", "g1a/composer-test-scenarios": "^3.0", "giggsey/libphonenumber-for-php": "^8.0", diff --git a/.scenarios.lock/symfony5/composer.lock b/.scenarios.lock/symfony5/composer.lock index 032de03..3ea4428 100644 --- a/.scenarios.lock/symfony5/composer.lock +++ b/.scenarios.lock/symfony5/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": "f46be749f468177547d6ecafd4071683", + "content-hash": "249f2ff7f2cf5187c376d16ef03ede49", "packages": [ { "name": "doctrine/annotations", @@ -84,16 +84,16 @@ }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { @@ -125,9 +125,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/lexer", @@ -616,29 +616,29 @@ }, { "name": "laminas/laminas-code", - "version": "4.12.0", + "version": "4.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-code.git", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0" + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/36cbee228b427446419dd51944bdfb6bb8ddbcd0", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/7353d4099ad5388e84737dd16994316a04f48dbf", + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "doctrine/annotations": "^2.0.0", + "doctrine/annotations": "^2.0.1", "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.3.0", - "laminas/laminas-stdlib": "^3.6.1", - "phpunit/phpunit": "^10.0.9", + "laminas/laminas-coding-standard": "^2.5.0", + "laminas/laminas-stdlib": "^3.17.0", + "phpunit/phpunit": "^10.3.3", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.7.1" + "vimeo/psalm": "^5.15.0" }, "suggest": { "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", @@ -675,7 +675,7 @@ "type": "community_bridge" } ], - "time": "2023-09-06T14:56:25+00:00" + "time": "2023-10-18T10:00:55+00:00" }, { "name": "psr/cache", @@ -1062,16 +1062,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.28", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2" + "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/365992c83a836dfe635f1e903ccca43ee03d3dd2", - "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f84fd4fd8311a541ceb2ae3f257841d002450a90", + "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90", "shasum": "" }, "require": { @@ -1118,7 +1118,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.28" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.31" }, "funding": [ { @@ -1134,7 +1134,7 @@ "type": "tidelift" } ], - "time": "2023-08-21T07:23:18+00:00" + "time": "2023-11-06T22:05:57+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1715,16 +1715,16 @@ }, { "name": "symfony/string", - "version": "v6.3.2", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "53d1a83225002635bca3482fcbf963001313fb68" + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", - "reference": "53d1a83225002635bca3482fcbf963001313fb68", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { @@ -1781,7 +1781,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.2" + "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { @@ -1797,22 +1797,22 @@ "type": "tidelift" } ], - "time": "2023-07-05T08:41:27+00:00" + "time": "2023-11-09T08:28:21+00:00" } ], "packages-dev": [ { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -1854,7 +1854,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -1870,7 +1870,7 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", @@ -2021,16 +2021,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.28.0", + "version": "v3.38.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff" + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/113e09fea3d2306319ffaa2423fe3de768b28cff", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7e6070026e76aa09d77a47519625c86593fb8e31", + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31", "shasum": "" }, "require": { @@ -2063,8 +2063,6 @@ "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, @@ -2104,7 +2102,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.28.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.38.0" }, "funding": [ { @@ -2112,20 +2110,20 @@ "type": "github" } ], - "time": "2023-09-22T20:43:40+00:00" + "time": "2023-11-07T08:44:54+00:00" }, { "name": "g1a/composer-test-scenarios", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/g1a/composer-test-scenarios.git", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab" + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/3566ed6e525874b54f04f35b4d40a19c809114ab", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab", + "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/4f90128e0c1e897c8d3e43a0a88ada221721e7f4", + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4", "shasum": "" }, "require": { @@ -2166,22 +2164,22 @@ "description": "Useful scripts for testing multiple sets of Composer dependencies.", "support": { "issues": "https://github.com/g1a/composer-test-scenarios/issues", - "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.1" + "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.2" }, - "time": "2022-11-04T16:05:56+00:00" + "time": "2023-11-08T08:38:37+00:00" }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.13.21", + "version": "8.13.25", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374" + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/f21468b182b4e1983496fb0b8cb6a948d521f374", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/fe9c0b201941977b91b6b086c9551aff07a733ae", + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae", "shasum": "" }, "require": { @@ -2240,20 +2238,20 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php/issues", "source": "https://github.com/giggsey/libphonenumber-for-php" }, - "time": "2023-09-20T12:06:46+00:00" + "time": "2023-11-13T09:34:15+00:00" }, { "name": "giggsey/locale", - "version": "2.4", + "version": "2.5", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb" + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/e6d4540109a01dd2bc7334cdc842d6a6a67cf239", + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239", "shasum": "" }, "require": { @@ -2292,9 +2290,9 @@ "description": "Locale functions required by libphonenumber-for-php", "support": { "issues": "https://github.com/giggsey/Locale/issues", - "source": "https://github.com/giggsey/Locale/tree/2.4" + "source": "https://github.com/giggsey/Locale/tree/2.5" }, - "time": "2023-04-13T07:40:58+00:00" + "time": "2023-11-01T17:19:48+00:00" }, { "name": "mapado/php-cs-fixer-config", @@ -2571,20 +2569,20 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.100", + "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" + "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", + "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2594,11 +2592,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -2609,9 +2602,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -2627,20 +2627,20 @@ "type": "tidelift" } ], - "time": "2022-11-01T09:52:08+00:00" + "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364" + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/56f33548fe522c8d82da7ff3824b42829d324364", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e", + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e", "shasum": "" }, "require": { @@ -2697,7 +2697,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.6" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7" }, "funding": [ { @@ -2705,7 +2705,7 @@ "type": "github" } ], - "time": "2023-09-19T04:59:03+00:00" + "time": "2023-10-04T15:34:17+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2952,16 +2952,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.3.5", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/747c3b2038f1139e3dcd9886a3f5a948648b7503", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -3001,7 +3001,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.3-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -3033,7 +3033,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -3049,7 +3049,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:42:37+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "psr/container", @@ -3450,16 +3450,16 @@ }, { "name": "sebastian/complexity", - "version": "3.0.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/c70b73893e10757af9c6a48929fa6a333b56a97a", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { @@ -3472,7 +3472,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -3496,7 +3496,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -3504,7 +3504,7 @@ "type": "github" } ], - "time": "2023-08-31T09:55:53+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", @@ -4121,16 +4121,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.28", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9" + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", + "url": "https://api.github.com/repos/symfony/cache/zipball/9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", "shasum": "" }, "require": { @@ -4158,7 +4158,7 @@ "require-dev": { "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", @@ -4198,7 +4198,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.28" + "source": "https://github.com/symfony/cache/tree/v5.4.31" }, "funding": [ { @@ -4214,7 +4214,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T08:32:42+00:00" + "time": "2023-11-06T17:37:55+00:00" }, { "name": "symfony/cache-contracts", @@ -4297,16 +4297,16 @@ }, { "name": "symfony/console", - "version": "v6.3.4", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", + "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { @@ -4367,7 +4367,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" + "source": "https://github.com/symfony/console/tree/v6.3.8" }, "funding": [ { @@ -4383,7 +4383,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T10:10:12+00:00" + "time": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/event-dispatcher", @@ -4543,16 +4543,16 @@ }, { "name": "symfony/finder", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { @@ -4587,7 +4587,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.3" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -4603,7 +4603,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T08:31:44+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/options-resolver", @@ -5037,16 +5037,16 @@ }, { "name": "symfony/var-exporter", - "version": "v6.3.4", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691" + "reference": "374d289c13cb989027274c86206ddc63b16a2441" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df1f8aac5751871b83d30bf3e2c355770f8f0691", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", + "reference": "374d289c13cb989027274c86206ddc63b16a2441", "shasum": "" }, "require": { @@ -5091,7 +5091,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.4" + "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" }, "funding": [ { @@ -5107,7 +5107,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T18:14:47+00:00" + "time": "2023-10-13T09:16:49+00:00" }, { "name": "theseer/tokenizer", @@ -5169,5 +5169,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/.scenarios.lock/symfony6/composer.json b/.scenarios.lock/symfony6/composer.json index f44e62b..f09970f 100644 --- a/.scenarios.lock/symfony6/composer.json +++ b/.scenarios.lock/symfony6/composer.json @@ -24,7 +24,7 @@ "require-dev": { "symfony/cache": "^4.0 || ^5.0 || ^6.0", "phpunit/phpunit": "^10.0", - "phpstan/phpstan": "^0.12.38", + "phpstan/phpstan": "^1.10", "mapado/php-cs-fixer-config": "^3.2", "g1a/composer-test-scenarios": "^3.0", "giggsey/libphonenumber-for-php": "^8.0", diff --git a/.scenarios.lock/symfony6/composer.lock b/.scenarios.lock/symfony6/composer.lock index 76194dc..36dc2e6 100644 --- a/.scenarios.lock/symfony6/composer.lock +++ b/.scenarios.lock/symfony6/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": "f9a204a3bd473a56d8704cb444c88c80", + "content-hash": "5d4827e623291b07c026407c85eee0b5", "packages": [ { "name": "doctrine/annotations", @@ -84,16 +84,16 @@ }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { @@ -125,9 +125,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/lexer", @@ -616,29 +616,29 @@ }, { "name": "laminas/laminas-code", - "version": "4.12.0", + "version": "4.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-code.git", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0" + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/36cbee228b427446419dd51944bdfb6bb8ddbcd0", - "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/7353d4099ad5388e84737dd16994316a04f48dbf", + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "doctrine/annotations": "^2.0.0", + "doctrine/annotations": "^2.0.1", "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.3.0", - "laminas/laminas-stdlib": "^3.6.1", - "phpunit/phpunit": "^10.0.9", + "laminas/laminas-coding-standard": "^2.5.0", + "laminas/laminas-stdlib": "^3.17.0", + "phpunit/phpunit": "^10.3.3", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.7.1" + "vimeo/psalm": "^5.15.0" }, "suggest": { "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", @@ -675,7 +675,7 @@ "type": "community_bridge" } ], - "time": "2023-09-06T14:56:25+00:00" + "time": "2023-10-18T10:00:55+00:00" }, { "name": "psr/cache", @@ -1627,16 +1627,16 @@ }, { "name": "symfony/string", - "version": "v6.3.2", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "53d1a83225002635bca3482fcbf963001313fb68" + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", - "reference": "53d1a83225002635bca3482fcbf963001313fb68", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { @@ -1693,7 +1693,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.2" + "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { @@ -1709,22 +1709,22 @@ "type": "tidelift" } ], - "time": "2023-07-05T08:41:27+00:00" + "time": "2023-11-09T08:28:21+00:00" } ], "packages-dev": [ { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -1766,7 +1766,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -1782,7 +1782,7 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", @@ -1933,16 +1933,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.28.0", + "version": "v3.38.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff" + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/113e09fea3d2306319ffaa2423fe3de768b28cff", - "reference": "113e09fea3d2306319ffaa2423fe3de768b28cff", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7e6070026e76aa09d77a47519625c86593fb8e31", + "reference": "7e6070026e76aa09d77a47519625c86593fb8e31", "shasum": "" }, "require": { @@ -1975,8 +1975,6 @@ "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, @@ -2016,7 +2014,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.28.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.38.0" }, "funding": [ { @@ -2024,20 +2022,20 @@ "type": "github" } ], - "time": "2023-09-22T20:43:40+00:00" + "time": "2023-11-07T08:44:54+00:00" }, { "name": "g1a/composer-test-scenarios", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/g1a/composer-test-scenarios.git", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab" + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/3566ed6e525874b54f04f35b4d40a19c809114ab", - "reference": "3566ed6e525874b54f04f35b4d40a19c809114ab", + "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/4f90128e0c1e897c8d3e43a0a88ada221721e7f4", + "reference": "4f90128e0c1e897c8d3e43a0a88ada221721e7f4", "shasum": "" }, "require": { @@ -2078,22 +2076,22 @@ "description": "Useful scripts for testing multiple sets of Composer dependencies.", "support": { "issues": "https://github.com/g1a/composer-test-scenarios/issues", - "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.1" + "source": "https://github.com/g1a/composer-test-scenarios/tree/3.2.2" }, - "time": "2022-11-04T16:05:56+00:00" + "time": "2023-11-08T08:38:37+00:00" }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.13.21", + "version": "8.13.25", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374" + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/f21468b182b4e1983496fb0b8cb6a948d521f374", - "reference": "f21468b182b4e1983496fb0b8cb6a948d521f374", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/fe9c0b201941977b91b6b086c9551aff07a733ae", + "reference": "fe9c0b201941977b91b6b086c9551aff07a733ae", "shasum": "" }, "require": { @@ -2152,20 +2150,20 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php/issues", "source": "https://github.com/giggsey/libphonenumber-for-php" }, - "time": "2023-09-20T12:06:46+00:00" + "time": "2023-11-13T09:34:15+00:00" }, { "name": "giggsey/locale", - "version": "2.4", + "version": "2.5", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb" + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", - "reference": "a6b33dfc9e8949b7e28133c4628b29cd9f1850bb", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/e6d4540109a01dd2bc7334cdc842d6a6a67cf239", + "reference": "e6d4540109a01dd2bc7334cdc842d6a6a67cf239", "shasum": "" }, "require": { @@ -2204,9 +2202,9 @@ "description": "Locale functions required by libphonenumber-for-php", "support": { "issues": "https://github.com/giggsey/Locale/issues", - "source": "https://github.com/giggsey/Locale/tree/2.4" + "source": "https://github.com/giggsey/Locale/tree/2.5" }, - "time": "2023-04-13T07:40:58+00:00" + "time": "2023-11-01T17:19:48+00:00" }, { "name": "mapado/php-cs-fixer-config", @@ -2483,20 +2481,20 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.100", + "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" + "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", + "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2506,11 +2504,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -2521,9 +2514,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -2539,20 +2539,20 @@ "type": "tidelift" } ], - "time": "2022-11-01T09:52:08+00:00" + "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364" + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/56f33548fe522c8d82da7ff3824b42829d324364", - "reference": "56f33548fe522c8d82da7ff3824b42829d324364", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e", + "reference": "355324ca4980b8916c18b9db29f3ef484078f26e", "shasum": "" }, "require": { @@ -2609,7 +2609,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.6" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7" }, "funding": [ { @@ -2617,7 +2617,7 @@ "type": "github" } ], - "time": "2023-09-19T04:59:03+00:00" + "time": "2023-10-04T15:34:17+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2864,16 +2864,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.3.5", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/747c3b2038f1139e3dcd9886a3f5a948648b7503", - "reference": "747c3b2038f1139e3dcd9886a3f5a948648b7503", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -2913,7 +2913,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.3-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -2945,7 +2945,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -2961,7 +2961,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:42:37+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "psr/container", @@ -3362,16 +3362,16 @@ }, { "name": "sebastian/complexity", - "version": "3.0.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/c70b73893e10757af9c6a48929fa6a333b56a97a", - "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { @@ -3384,7 +3384,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -3408,7 +3408,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -3416,7 +3416,7 @@ "type": "github" } ], - "time": "2023-08-31T09:55:53+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", @@ -4033,16 +4033,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.28", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9" + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", - "reference": "62b7ae3bccc5b474a30fadc7ef6bbc362007d3f9", + "url": "https://api.github.com/repos/symfony/cache/zipball/9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", "shasum": "" }, "require": { @@ -4070,7 +4070,7 @@ "require-dev": { "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", @@ -4110,7 +4110,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.28" + "source": "https://github.com/symfony/cache/tree/v5.4.31" }, "funding": [ { @@ -4126,7 +4126,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T08:32:42+00:00" + "time": "2023-11-06T17:37:55+00:00" }, { "name": "symfony/cache-contracts", @@ -4209,16 +4209,16 @@ }, { "name": "symfony/console", - "version": "v6.3.4", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", + "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { @@ -4279,7 +4279,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" + "source": "https://github.com/symfony/console/tree/v6.3.8" }, "funding": [ { @@ -4295,7 +4295,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T10:10:12+00:00" + "time": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/event-dispatcher", @@ -4455,16 +4455,16 @@ }, { "name": "symfony/finder", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { @@ -4499,7 +4499,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.3" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -4515,7 +4515,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T08:31:44+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/options-resolver", @@ -5032,16 +5032,16 @@ }, { "name": "symfony/var-exporter", - "version": "v6.3.4", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691" + "reference": "374d289c13cb989027274c86206ddc63b16a2441" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df1f8aac5751871b83d30bf3e2c355770f8f0691", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", + "reference": "374d289c13cb989027274c86206ddc63b16a2441", "shasum": "" }, "require": { @@ -5086,7 +5086,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.4" + "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" }, "funding": [ { @@ -5102,7 +5102,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T18:14:47+00:00" + "time": "2023-10-13T09:16:49+00:00" }, { "name": "theseer/tokenizer", @@ -5164,5 +5164,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/Tests/Model/JsonLd/Product.php b/Tests/Model/JsonLd/Product.php index b52f797..d1e3005 100644 --- a/Tests/Model/JsonLd/Product.php +++ b/Tests/Model/JsonLd/Product.php @@ -21,6 +21,7 @@ class Product * @var int * * @Rest\Id + * * @Rest\Attribute(name="id", type="integer") */ private $id; diff --git a/composer.json b/composer.json index e893031..f6a532a 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,7 @@ "require-dev": { "symfony/cache": "^4.0 || ^5.0 || ^6.0", "phpunit/phpunit": "^10.0", - "phpstan/phpstan": "^0.12.38", + "phpstan/phpstan": "^1.10", "mapado/php-cs-fixer-config": "^3.2", "g1a/composer-test-scenarios": "^3.0", "giggsey/libphonenumber-for-php": "^8.0", diff --git a/composer.lock b/composer.lock index 7c11340..5cdb726 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": "7316b4130e5b9606890dfce82e6f1be8", + "content-hash": "1065e5d3befe5592379425e0a55413b1", "packages": [ { "name": "doctrine/annotations", @@ -2483,20 +2483,20 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.100", + "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" + "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", + "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2506,11 +2506,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -2521,9 +2516,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -2539,7 +2541,7 @@ "type": "tidelift" } ], - "time": "2022-11-01T09:52:08+00:00" + "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpunit/php-code-coverage", @@ -5164,5 +5166,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/package.json b/package.json index 96e33a8..2f84e58 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,10 @@ "lint-staged": "^9.4.0", "prettier": "^1.18.2" }, + "scripts": { + "stan": "vendor/bin/phpstan analyse src/ -c phpstan.neon", + "phpunit": "vendor/bin/phpunit" + }, "husky": { "hooks": { "pre-commit": "lint-staged" diff --git a/src/Collection/Collection.php b/src/Collection/Collection.php index b032724..3dbcc60 100644 --- a/src/Collection/Collection.php +++ b/src/Collection/Collection.php @@ -59,7 +59,11 @@ public function __serialize(): array */ public function __unserialize($values): void { - $this->elements = unserialize($values); + $unserializedValues = unserialize($values); + + if (is_array($unserializedValues)) { + $this->elements = $unserializedValues; + } } /** @@ -167,6 +171,20 @@ public function getExtraProperties(): array return $this->extraProperties; } + public function getStringExtraProperty(string $key): ?string + { + $value = $this->getExtraProperty($key); + + return is_string($value) ? $value : null; + } + + public function getIntExtraProperty(string $key): ?int + { + $value = $this->getExtraProperty($key); + + return is_int($value) ? $value : null; + } + /** * return the value of an extra property * diff --git a/src/Collection/HydraPaginatedCollection.php b/src/Collection/HydraPaginatedCollection.php index 4c9a5e6..a766666 100644 --- a/src/Collection/HydraPaginatedCollection.php +++ b/src/Collection/HydraPaginatedCollection.php @@ -16,7 +16,7 @@ class HydraPaginatedCollection extends Collection */ public function getFirstPage(): ?string { - return $this->getExtraProperty('hydra:firstPage'); + return $this->getStringExtraProperty('hydra:firstPage'); } /** @@ -24,7 +24,7 @@ public function getFirstPage(): ?string */ public function getLastPage(): ?string { - return $this->getExtraProperty('hydra:lastPage'); + return $this->getStringExtraProperty('hydra:lastPage'); } /** @@ -32,7 +32,7 @@ public function getLastPage(): ?string */ public function getNextPage(): ?string { - return $this->getExtraProperty('hydra:nextPage'); + return $this->getStringExtraProperty('hydra:nextPage'); } /** @@ -40,6 +40,6 @@ public function getNextPage(): ?string */ public function getTotalItems(): int { - return $this->getExtraProperty('hydra:totalItems') ?? 0; + return $this->getIntExtraProperty('hydra:totalItems') ?? 0; } } diff --git a/src/EntityRepository.php b/src/EntityRepository.php index 0588123..65cde95 100644 --- a/src/EntityRepository.php +++ b/src/EntityRepository.php @@ -30,7 +30,7 @@ class EntityRepository protected $sdk; /** - * @var string + * @var class-string */ protected $entityName; @@ -53,7 +53,7 @@ class EntityRepository * * @param SdkClient $sdkClient The client to connect to the datasource with * @param RestClient $restClient The client to process the http requests - * @param string $entityName The entity to work with + * @param class-string $entityName The entity to work with */ public function __construct( SdkClient $sdkClient, @@ -122,7 +122,7 @@ public function __call(string $method, array $arguments) $data = $this->assertArray($data, $methodName); $entityList = ArrayHelper::arrayGet($data, $collectionKey); - if (!empty($entityList)) { + if (!empty($entityList) && is_array($entityList)) { $data = current($entityList); $hydratedData = $hydrator->hydrate($data, $this->entityName); @@ -144,8 +144,11 @@ public function __call(string $method, array $arguments) // then cache each entity from list foreach ($hydratedData as $entity) { $identifier = $entity->{$this->getClassMetadata()->getIdGetter()}(); - $this->saveToCache($identifier, $entity); - $this->unitOfWork->registerClean($identifier, $entity); + + if (is_object($entity)) { + $this->saveToCache($identifier, $entity); + $this->unitOfWork->registerClean($identifier, $entity); + } } } @@ -157,10 +160,9 @@ public function __call(string $method, array $arguments) /** * find - finds one item of the entity based on the @REST\Id field in the entity * - * @param string|int|mixed $id id of the element to fetch * @param array $queryParams query parameters to add to the query */ - public function find($id, array $queryParams = []): ?object + public function find(string|int $id, array $queryParams = []): ?object { $hydrator = $this->sdk->getModelHydrator(); $id = $hydrator->convertId($id, $this->entityName); @@ -169,7 +171,7 @@ public function find($id, array $queryParams = []): ?object // if entity is found in cache, return it $entityFromCache = $this->fetchFromCache($id); - if (false != $entityFromCache) { + if ($entityFromCache) { return $entityFromCache; } @@ -216,7 +218,12 @@ public function findAll(): Collection // then cache each entity from list foreach ($entityList as $entity) { + if (!is_object($entity)) { + throw new \RuntimeException("Entity should be an object. This should not happen."); + } + $identifier = $entity->{$this->getClassMetadata()->getIdGetter()}(); + $this->unitOfWork->registerClean($identifier, $entity); $this->saveToCache($identifier, $entity); } @@ -325,10 +332,7 @@ public function persist( return $out; } - /** - * @return object|false - */ - protected function fetchFromCache(string $key) + protected function fetchFromCache(string $key): object|false { $key = $this->normalizeCacheKey($key); $cacheItemPool = $this->sdk->getCacheItemPool(); @@ -338,6 +342,10 @@ protected function fetchFromCache(string $key) $cacheItem = $cacheItemPool->getItem($cacheKey); $cacheData = $cacheItem->get(); + if (!is_object($cacheData)) { + throw new \RuntimeException('Cache data should be an object. This should not happen.'); + } + return $cacheData; } } diff --git a/src/Helper/ArrayHelper.php b/src/Helper/ArrayHelper.php index f8fc699..51fc1b2 100644 --- a/src/Helper/ArrayHelper.php +++ b/src/Helper/ArrayHelper.php @@ -19,8 +19,11 @@ class ArrayHelper * * @return mixed */ - public static function arrayGet(array $array, ?string $key, $default = null) - { + public static function arrayGet( + array $array, + ?string $key, + $default = null + ): mixed { if (null === $key) { return $array; } diff --git a/src/Mapping.php b/src/Mapping.php index f5744f8..a11d7c9 100644 --- a/src/Mapping.php +++ b/src/Mapping.php @@ -72,6 +72,8 @@ public function setMapping(array $classMetadataList): self /** * return a model class name for a given key + * + * @return class-string */ public function getModelName(string $key): string { @@ -211,7 +213,7 @@ private function checkMappingExistence( } if ($checkModelName) { - if ('' === $metadata->getModelName()) { + if (empty($metadata->getModelName())) { throw new MappingException( $key . ' key is mapped but the model name is empty' ); diff --git a/src/Mapping/Annotations/Entity.php b/src/Mapping/Annotations/Entity.php index 60fadb1..1d2dae9 100644 --- a/src/Mapping/Annotations/Entity.php +++ b/src/Mapping/Annotations/Entity.php @@ -10,6 +10,7 @@ * @author Julien Deniau * * @Annotation + * * @Target("CLASS") */ final class Entity @@ -29,4 +30,15 @@ final class Entity * @var string */ public $repository; + + /** + * @return ?class-string + */ + public function getRepository(): ?string + { + /** @var ?class-string $repository */ + $repository = $this->repository; + + return $repository; + } } diff --git a/src/Mapping/ClassMetadata.php b/src/Mapping/ClassMetadata.php index 7434760..0fe1c6a 100644 --- a/src/Mapping/ClassMetadata.php +++ b/src/Mapping/ClassMetadata.php @@ -18,7 +18,7 @@ class ClassMetadata /** * Model name (entity class with full namespace, ie: "Foo\Entity\Article"). * - * @var string + * @var class-string */ private $modelName; @@ -32,7 +32,7 @@ class ClassMetadata /** * Repository name (repository class with full namespace, ie: "Foo\Repository\ArticleRepository"). * - * @var string + * @var class-string */ private $repositoryName; @@ -57,6 +57,10 @@ class ClassMetadata */ private $identifierAttribute; + /** + * @param class-string $modelName + * @param class-string $repositoryName + */ public function __construct( string $key, string $modelName, @@ -69,11 +73,18 @@ public function __construct( $this->relationList = []; } + /** + * @return class-string + */ public function getModelName(): string { return $this->modelName; } + /** + * @param class-string $modelName + * @return $this + */ public function setModelName(string $modelName): self { $this->modelName = $modelName; @@ -194,11 +205,17 @@ public function getRelation(string $key): ?Relation return null; } + /** + * @return class-string + */ public function getRepositoryName(): string { return $this->repositoryName; } + /** + * @param class-string $repositoryName + */ public function setRepositoryName(string $repositoryName): self { $this->repositoryName = $repositoryName; diff --git a/src/Mapping/Driver/AnnotationDriver.php b/src/Mapping/Driver/AnnotationDriver.php index 0a86dcf..23c1da9 100644 --- a/src/Mapping/Driver/AnnotationDriver.php +++ b/src/Mapping/Driver/AnnotationDriver.php @@ -52,6 +52,7 @@ public function loadDirectory(string $path): array throw new MappingException($path . ' is not a valid directory'); } + /** @var array $iterator */ $iterator = new \RegexIterator( new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( @@ -199,7 +200,7 @@ private function getClassMetadataForClassname( $classMetadata = new ClassMetadata( $classAnnotation->key, $classname, - $classAnnotation->repository + $classAnnotation->getRepository() ); $classMetadata->setAttributeList($attributeList); $classMetadata->setRelationList($relationList); diff --git a/src/Model/ModelHydrator.php b/src/Model/ModelHydrator.php index b3a4aca..eb35515 100644 --- a/src/Model/ModelHydrator.php +++ b/src/Model/ModelHydrator.php @@ -27,10 +27,7 @@ public function __construct(SdkClient $sdk) $this->sdk = $sdk; } - /** - * @param string|int|mixed $id - */ - public function convertId($id, string $modelName): string + public function convertId(string|int $id, string $modelName): string { $id = (string) $id; @@ -48,9 +45,6 @@ public function convertId($id, string $modelName): string return $id; } - /** - * convert data as array to entity - */ public function hydrate(?array $data, string $modelName): ?object { $mapping = $this->sdk->getMapping(); @@ -62,6 +56,8 @@ public function hydrate(?array $data, string $modelName): ?object /** * convert API response to Collection containing entities + * + * @param class-string $modelName */ public function hydrateList(?array $data, string $modelName): Collection { @@ -76,30 +72,45 @@ public function hydrateList(?array $data, string $modelName): Collection /** * convert list of data as array to Collection containing entities + * + * @param class-string $modelName */ private function deserializeAll(array $data, string $modelName): Collection { $collectionKey = $this->sdk->getMapping()->getConfig()['collectionKey']; - $itemList = array_map(function ($member) use ($modelName) { - return $this->deserialize($member, $modelName); - }, ArrayHelper::arrayGet($data, $collectionKey)); + $itemList = ArrayHelper::arrayGet($data, $collectionKey); + + if (!is_array($itemList)) { + throw new \RuntimeException(sprintf( + 'Unable to deserialize collection, %s key not found in response', + $collectionKey + )); + } + + $itemList = array_map(fn (?array $member) => $this->deserialize($member, $modelName), $itemList); $extraProperties = array_filter( $data, - function ($key) use ($collectionKey) { - return $key !== $collectionKey; - }, - ARRAY_FILTER_USE_KEY + fn ($key) => $key !== $collectionKey, + \ARRAY_FILTER_USE_KEY ); + /** @var class-string $collectionClassName */ $collectionClassName = $this->guessCollectionClassname($data); + if (!class_exists($collectionClassName)) { + throw new \RuntimeException("Seem's like $collectionClassName does not exist"); + } + + /** @var Collection */ return new $collectionClassName($itemList, $extraProperties); } /** * convert array to entity + * + * @param class-string $modelName */ private function deserialize(?array $data, string $modelName): ?object { @@ -116,8 +127,8 @@ private function deserialize(?array $data, string $modelName): ?object private function guessCollectionClassname(array $data): string { switch (true) { - case !empty($data['@type']) && - 'hydra:PagedCollection' === $data['@type']: + case !empty($data['@type']) + && 'hydra:PagedCollection' === $data['@type']: return HydraPaginatedCollection::class; case array_key_exists('_embedded', $data): diff --git a/src/Model/Serializer.php b/src/Model/Serializer.php index aa22774..c97ddbf 100644 --- a/src/Model/Serializer.php +++ b/src/Model/Serializer.php @@ -86,6 +86,10 @@ public function serialize( return $out; } + /** + * @param array $data + * @param class-string $className + */ public function deserialize(array $data, string $className): object { $className = $this->resolveRealClassName($data, $className); @@ -96,6 +100,12 @@ public function deserialize(array $data, string $className): object $instance = new $className(); + if (!is_object($instance)) { + throw new \RuntimeException( + "The class $className is not instantiable" + ); + } + if ($attributeList) { foreach ($attributeList as $attribute) { $key = $attribute->getSerializedKey(); @@ -145,6 +155,12 @@ public function deserialize(array $data, string $className): object if (isset($value)) { if ('datetime' === $attribute->getType()) { + if (!is_string($value)) { + throw new \RuntimeException( + "The value for $attributeName to cast to datetime value should be a string" + ); + } + $this->setDateTimeValue( $instance, $attributeName, @@ -396,25 +412,6 @@ private function setDateTimeValue( throw $e; } - // The excepted value is a DateTimeImmutable, so let's do that - $this->propertyAccessor->setValue( - $instance, - $attributeName, - new DateTimeImmutable($value) - ); - } catch (\TypeError $e) { - // this `catch` block can be dropped when minimum support of symfony/property-access is 3.4 - if ( - false === - mb_strpos( - $e->getMessage(), - 'must be an instance of DateTimeImmutable, instance of DateTime given' - ) - ) { - // not an issue with DateTimeImmutable, then rethrow exception - throw $e; - } - // The excepted value is a DateTimeImmutable, so let's do that $this->propertyAccessor->setValue( $instance, diff --git a/src/RestClient.php b/src/RestClient.php index 9a289be..8c29536 100644 --- a/src/RestClient.php +++ b/src/RestClient.php @@ -99,9 +99,21 @@ public function get(string $path, array $parameters = []) if (null !== $response && 404 === $response->getStatusCode()) { return null; } - throw new RestClientException('Error while getting resource', $path, [], 7, $e); + throw new RestClientException( + 'Error while getting resource', + $path, + [], + 7, + $e + ); } catch (TransferException $e) { - throw new RestException('Error while getting resource', $path, [], 1, $e); + throw new RestException( + 'Error while getting resource', + $path, + [], + 1, + $e + ); } } @@ -115,7 +127,13 @@ public function delete(string $path): void } catch (ClientException $e) { return; } catch (TransferException $e) { - throw new RestException('Error while deleting resource', $path, [], 2, $e); + throw new RestException( + 'Error while deleting resource', + $path, + [], + 2, + $e + ); } } @@ -135,9 +153,21 @@ public function post(string $path, array $data, array $parameters = []) $parameters ); } catch (ClientException $e) { - throw new RestClientException('Cannot create resource', $path, [], 3, $e); + throw new RestClientException( + 'Cannot create resource', + $path, + [], + 3, + $e + ); } catch (TransferException $e) { - throw new RestException('Error while posting resource', $path, [], 4, $e); + throw new RestException( + 'Error while posting resource', + $path, + [], + 4, + $e + ); } } @@ -158,9 +188,21 @@ public function put(string $path, array $data, array $parameters = []) $parameters ); } catch (ClientException $e) { - throw new RestClientException('Cannot update resource', $path, [], 5, $e); + throw new RestClientException( + 'Cannot update resource', + $path, + [], + 5, + $e + ); } catch (TransferException $e) { - throw new RestException('Error while puting resource', $path, [], 6, $e); + throw new RestException( + 'Error while puting resource', + $path, + [], + 6, + $e + ); } } @@ -180,7 +222,12 @@ protected function mergeDefaultParameters(array $parameters): array $out = array_replace_recursive($defaultParameters, $parameters); if (null === $out) { - throw new \RuntimeException(sprintf('Error while calling array_replace_recursive in %s. This should not happen.', __METHOD__)); + throw new \RuntimeException( + sprintf( + 'Error while calling array_replace_recursive in %s. This should not happen.', + __METHOD__ + ) + ); } return $out; @@ -261,7 +308,10 @@ private function executeRequest( } if ($requestIsJson) { - return json_decode((string) $response->getBody(), true); + /** @var array $decodedJson */ + $decodedJson = json_decode((string) $response->getBody(), true); + + return $decodedJson; } else { return $response; } diff --git a/src/SdkClient.php b/src/SdkClient.php index e2a0763..ee521f6 100644 --- a/src/SdkClient.php +++ b/src/SdkClient.php @@ -184,11 +184,14 @@ public function createProxy(string $id): GhostObjectInterface $proxyModelName = preg_replace('/^\\\\*/', '', $modelName); + /** + * @var \Closure(RealObjectType&GhostObjectInterface, string, array, ?Closure, array) $initializer + */ $initializer = function ( GhostObjectInterface $proxy, string $method, array $parameters, - &$initializer, + \Closure|null &$initializer, array $properties ) use ($sdk, $classMetadata, $id, $proxyModelName) { $isAllowedMethod = diff --git a/src/UnitOfWork.php b/src/UnitOfWork.php index 8530565..c446b2f 100644 --- a/src/UnitOfWork.php +++ b/src/UnitOfWork.php @@ -194,11 +194,11 @@ private function getDirtyFields( /** * add defined identifiers to given model * - * @param mixed $newSerializedModel - * @param ?mixed $idSerializedKey + * @param array $newSerializedModel + * @param ?string $idSerializedKey */ private function addIdentifiers( - $newSerializedModel, + array $newSerializedModel, array $dirtyFields, $idSerializedKey = null ): array {