From 1e2461950a42c331673d65da375af8f006a7836d Mon Sep 17 00:00:00 2001 From: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com> Date: Fri, 12 Feb 2021 01:04:39 +0100 Subject: [PATCH] composer update --- composer.lock | 41 +- vendor/composer/installed.json | 49 +- .../modules/discopower/.travis.yml | 9 +- .../modules/discopower/composer.json | 2 +- .../modules/discopower/default-enable | 3 - .../dictionaries/tabs.translation.json | 15 +- vendor/webmozart/assert/CHANGELOG.md | 82 +- vendor/webmozart/assert/README.md | 42 +- vendor/webmozart/assert/composer.json | 12 +- vendor/webmozart/assert/psalm.xml | 5 +- vendor/webmozart/assert/src/Assert.php | 806 ++----- vendor/webmozart/assert/src/Mixin.php | 1971 ----------------- 12 files changed, 299 insertions(+), 2738 deletions(-) delete mode 100644 vendor/simplesamlphp/simplesamlphp/modules/discopower/default-enable delete mode 100644 vendor/webmozart/assert/src/Mixin.php diff --git a/composer.lock b/composer.lock index eb7f33a25..ec49e4692 100644 --- a/composer.lock +++ b/composer.lock @@ -11026,22 +11026,22 @@ }, { "name": "simplesamlphp/simplesamlphp-module-discopower", - "version": "v0.9.1", + "version": "v0.9.3", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-discopower.git", - "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e" + "reference": "c892926e8186d0a2c638f7032dfc30540c1f92fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/006c0617610f1bae11cf4d17e8ce4c509239a60e", - "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/c892926e8186d0a2c638f7032dfc30540c1f92fb", + "reference": "c892926e8186d0a2c638f7032dfc30540c1f92fb", "shasum": "" }, "require": { "php": ">=5.6", "simplesamlphp/composer-module-installer": "~1.1", - "webmozart/assert": "~1.4" + "webmozart/assert": "~1.4 <1.6" }, "require-dev": { "phpunit/phpunit": "~5.7", @@ -11069,11 +11069,7 @@ "discovery", "simplesamlphp" ], - "support": { - "issues": "https://github.com/tvdijen/simplesamlphp-module-discopower/issues", - "source": "https://github.com/tvdijen/simplesamlphp-module-discopower" - }, - "time": "2019-11-27T20:34:37+00:00" + "time": "2019-12-13T07:51:43+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-exampleattributeserver", @@ -14346,30 +14342,31 @@ }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" - }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -14391,11 +14388,7 @@ "check", "validate" ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" - }, - "time": "2020-07-08T17:02:28+00:00" + "time": "2019-08-24T08:43:50+00:00" }, { "name": "webmozart/path-util", diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 4a97b286b..90a6672e2 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -11373,29 +11373,29 @@ }, { "name": "simplesamlphp/simplesamlphp-module-discopower", - "version": "v0.9.1", - "version_normalized": "0.9.1.0", + "version": "v0.9.3", + "version_normalized": "0.9.3.0", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-discopower.git", - "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e" + "reference": "c892926e8186d0a2c638f7032dfc30540c1f92fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/006c0617610f1bae11cf4d17e8ce4c509239a60e", - "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/c892926e8186d0a2c638f7032dfc30540c1f92fb", + "reference": "c892926e8186d0a2c638f7032dfc30540c1f92fb", "shasum": "" }, "require": { "php": ">=5.6", "simplesamlphp/composer-module-installer": "~1.1", - "webmozart/assert": "~1.4" + "webmozart/assert": "~1.4 <1.6" }, "require-dev": { "phpunit/phpunit": "~5.7", "simplesamlphp/simplesamlphp": "^1.17" }, - "time": "2019-11-27T20:34:37+00:00", + "time": "2019-12-13T07:51:43+00:00", "type": "simplesamlphp-module", "installation-source": "dist", "autoload": { @@ -11418,11 +11418,7 @@ "discopower", "discovery", "simplesamlphp" - ], - "support": { - "issues": "https://github.com/tvdijen/simplesamlphp-module-discopower/issues", - "source": "https://github.com/tvdijen/simplesamlphp-module-discopower" - } + ] }, { "name": "simplesamlphp/simplesamlphp-module-exampleattributeserver", @@ -14795,32 +14791,33 @@ }, { "name": "webmozart/assert", - "version": "1.9.1", - "version_normalized": "1.9.1.0", + "version": "1.5.0", + "version_normalized": "1.5.0.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" - }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, - "time": "2020-07-08T17:02:28+00:00", + "time": "2019-08-24T08:43:50+00:00", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, "installation-source": "dist", "autoload": { "psr-4": { @@ -14842,11 +14839,7 @@ "assert", "check", "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" - } + ] }, { "name": "webmozart/path-util", diff --git a/vendor/simplesamlphp/simplesamlphp/modules/discopower/.travis.yml b/vendor/simplesamlphp/simplesamlphp/modules/discopower/.travis.yml index 3c250287a..0164f2a60 100644 --- a/vendor/simplesamlphp/simplesamlphp/modules/discopower/.travis.yml +++ b/vendor/simplesamlphp/simplesamlphp/modules/discopower/.travis.yml @@ -10,7 +10,7 @@ php: - 7.3 env: - - SIMPLESAMLPHP_VERSION=1.17.* + - SIMPLESAMLPHP_VERSION=1.18.* matrix: allow_failures: @@ -27,9 +27,4 @@ script: - if [[ "$TRAVIS_PHP_VERSION" == "7.3" ]]; then vendor/bin/psalm; fi after_success: - # Codecov, need to edit bash uploader for incorrect TRAVIS_PYTHON_VERSION environment variable matching, at least until codecov/codecov-bash#133 is resolved - - curl -s https://codecov.io/bash > .codecov - - sed -i -e 's/TRAVIS_.*_VERSION/^TRAVIS_.*_VERSION=/' .codecov - - chmod +x .codecov - - if [[ $TRAVIS_PHP_VERSION == "5.6" ]]; then ./.codecov -X gcov; fi -# - if [[ "$TRAVIS_PHP_VERSION" == "5.6" ]]; then bash <(curl -s https://codecov.io/bash); fi + - if [[ "$TRAVIS_PHP_VERSION" == "5.6" ]]; then bash <(curl -s https://codecov.io/bash); fi diff --git a/vendor/simplesamlphp/simplesamlphp/modules/discopower/composer.json b/vendor/simplesamlphp/simplesamlphp/modules/discopower/composer.json index ef307b9e3..f254d0436 100644 --- a/vendor/simplesamlphp/simplesamlphp/modules/discopower/composer.json +++ b/vendor/simplesamlphp/simplesamlphp/modules/discopower/composer.json @@ -29,7 +29,7 @@ "require": { "php": ">=5.6", "simplesamlphp/composer-module-installer": "~1.1", - "webmozart/assert": "~1.4" + "webmozart/assert": "~1.4 <1.6" }, "require-dev": { "simplesamlphp/simplesamlphp": "^1.17", diff --git a/vendor/simplesamlphp/simplesamlphp/modules/discopower/default-enable b/vendor/simplesamlphp/simplesamlphp/modules/discopower/default-enable deleted file mode 100644 index 25615cb47..000000000 --- a/vendor/simplesamlphp/simplesamlphp/modules/discopower/default-enable +++ /dev/null @@ -1,3 +0,0 @@ -This file indicates that the default state of this module -is enabled. To disable, create a file named disable in the -same directory as this file. diff --git a/vendor/simplesamlphp/simplesamlphp/modules/discopower/dictionaries/tabs.translation.json b/vendor/simplesamlphp/simplesamlphp/modules/discopower/dictionaries/tabs.translation.json index cabbb63f4..fb533b427 100644 --- a/vendor/simplesamlphp/simplesamlphp/modules/discopower/dictionaries/tabs.translation.json +++ b/vendor/simplesamlphp/simplesamlphp/modules/discopower/dictionaries/tabs.translation.json @@ -96,12 +96,12 @@ "xh": "Grisi", "ca": "Grècia" }, - "netherlands": { - "en": "The Netherlands", - "nl": "Nederland", - "de": "Niederlande", - "fr": "Les Pays-Bas" - }, + "netherlands": { + "en": "The Netherlands", + "nl": "Nederland", + "de": "Niederlande", + "fr": "Les Pays-Bas" + }, "southafrica": { "es": "Sud\u00e1frica", "ru": "\u042e\u0436\u043d\u0430\u044f \u0410\u0444\u0440\u0438\u043a\u0430", @@ -113,6 +113,7 @@ "el": "\u039d\u03cc\u03c4\u03b9\u03b1 \u0391\u03c6\u03c1\u03b9\u03ba\u03ae", "xh": "uMzantsi Afrika", "zu": "iNingizimu Afrika", + "st": "Afrika Boroa", "ca": "Sud-Àfrica" }, "edugain": { @@ -139,6 +140,7 @@ "el": "\u0386\u03bb\u03bb\u03bf\u03b9 \u03c6\u03bf\u03c1\u03b5\u03af\u03c2", "xh": "Ezahlukahlukeneyo", "zu": "Ezihlukahlukene", + "st": "Fapakaneng", "ca": "Altres" }, "incommon": { @@ -164,6 +166,7 @@ "nl": "Zoeken...", "zu": "Ukucinga okukhulayo...", "xh": "Ukhangelo oluqhubekayo...", + "st": "Patlo e Eketsang...", "ca": "Cerca incremental..." } } diff --git a/vendor/webmozart/assert/CHANGELOG.md b/vendor/webmozart/assert/CHANGELOG.md index 1d379277f..9a7becb24 100644 --- a/vendor/webmozart/assert/CHANGELOG.md +++ b/vendor/webmozart/assert/CHANGELOG.md @@ -3,95 +3,23 @@ Changelog ## UNRELEASED -## 1.9.1 - -## Fixed - -* provisional support for PHP 8.0 - -## 1.9.0 - -* added better Psalm support for `all*` & `nullOr*` methods - * These methods are now understood by Psalm through a mixin. You may need a newer version of Psalm in order to use this -* added `@psalm-pure` annotation to `Assert::notFalse()` -* added more `@psalm-assert` annotations where appropriate - -## Changed - -* the `all*` & `nullOr*` methods are now declared on an interface, instead of `@method` annotations. -This interface is linked to the `Assert` class with a `@mixin` annotation. Most IDE's have supported this -for a long time, and you should not lose any autocompletion capabilities. PHPStan has supported this since -version `0.12.20`. This package is marked incompatible (with a composer conflict) with phpstan version prior to that. -If you do not use PHPStan than this does not matter. - -## 1.8.0 - -### Added - -* added `Assert::notStartsWith()` -* added `Assert::notEndsWith()` -* added `Assert::inArray()` -* added `@psalm-pure` annotations to pure assertions - -### Fixed - -* Exception messages of comparisons between `DateTime(Immutable)` objects now display their date & time. -* Custom Exception messages for `Assert::count()` now use the values to render the exception message. - -## 1.7.0 (2020-02-14) - -### Added - -* added `Assert::notFalse()` -* added `Assert::isAOf()` -* added `Assert::isAnyOf()` -* added `Assert::isNotA()` - -## 1.6.0 (2019-11-24) - -### Added - -* added `Assert::validArrayKey()` -* added `Assert::isNonEmptyList()` -* added `Assert::isNonEmptyMap()` -* added `@throws InvalidArgumentException` annotations to all methods that throw. -* added `@psalm-assert` for the list type to the `isList` assertion. - -### Fixed - -* `ResourceBundle` & `SimpleXMLElement` now pass the `isCountable` assertions. -They are countable, without implementing the `Countable` interface. -* The doc block of `range` now has the proper variables. -* An empty array will now pass `isList` and `isMap`. As it is a valid form of both. -If a non-empty variant is needed, use `isNonEmptyList` or `isNonEmptyMap`. - -### Changed - -* Removed some `@psalm-assert` annotations, that were 'side effect' assertions See: - * [#144](https://github.com/webmozart/assert/pull/144) - * [#145](https://github.com/webmozart/assert/issues/145) - * [#146](https://github.com/webmozart/assert/pull/146) - * [#150](https://github.com/webmozart/assert/pull/150) -* If you use Psalm, the minimum version needed is `3.6.0`. Which is enforced through a composer conflict. -If you don't use Psalm, then this has no impact. - ## 1.5.0 (2019-08-24) -### Added +### Added * added `Assert::uniqueValues()` * added `Assert::unicodeLetters()` * added: `Assert::email()` * added support for [Psalm](https://github.com/vimeo/psalm), by adding `@psalm-assert` annotations where appropriate. -### Fixed +## Fixed -* `Assert::endsWith()` would not give the correct result when dealing with a multibyte suffix. -* `Assert::length(), minLength, maxLength, lengthBetween` would not give the correct result when dealing with multibyte characters. +* `Assert::endsWith()` would not give the correct result when dealing with multibyte suffix. +* `Assert::length(), minLength, maxLength, lengthBetween` would not give the correct result when dealing with multibyte characters. **NOTE**: These 2 changes may break your assertions if you relied on the fact that multibyte characters didn't behave correctly. -### Changed +## Changed * The names of some variables have been updated to better reflect what they are. * All function calls are now in their FQN form, slightly increasing performance. diff --git a/vendor/webmozart/assert/README.md b/vendor/webmozart/assert/README.md index 1407a9a1b..1b6299a42 100644 --- a/vendor/webmozart/assert/README.md +++ b/vendor/webmozart/assert/README.md @@ -3,7 +3,6 @@ Webmozart Assert [](https://travis-ci.org/webmozart/assert) [](https://ci.appveyor.com/project/webmozart/assert/branch/master) -[](https://scrutinizer-ci.com/g/webmozart/assert/?branch=master) [](https://packagist.org/packages/webmozart/assert) [](https://packagist.org/packages/webmozart/assert) @@ -104,21 +103,17 @@ Method | Description `isIterable($value, $message = '')` | Check that a value is an array or a `\Traversable` `isCountable($value, $message = '')` | Check that a value is an array or a `\Countable` `isInstanceOf($value, $class, $message = '')` | Check that a value is an `instanceof` a class -`isInstanceOfAny($value, array $classes, $message = '')` | Check that a value is an `instanceof` at least one class on the array of classes +`isInstanceOfAny($value, array $classes, $message = '')` | Check that a value is an `instanceof` a at least one class on the array of classes `notInstanceOf($value, $class, $message = '')` | Check that a value is not an `instanceof` a class -`isAOf($value, $class, $message = '')` | Check that a value is of the class or has one of its parents -`isAnyOf($value, array $classes, $message = '')` | Check that a value is of at least one of the classes or has one of its parents -`isNotA($value, $class, $message = '')` | Check that a value is not of the class or has not one of its parents `isArrayAccessible($value, $message = '')` | Check that a value can be accessed as an array `uniqueValues($values, $message = '')` | Check that the given array contains unique values ### Comparison Assertions Method | Description ------------------------------------------------ | ------------------------------------------------------------------ +----------------------------------------------- | -------------------------------------------------- `true($value, $message = '')` | Check that a value is `true` `false($value, $message = '')` | Check that a value is `false` -`notFalse($value, $message = '')` | Check that a value is not `false` `null($value, $message = '')` | Check that a value is `null` `notNull($value, $message = '')` | Check that a value is not `null` `isEmpty($value, $message = '')` | Check that a value is `empty()` @@ -132,8 +127,7 @@ Method | Description `lessThan($value, $value2, $message = '')` | Check that a value is less than another `lessThanEq($value, $value2, $message = '')` | Check that a value is less than or equal to another `range($value, $min, $max, $message = '')` | Check that a value is within a range -`inArray($value, array $values, $message = '')` | Check that a value is one of a list of values -`oneOf($value, array $values, $message = '')` | Check that a value is one of a list of values (alias of `inArray`) +`oneOf($value, array $values, $message = '')` | Check that a value is one of a list of values ### String Assertions @@ -143,12 +137,10 @@ any of the following assertions. Method | Description --------------------------------------------------- | ----------------------------------------------------------------- `contains($value, $subString, $message = '')` | Check that a string contains a substring -`notContains($value, $subString, $message = '')` | Check that a string does not contain a substring +`notContains($value, $subString, $message = '')` | Check that a string does not contains a substring `startsWith($value, $prefix, $message = '')` | Check that a string has a prefix -`notStartsWith($value, $prefix, $message = '')` | Check that a string does not have a prefix `startsWithLetter($value, $message = '')` | Check that a string starts with a letter `endsWith($value, $suffix, $message = '')` | Check that a string has a suffix -`notEndsWith($value, $suffix, $message = '')` | Check that a string does not have a suffix `regex($value, $pattern, $message = '')` | Check that a string matches a regular expression `notRegex($value, $pattern, $message = '')` | Check that a string does not match a regular expression `unicodeLetters($value, $message = '')` | Check that a string contains Unicode letters only @@ -197,15 +189,12 @@ Method | Description -------------------------------------------------- | ------------------------------------------------------------------ `keyExists($array, $key, $message = '')` | Check that a key exists in an array `keyNotExists($array, $key, $message = '')` | Check that a key does not exist in an array -`validArrayKey($key, $message = '')` | Check that a value is a valid array key (int or string) `count($array, $number, $message = '')` | Check that an array contains a specific number of elements `minCount($array, $min, $message = '')` | Check that an array contains at least a certain number of elements `maxCount($array, $max, $message = '')` | Check that an array contains at most a certain number of elements `countBetween($array, $min, $max, $message = '')` | Check that an array has a count in the given range `isList($array, $message = '')` | Check that an array is a non-associative list -`isNonEmptyList($array, $message = '')` | Check that an array is a non-associative list, and not empty `isMap($array, $message = '')` | Check that an array is associative and has strings as keys -`isNonEmptyMap($array, $message = '')` | Check that an array is associative and has strings as keys, and is not empty ### Function Assertions @@ -231,27 +220,6 @@ assertion only if it the value is not `null`: Assert::nullOrString($middleName, 'The middle name must be a string or null. Got: %s'); ``` -### Extending Assert - -The `Assert` class comes with a few methods, which can be overridden to change the class behaviour. You can also extend it to -add your own assertions. - -#### Overriding methods - -Overriding the following methods in your assertion class allows you to change the behaviour of the assertions: - -* `public static function __callStatic($name, $arguments)` - * This method is used to 'create' the `nullOr` and `all` versions of the assertions. -* `protected static function valueToString($value)` - * This method is used for error messages, to convert the value to a string value for displaying. You could use this for representing a value object with a `__toString` method for example. -* `protected static function typeToString($value)` - * This method is used for error messages, to convert the a value to a string representing its type. -* `protected static function strlen($value)` - * This method is used to calculate string length for relevant methods, using the `mb_strlen` if available and useful. -* `protected static function reportInvalidArgument($message)` - * This method is called when an assertion fails, with the specified error message. Here you can throw your own exception, or log something. - - Authors ------- @@ -274,7 +242,7 @@ All contents of this package are licensed under the [MIT license]. [beberlei/assert]: https://github.com/beberlei/assert [assert package]: https://github.com/beberlei/assert [Composer]: https://getcomposer.org -[Bernhard Schussek]: https://webmozarts.com +[Bernhard Schussek]: http://webmozarts.com [The Community Contributors]: https://github.com/webmozart/assert/graphs/contributors [issue tracker]: https://github.com/webmozart/assert/issues [Git repository]: https://github.com/webmozart/assert diff --git a/vendor/webmozart/assert/composer.json b/vendor/webmozart/assert/composer.json index 2e609b630..1aa9f270c 100644 --- a/vendor/webmozart/assert/composer.json +++ b/vendor/webmozart/assert/composer.json @@ -14,15 +14,16 @@ } ], "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, - "conflict": { - "vimeo/psalm": "<3.9.1", - "phpstan/phpstan": "<0.12.20" + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } }, "autoload": { "psr-4": { @@ -31,8 +32,7 @@ }, "autoload-dev": { "psr-4": { - "Webmozart\\Assert\\Tests\\": "tests/", - "Webmozart\\Assert\\Bin\\": "bin/src" + "Webmozart\\Assert\\Tests\\": "tests/" } } } diff --git a/vendor/webmozart/assert/psalm.xml b/vendor/webmozart/assert/psalm.xml index 9a4300819..44d37aabe 100644 --- a/vendor/webmozart/assert/psalm.xml +++ b/vendor/webmozart/assert/psalm.xml @@ -4,11 +4,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config ci/vendor/vimeo/psalm/config.xsd" - phpVersion="7.3" > <projectFiles> - <directory name="bin" /> <directory name="tests/static-analysis" /> + <ignoreFiles> + <directory name="vendor" /> + </ignoreFiles> </projectFiles> </psalm> diff --git a/vendor/webmozart/assert/src/Assert.php b/vendor/webmozart/assert/src/Assert.php index b28e17841..79b1036e5 100644 --- a/vendor/webmozart/assert/src/Assert.php +++ b/vendor/webmozart/assert/src/Assert.php @@ -15,19 +15,176 @@ use BadMethodCallException; use Closure; use Countable; -use DateTime; -use DateTimeImmutable; use Exception; use InvalidArgumentException; -use ResourceBundle; -use SimpleXMLElement; use Throwable; use Traversable; /** * Efficient assertions to validate the input/output of your methods. * - * @mixin Mixin + * @method static void nullOrString($value, $message = '') + * @method static void nullOrStringNotEmpty($value, $message = '') + * @method static void nullOrInteger($value, $message = '') + * @method static void nullOrIntegerish($value, $message = '') + * @method static void nullOrFloat($value, $message = '') + * @method static void nullOrNumeric($value, $message = '') + * @method static void nullOrNatural($value, $message = '') + * @method static void nullOrBoolean($value, $message = '') + * @method static void nullOrScalar($value, $message = '') + * @method static void nullOrObject($value, $message = '') + * @method static void nullOrResource($value, $type = null, $message = '') + * @method static void nullOrIsCallable($value, $message = '') + * @method static void nullOrIsArray($value, $message = '') + * @method static void nullOrIsTraversable($value, $message = '') + * @method static void nullOrIsArrayAccessible($value, $message = '') + * @method static void nullOrIsCountable($value, $message = '') + * @method static void nullOrIsIterable($value, $message = '') + * @method static void nullOrIsInstanceOf($value, $class, $message = '') + * @method static void nullOrNotInstanceOf($value, $class, $message = '') + * @method static void nullOrIsInstanceOfAny($value, $classes, $message = '') + * @method static void nullOrIsEmpty($value, $message = '') + * @method static void nullOrNotEmpty($value, $message = '') + * @method static void nullOrTrue($value, $message = '') + * @method static void nullOrFalse($value, $message = '') + * @method static void nullOrIp($value, $message = '') + * @method static void nullOrIpv4($value, $message = '') + * @method static void nullOrIpv6($value, $message = '') + * @method static void nullOrEmail($value, $message = '') + * @method static void nullOrUniqueValues($values, $message = '') + * @method static void nullOrEq($value, $expect, $message = '') + * @method static void nullOrNotEq($value, $expect, $message = '') + * @method static void nullOrSame($value, $expect, $message = '') + * @method static void nullOrNotSame($value, $expect, $message = '') + * @method static void nullOrGreaterThan($value, $limit, $message = '') + * @method static void nullOrGreaterThanEq($value, $limit, $message = '') + * @method static void nullOrLessThan($value, $limit, $message = '') + * @method static void nullOrLessThanEq($value, $limit, $message = '') + * @method static void nullOrRange($value, $min, $max, $message = '') + * @method static void nullOrOneOf($value, $values, $message = '') + * @method static void nullOrContains($value, $subString, $message = '') + * @method static void nullOrNotContains($value, $subString, $message = '') + * @method static void nullOrNotWhitespaceOnly($value, $message = '') + * @method static void nullOrStartsWith($value, $prefix, $message = '') + * @method static void nullOrStartsWithLetter($value, $message = '') + * @method static void nullOrEndsWith($value, $suffix, $message = '') + * @method static void nullOrRegex($value, $pattern, $message = '') + * @method static void nullOrNotRegex($value, $pattern, $message = '') + * @method static void nullOrUnicodeLetters($value, $message = '') + * @method static void nullOrAlpha($value, $message = '') + * @method static void nullOrDigits($value, $message = '') + * @method static void nullOrAlnum($value, $message = '') + * @method static void nullOrLower($value, $message = '') + * @method static void nullOrUpper($value, $message = '') + * @method static void nullOrLength($value, $length, $message = '') + * @method static void nullOrMinLength($value, $min, $message = '') + * @method static void nullOrMaxLength($value, $max, $message = '') + * @method static void nullOrLengthBetween($value, $min, $max, $message = '') + * @method static void nullOrFileExists($value, $message = '') + * @method static void nullOrFile($value, $message = '') + * @method static void nullOrDirectory($value, $message = '') + * @method static void nullOrReadable($value, $message = '') + * @method static void nullOrWritable($value, $message = '') + * @method static void nullOrClassExists($value, $message = '') + * @method static void nullOrSubclassOf($value, $class, $message = '') + * @method static void nullOrInterfaceExists($value, $message = '') + * @method static void nullOrImplementsInterface($value, $interface, $message = '') + * @method static void nullOrPropertyExists($value, $property, $message = '') + * @method static void nullOrPropertyNotExists($value, $property, $message = '') + * @method static void nullOrMethodExists($value, $method, $message = '') + * @method static void nullOrMethodNotExists($value, $method, $message = '') + * @method static void nullOrKeyExists($value, $key, $message = '') + * @method static void nullOrKeyNotExists($value, $key, $message = '') + * @method static void nullOrCount($value, $key, $message = '') + * @method static void nullOrMinCount($value, $min, $message = '') + * @method static void nullOrMaxCount($value, $max, $message = '') + * @method static void nullOrIsList($value, $message = '') + * @method static void nullOrIsMap($value, $message = '') + * @method static void nullOrCountBetween($value, $min, $max, $message = '') + * @method static void nullOrUuid($values, $message = '') + * @method static void nullOrThrows($expression, $class = 'Exception', $message = '') + * @method static void allString($values, $message = '') + * @method static void allStringNotEmpty($values, $message = '') + * @method static void allInteger($values, $message = '') + * @method static void allIntegerish($values, $message = '') + * @method static void allFloat($values, $message = '') + * @method static void allNumeric($values, $message = '') + * @method static void allNatural($values, $message = '') + * @method static void allBoolean($values, $message = '') + * @method static void allScalar($values, $message = '') + * @method static void allObject($values, $message = '') + * @method static void allResource($values, $type = null, $message = '') + * @method static void allIsCallable($values, $message = '') + * @method static void allIsArray($values, $message = '') + * @method static void allIsTraversable($values, $message = '') + * @method static void allIsArrayAccessible($values, $message = '') + * @method static void allIsCountable($values, $message = '') + * @method static void allIsIterable($values, $message = '') + * @method static void allIsInstanceOf($values, $class, $message = '') + * @method static void allNotInstanceOf($values, $class, $message = '') + * @method static void allIsInstanceOfAny($values, $classes, $message = '') + * @method static void allNull($values, $message = '') + * @method static void allNotNull($values, $message = '') + * @method static void allIsEmpty($values, $message = '') + * @method static void allNotEmpty($values, $message = '') + * @method static void allTrue($values, $message = '') + * @method static void allFalse($values, $message = '') + * @method static void allIp($values, $message = '') + * @method static void allIpv4($values, $message = '') + * @method static void allIpv6($values, $message = '') + * @method static void allEmail($values, $message = '') + * @method static void allUniqueValues($values, $message = '') + * @method static void allEq($values, $expect, $message = '') + * @method static void allNotEq($values, $expect, $message = '') + * @method static void allSame($values, $expect, $message = '') + * @method static void allNotSame($values, $expect, $message = '') + * @method static void allGreaterThan($values, $limit, $message = '') + * @method static void allGreaterThanEq($values, $limit, $message = '') + * @method static void allLessThan($values, $limit, $message = '') + * @method static void allLessThanEq($values, $limit, $message = '') + * @method static void allRange($values, $min, $max, $message = '') + * @method static void allOneOf($values, $values, $message = '') + * @method static void allContains($values, $subString, $message = '') + * @method static void allNotContains($values, $subString, $message = '') + * @method static void allNotWhitespaceOnly($values, $message = '') + * @method static void allStartsWith($values, $prefix, $message = '') + * @method static void allStartsWithLetter($values, $message = '') + * @method static void allEndsWith($values, $suffix, $message = '') + * @method static void allRegex($values, $pattern, $message = '') + * @method static void allNotRegex($values, $pattern, $message = '') + * @method static void allUnicodeLetters($values, $message = '') + * @method static void allAlpha($values, $message = '') + * @method static void allDigits($values, $message = '') + * @method static void allAlnum($values, $message = '') + * @method static void allLower($values, $message = '') + * @method static void allUpper($values, $message = '') + * @method static void allLength($values, $length, $message = '') + * @method static void allMinLength($values, $min, $message = '') + * @method static void allMaxLength($values, $max, $message = '') + * @method static void allLengthBetween($values, $min, $max, $message = '') + * @method static void allFileExists($values, $message = '') + * @method static void allFile($values, $message = '') + * @method static void allDirectory($values, $message = '') + * @method static void allReadable($values, $message = '') + * @method static void allWritable($values, $message = '') + * @method static void allClassExists($values, $message = '') + * @method static void allSubclassOf($values, $class, $message = '') + * @method static void allInterfaceExists($values, $message = '') + * @method static void allImplementsInterface($values, $interface, $message = '') + * @method static void allPropertyExists($values, $property, $message = '') + * @method static void allPropertyNotExists($values, $property, $message = '') + * @method static void allMethodExists($values, $method, $message = '') + * @method static void allMethodNotExists($values, $method, $message = '') + * @method static void allKeyExists($values, $key, $message = '') + * @method static void allKeyNotExists($values, $key, $message = '') + * @method static void allCount($values, $key, $message = '') + * @method static void allMinCount($values, $min, $message = '') + * @method static void allMaxCount($values, $max, $message = '') + * @method static void allCountBetween($values, $min, $max, $message = '') + * @method static void allIsList($values, $message = '') + * @method static void allIsMap($values, $message = '') + * @method static void allUuid($values, $message = '') + * @method static void allThrows($expressions, $class = 'Exception', $message = '') * * @since 1.0 * @@ -36,13 +193,10 @@ class Assert { /** - * @psalm-pure * @psalm-assert string $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function string($value, $message = '') { @@ -55,13 +209,10 @@ public static function string($value, $message = '') } /** - * @psalm-pure - * @psalm-assert non-empty-string $value + * @psalm-assert string $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function stringNotEmpty($value, $message = '') { @@ -70,13 +221,10 @@ public static function stringNotEmpty($value, $message = '') } /** - * @psalm-pure * @psalm-assert int $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function integer($value, $message = '') { @@ -89,13 +237,10 @@ public static function integer($value, $message = '') } /** - * @psalm-pure * @psalm-assert numeric $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function integerish($value, $message = '') { @@ -108,13 +253,10 @@ public static function integerish($value, $message = '') } /** - * @psalm-pure * @psalm-assert float $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function float($value, $message = '') { @@ -127,13 +269,10 @@ public static function float($value, $message = '') } /** - * @psalm-pure * @psalm-assert numeric $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function numeric($value, $message = '') { @@ -146,32 +285,26 @@ public static function numeric($value, $message = '') } /** - * @psalm-pure * @psalm-assert int $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function natural($value, $message = '') { if (!\is_int($value) || $value < 0) { static::reportInvalidArgument(\sprintf( - $message ?: 'Expected a non-negative integer. Got: %s', + $message ?: 'Expected a non-negative integer. Got %s', static::valueToString($value) )); } } /** - * @psalm-pure * @psalm-assert bool $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function boolean($value, $message = '') { @@ -184,13 +317,10 @@ public static function boolean($value, $message = '') } /** - * @psalm-pure * @psalm-assert scalar $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function scalar($value, $message = '') { @@ -203,13 +333,10 @@ public static function scalar($value, $message = '') } /** - * @psalm-pure * @psalm-assert object $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function object($value, $message = '') { @@ -222,14 +349,11 @@ public static function object($value, $message = '') } /** - * @psalm-pure * @psalm-assert resource $value * * @param mixed $value * @param string|null $type type of resource this should be. @see https://www.php.net/manual/en/function.get-resource-type.php * @param string $message - * - * @throws InvalidArgumentException */ public static function resource($value, $type = null, $message = '') { @@ -250,13 +374,10 @@ public static function resource($value, $type = null, $message = '') } /** - * @psalm-pure * @psalm-assert callable $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isCallable($value, $message = '') { @@ -269,13 +390,10 @@ public static function isCallable($value, $message = '') } /** - * @psalm-pure * @psalm-assert array $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isArray($value, $message = '') { @@ -288,15 +406,12 @@ public static function isArray($value, $message = '') } /** - * @psalm-pure * @psalm-assert iterable $value * * @deprecated use "isIterable" or "isInstanceOf" instead * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isTraversable($value, $message = '') { @@ -317,13 +432,8 @@ public static function isTraversable($value, $message = '') } /** - * @psalm-pure - * @psalm-assert array|ArrayAccess $value - * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isArrayAccessible($value, $message = '') { @@ -336,22 +446,14 @@ public static function isArrayAccessible($value, $message = '') } /** - * @psalm-pure * @psalm-assert countable $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isCountable($value, $message = '') { - if ( - !\is_array($value) - && !($value instanceof Countable) - && !($value instanceof ResourceBundle) - && !($value instanceof SimpleXMLElement) - ) { + if (!\is_array($value) && !($value instanceof Countable)) { static::reportInvalidArgument(\sprintf( $message ?: 'Expected a countable. Got: %s', static::typeToString($value) @@ -360,13 +462,10 @@ public static function isCountable($value, $message = '') } /** - * @psalm-pure * @psalm-assert iterable $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isIterable($value, $message = '') { @@ -379,7 +478,6 @@ public static function isIterable($value, $message = '') } /** - * @psalm-pure * @psalm-template ExpectedType of object * @psalm-param class-string<ExpectedType> $class * @psalm-assert ExpectedType $value @@ -387,8 +485,6 @@ public static function isIterable($value, $message = '') * @param mixed $value * @param string|object $class * @param string $message - * - * @throws InvalidArgumentException */ public static function isInstanceOf($value, $class, $message = '') { @@ -402,7 +498,6 @@ public static function isInstanceOf($value, $class, $message = '') } /** - * @psalm-pure * @psalm-template ExpectedType of object * @psalm-param class-string<ExpectedType> $class * @psalm-assert !ExpectedType $value @@ -410,8 +505,6 @@ public static function isInstanceOf($value, $class, $message = '') * @param mixed $value * @param string|object $class * @param string $message - * - * @throws InvalidArgumentException */ public static function notInstanceOf($value, $class, $message = '') { @@ -425,14 +518,9 @@ public static function notInstanceOf($value, $class, $message = '') } /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * * @param mixed $value * @param array<object|string> $classes * @param string $message - * - * @throws InvalidArgumentException */ public static function isInstanceOfAny($value, array $classes, $message = '') { @@ -450,91 +538,10 @@ public static function isInstanceOfAny($value, array $classes, $message = '') } /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert ExpectedType|class-string<ExpectedType> $value - * - * @param object|string $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function isAOf($value, $class, $message = '') - { - static::string($class, 'Expected class as a string. Got: %s'); - - if (!\is_a($value, $class, \is_string($value))) { - static::reportInvalidArgument(sprintf( - $message ?: 'Expected an instance of this class or to this class among his parents %2$s. Got: %s', - static::typeToString($value), - $class - )); - } - } - - /** - * @psalm-pure - * @psalm-template UnexpectedType of object - * @psalm-param class-string<UnexpectedType> $class - * @psalm-assert !UnexpectedType $value - * @psalm-assert !class-string<UnexpectedType> $value - * - * @param object|string $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function isNotA($value, $class, $message = '') - { - static::string($class, 'Expected class as a string. Got: %s'); - - if (\is_a($value, $class, \is_string($value))) { - static::reportInvalidArgument(sprintf( - $message ?: 'Expected an instance of this class or to this class among his parents other than %2$s. Got: %s', - static::typeToString($value), - $class - )); - } - } - - /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * - * @param object|string $value - * @param string[] $classes - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function isAnyOf($value, array $classes, $message = '') - { - foreach ($classes as $class) { - static::string($class, 'Expected class as a string. Got: %s'); - - if (\is_a($value, $class, \is_string($value))) { - return; - } - } - - static::reportInvalidArgument(sprintf( - $message ?: 'Expected an any of instance of this class or to this class among his parents other than %2$s. Got: %s', - static::typeToString($value), - \implode(', ', \array_map(array('static', 'valueToString'), $classes)) - )); - } - - /** - * @psalm-pure * @psalm-assert empty $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function isEmpty($value, $message = '') { @@ -547,13 +554,10 @@ public static function isEmpty($value, $message = '') } /** - * @psalm-pure * @psalm-assert !empty $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function notEmpty($value, $message = '') { @@ -566,13 +570,10 @@ public static function notEmpty($value, $message = '') } /** - * @psalm-pure * @psalm-assert null $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function null($value, $message = '') { @@ -585,13 +586,10 @@ public static function null($value, $message = '') } /** - * @psalm-pure * @psalm-assert !null $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function notNull($value, $message = '') { @@ -603,13 +601,10 @@ public static function notNull($value, $message = '') } /** - * @psalm-pure * @psalm-assert true $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function true($value, $message = '') { @@ -622,13 +617,10 @@ public static function true($value, $message = '') } /** - * @psalm-pure * @psalm-assert false $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function false($value, $message = '') { @@ -641,28 +633,8 @@ public static function false($value, $message = '') } /** - * @psalm-pure - * @psalm-assert !false $value - * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException - */ - public static function notFalse($value, $message = '') - { - if (false === $value) { - static::reportInvalidArgument( - $message ?: 'Expected a value other than false.' - ); - } - } - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException */ public static function ip($value, $message = '') { @@ -677,8 +649,6 @@ public static function ip($value, $message = '') /** * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function ipv4($value, $message = '') { @@ -693,14 +663,12 @@ public static function ipv4($value, $message = '') /** * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function ipv6($value, $message = '') { if (false === \filter_var($value, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV6)) { static::reportInvalidArgument(\sprintf( - $message ?: 'Expected a value to be an IPv6. Got: %s', + $message ?: 'Expected a value to be an IPv6. Got %s', static::valueToString($value) )); } @@ -709,14 +677,12 @@ public static function ipv6($value, $message = '') /** * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function email($value, $message = '') { if (false === \filter_var($value, FILTER_VALIDATE_EMAIL)) { static::reportInvalidArgument(\sprintf( - $message ?: 'Expected a value to be a valid e-mail address. Got: %s', + $message ?: 'Expected a value to be a valid e-mail address. Got %s', static::valueToString($value) )); } @@ -727,8 +693,6 @@ public static function email($value, $message = '') * * @param array $values * @param string $message - * - * @throws InvalidArgumentException */ public static function uniqueValues(array $values, $message = '') { @@ -750,8 +714,6 @@ public static function uniqueValues(array $values, $message = '') * @param mixed $value * @param mixed $expect * @param string $message - * - * @throws InvalidArgumentException */ public static function eq($value, $expect, $message = '') { @@ -768,8 +730,6 @@ public static function eq($value, $expect, $message = '') * @param mixed $value * @param mixed $expect * @param string $message - * - * @throws InvalidArgumentException */ public static function notEq($value, $expect, $message = '') { @@ -782,13 +742,13 @@ public static function notEq($value, $expect, $message = '') } /** - * @psalm-pure + * @psalm-template ExpectedType + * @psalm-param ExpectedType $expect + * @psalm-assert =ExpectedType $value * * @param mixed $value * @param mixed $expect * @param string $message - * - * @throws InvalidArgumentException */ public static function same($value, $expect, $message = '') { @@ -802,13 +762,9 @@ public static function same($value, $expect, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param mixed $expect * @param string $message - * - * @throws InvalidArgumentException */ public static function notSame($value, $expect, $message = '') { @@ -821,13 +777,9 @@ public static function notSame($value, $expect, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param mixed $limit * @param string $message - * - * @throws InvalidArgumentException */ public static function greaterThan($value, $limit, $message = '') { @@ -841,13 +793,9 @@ public static function greaterThan($value, $limit, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param mixed $limit * @param string $message - * - * @throws InvalidArgumentException */ public static function greaterThanEq($value, $limit, $message = '') { @@ -861,13 +809,9 @@ public static function greaterThanEq($value, $limit, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param mixed $limit * @param string $message - * - * @throws InvalidArgumentException */ public static function lessThan($value, $limit, $message = '') { @@ -881,13 +825,9 @@ public static function lessThan($value, $limit, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param mixed $limit * @param string $message - * - * @throws InvalidArgumentException */ public static function lessThanEq($value, $limit, $message = '') { @@ -903,14 +843,10 @@ public static function lessThanEq($value, $limit, $message = '') /** * Inclusive range, so Assert::(3, 3, 5) passes. * - * @psalm-pure - * - * @param mixed $value - * @param mixed $min - * @param mixed $max + * @param mixed $value + * @param mixed min + * @param mixed max * @param string $message - * - * @throws InvalidArgumentException */ public static function range($value, $min, $max, $message = '') { @@ -925,33 +861,17 @@ public static function range($value, $min, $max, $message = '') } /** - * A more human-readable alias of Assert::inArray(). + * Does strict comparison, so Assert::oneOf(3, ['3']) does not pass the assertion. * - * @psalm-pure + * @psalm-template ExpectedType + * @psalm-param array<ExpectedType> $values + * @psalm-assert ExpectedType $value * * @param mixed $value * @param array $values * @param string $message - * - * @throws InvalidArgumentException */ public static function oneOf($value, array $values, $message = '') - { - static::inArray($value, $values, $message); - } - - /** - * Does strict comparison, so Assert::inArray(3, ['3']) does not pass the assertion. - * - * @psalm-pure - * - * @param mixed $value - * @param array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function inArray($value, array $values, $message = '') { if (!\in_array($value, $values, true)) { static::reportInvalidArgument(\sprintf( @@ -963,13 +883,9 @@ public static function inArray($value, array $values, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $subString * @param string $message - * - * @throws InvalidArgumentException */ public static function contains($value, $subString, $message = '') { @@ -983,13 +899,9 @@ public static function contains($value, $subString, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $subString * @param string $message - * - * @throws InvalidArgumentException */ public static function notContains($value, $subString, $message = '') { @@ -1003,12 +915,8 @@ public static function notContains($value, $subString, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function notWhitespaceOnly($value, $message = '') { @@ -1021,13 +929,9 @@ public static function notWhitespaceOnly($value, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $prefix * @param string $message - * - * @throws InvalidArgumentException */ public static function startsWith($value, $prefix, $message = '') { @@ -1041,37 +945,11 @@ public static function startsWith($value, $prefix, $message = '') } /** - * @psalm-pure - * - * @param string $value - * @param string $prefix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function notStartsWith($value, $prefix, $message = '') - { - if (0 === \strpos($value, $prefix)) { - static::reportInvalidArgument(\sprintf( - $message ?: 'Expected a value not to start with %2$s. Got: %s', - static::valueToString($value), - static::valueToString($prefix) - )); - } - } - - /** - * @psalm-pure - * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function startsWithLetter($value, $message = '') { - static::string($value); - $valid = isset($value[0]); if ($valid) { @@ -1090,13 +968,9 @@ public static function startsWithLetter($value, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $suffix * @param string $message - * - * @throws InvalidArgumentException */ public static function endsWith($value, $suffix, $message = '') { @@ -1110,33 +984,9 @@ public static function endsWith($value, $suffix, $message = '') } /** - * @psalm-pure - * - * @param string $value - * @param string $suffix + * @param mixed $value + * @param mixed $pattern * @param string $message - * - * @throws InvalidArgumentException - */ - public static function notEndsWith($value, $suffix, $message = '') - { - if ($suffix === \substr($value, -\strlen($suffix))) { - static::reportInvalidArgument(\sprintf( - $message ?: 'Expected a value not to end with %2$s. Got: %s', - static::valueToString($value), - static::valueToString($suffix) - )); - } - } - - /** - * @psalm-pure - * - * @param string $value - * @param string $pattern - * @param string $message - * - * @throws InvalidArgumentException */ public static function regex($value, $pattern, $message = '') { @@ -1149,13 +999,9 @@ public static function regex($value, $pattern, $message = '') } /** - * @psalm-pure - * - * @param string $value - * @param string $pattern + * @param mixed $value + * @param mixed $pattern * @param string $message - * - * @throws InvalidArgumentException */ public static function notRegex($value, $pattern, $message = '') { @@ -1170,12 +1016,10 @@ public static function notRegex($value, $pattern, $message = '') } /** - * @psalm-pure + * @psalm-assert !numeric $value * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function unicodeLetters($value, $message = '') { @@ -1190,17 +1034,11 @@ public static function unicodeLetters($value, $message = '') } /** - * @psalm-pure - * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function alpha($value, $message = '') { - static::string($value); - $locale = \setlocale(LC_CTYPE, 0); \setlocale(LC_CTYPE, 'C'); $valid = !\ctype_alpha($value); @@ -1215,12 +1053,8 @@ public static function alpha($value, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function digits($value, $message = '') { @@ -1238,12 +1072,8 @@ public static function digits($value, $message = '') } /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function alnum($value, $message = '') { @@ -1261,13 +1091,8 @@ public static function alnum($value, $message = '') } /** - * @psalm-pure - * @psalm-assert lowercase-string $value - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function lower($value, $message = '') { @@ -1285,13 +1110,8 @@ public static function lower($value, $message = '') } /** - * @psalm-pure - * @psalm-assert !lowercase-string $value - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function upper($value, $message = '') { @@ -1309,13 +1129,9 @@ public static function upper($value, $message = '') } /** - * @psalm-pure - * - * @param string $value - * @param int $length + * @param mixed $value + * @param mixed $length * @param string $message - * - * @throws InvalidArgumentException */ public static function length($value, $length, $message = '') { @@ -1331,13 +1147,9 @@ public static function length($value, $length, $message = '') /** * Inclusive min. * - * @psalm-pure - * - * @param string $value - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $value + * @param mixed $min + * @param string $message */ public static function minLength($value, $min, $message = '') { @@ -1353,13 +1165,9 @@ public static function minLength($value, $min, $message = '') /** * Inclusive max. * - * @psalm-pure - * - * @param string $value - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $value + * @param mixed $max + * @param string $message */ public static function maxLength($value, $max, $message = '') { @@ -1375,14 +1183,10 @@ public static function maxLength($value, $max, $message = '') /** * Inclusive , so Assert::lengthBetween('asd', 3, 5); passes the assertion. * - * @psalm-pure - * - * @param string $value - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $value + * @param mixed $min + * @param mixed $max + * @param string $message */ public static function lengthBetween($value, $min, $max, $message = '') { @@ -1403,8 +1207,6 @@ public static function lengthBetween($value, $min, $max, $message = '') * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function fileExists($value, $message = '') { @@ -1421,8 +1223,6 @@ public static function fileExists($value, $message = '') /** * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function file($value, $message = '') { @@ -1439,8 +1239,6 @@ public static function file($value, $message = '') /** * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function directory($value, $message = '') { @@ -1455,10 +1253,8 @@ public static function directory($value, $message = '') } /** - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function readable($value, $message = '') { @@ -1471,10 +1267,8 @@ public static function readable($value, $message = '') } /** - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function writable($value, $message = '') { @@ -1491,8 +1285,6 @@ public static function writable($value, $message = '') * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function classExists($value, $message = '') { @@ -1505,16 +1297,9 @@ public static function classExists($value, $message = '') } /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert class-string<ExpectedType>|ExpectedType $value - * * @param mixed $value * @param string|object $class * @param string $message - * - * @throws InvalidArgumentException */ public static function subclassOf($value, $class, $message = '') { @@ -1532,8 +1317,6 @@ public static function subclassOf($value, $class, $message = '') * * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function interfaceExists($value, $message = '') { @@ -1546,16 +1329,9 @@ public static function interfaceExists($value, $message = '') } /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $interface - * @psalm-assert class-string<ExpectedType> $value - * * @param mixed $value * @param mixed $interface * @param string $message - * - * @throws InvalidArgumentException */ public static function implementsInterface($value, $interface, $message = '') { @@ -1569,14 +1345,9 @@ public static function implementsInterface($value, $interface, $message = '') } /** - * @psalm-pure - * @psalm-param class-string|object $classOrObject - * * @param string|object $classOrObject * @param mixed $property * @param string $message - * - * @throws InvalidArgumentException */ public static function propertyExists($classOrObject, $property, $message = '') { @@ -1589,14 +1360,9 @@ public static function propertyExists($classOrObject, $property, $message = '') } /** - * @psalm-pure - * @psalm-param class-string|object $classOrObject - * * @param string|object $classOrObject * @param mixed $property * @param string $message - * - * @throws InvalidArgumentException */ public static function propertyNotExists($classOrObject, $property, $message = '') { @@ -1609,18 +1375,13 @@ public static function propertyNotExists($classOrObject, $property, $message = ' } /** - * @psalm-pure - * @psalm-param class-string|object $classOrObject - * * @param string|object $classOrObject * @param mixed $method * @param string $message - * - * @throws InvalidArgumentException */ public static function methodExists($classOrObject, $method, $message = '') { - if (!(\is_string($classOrObject) || \is_object($classOrObject)) || !\method_exists($classOrObject, $method)) { + if (!\method_exists($classOrObject, $method)) { static::reportInvalidArgument(\sprintf( $message ?: 'Expected the method %s to exist.', static::valueToString($method) @@ -1629,18 +1390,13 @@ public static function methodExists($classOrObject, $method, $message = '') } /** - * @psalm-pure - * @psalm-param class-string|object $classOrObject - * * @param string|object $classOrObject * @param mixed $method * @param string $message - * - * @throws InvalidArgumentException */ public static function methodNotExists($classOrObject, $method, $message = '') { - if ((\is_string($classOrObject) || \is_object($classOrObject)) && \method_exists($classOrObject, $method)) { + if (\method_exists($classOrObject, $method)) { static::reportInvalidArgument(\sprintf( $message ?: 'Expected the method %s to not exist.', static::valueToString($method) @@ -1649,13 +1405,9 @@ public static function methodNotExists($classOrObject, $method, $message = '') } /** - * @psalm-pure - * * @param array $array * @param string|int $key * @param string $message - * - * @throws InvalidArgumentException */ public static function keyExists($array, $key, $message = '') { @@ -1668,13 +1420,9 @@ public static function keyExists($array, $key, $message = '') } /** - * @psalm-pure - * * @param array $array * @param string|int $key * @param string $message - * - * @throws InvalidArgumentException */ public static function keyNotExists($array, $key, $message = '') { @@ -1686,57 +1434,28 @@ public static function keyNotExists($array, $key, $message = '') } } - /** - * Checks if a value is a valid array key (int or string). - * - * @psalm-pure - * @psalm-assert array-key $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function validArrayKey($value, $message = '') - { - if (!(\is_int($value) || \is_string($value))) { - static::reportInvalidArgument(\sprintf( - $message ?: 'Expected string or integer. Got: %s', - static::typeToString($value) - )); - } - } - /** * Does not check if $array is countable, this can generate a warning on php versions after 7.2. * - * @param Countable|array $array - * @param int $number - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $array + * @param mixed $number + * @param string $message */ public static function count($array, $number, $message = '') { static::eq( \count($array), $number, - \sprintf( - $message ?: 'Expected an array to contain %d elements. Got: %d.', - $number, - \count($array) - ) + $message ?: \sprintf('Expected an array to contain %d elements. Got: %d.', $number, \count($array)) ); } /** * Does not check if $array is countable, this can generate a warning on php versions after 7.2. * - * @param Countable|array $array - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $array + * @param mixed $min + * @param string $message */ public static function minCount($array, $min, $message = '') { @@ -1752,11 +1471,9 @@ public static function minCount($array, $min, $message = '') /** * Does not check if $array is countable, this can generate a warning on php versions after 7.2. * - * @param Countable|array $array - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $array + * @param mixed $max + * @param string $message */ public static function maxCount($array, $max, $message = '') { @@ -1772,12 +1489,10 @@ public static function maxCount($array, $max, $message = '') /** * Does not check if $array is countable, this can generate a warning on php versions after 7.2. * - * @param Countable|array $array - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException + * @param mixed $array + * @param mixed $min + * @param mixed $max + * @param string $message */ public static function countBetween($array, $min, $max, $message = '') { @@ -1794,17 +1509,12 @@ public static function countBetween($array, $min, $max, $message = '') } /** - * @psalm-pure - * @psalm-assert list $array - * * @param mixed $array * @param string $message - * - * @throws InvalidArgumentException */ public static function isList($array, $message = '') { - if (!\is_array($array) || $array !== \array_values($array)) { + if (!\is_array($array) || !$array || \array_keys($array) !== \range(0, \count($array) - 1)) { static::reportInvalidArgument( $message ?: 'Expected list - non-associative array.' ); @@ -1812,36 +1522,17 @@ public static function isList($array, $message = '') } /** - * @psalm-pure - * @psalm-assert non-empty-list $array - * * @param mixed $array * @param string $message - * - * @throws InvalidArgumentException - */ - public static function isNonEmptyList($array, $message = '') - { - static::isList($array, $message); - static::notEmpty($array, $message); - } - - /** - * @psalm-pure - * @psalm-template T - * @psalm-param mixed|array<T> $array - * @psalm-assert array<string, T> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException */ public static function isMap($array, $message = '') { if ( !\is_array($array) || - \array_keys($array) !== \array_filter(\array_keys($array), '\is_string') + !$array || + \array_keys($array) !== \array_filter(\array_keys($array), function ($key) { + return \is_string($key); + }) ) { static::reportInvalidArgument( $message ?: 'Expected map - associative array with string keys.' @@ -1850,30 +1541,8 @@ public static function isMap($array, $message = '') } /** - * @psalm-pure - * @psalm-template T - * @psalm-param mixed|array<T> $array - * @psalm-assert array<string, T> $array - * @psalm-assert !empty $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function isNonEmptyMap($array, $message = '') - { - static::isMap($array, $message); - static::notEmpty($array, $message); - } - - /** - * @psalm-pure - * - * @param string $value + * @param mixed $value * @param string $message - * - * @throws InvalidArgumentException */ public static function uuid($value, $message = '') { @@ -1894,13 +1563,9 @@ public static function uuid($value, $message = '') } /** - * @psalm-param class-string<Throwable> $class - * - * @param Closure $expression - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException + * @param Closure $expression + * @param string|object $class + * @param string $message */ public static function throws(Closure $expression, $class = 'Exception', $message = '') { @@ -1929,9 +1594,6 @@ public static function throws(Closure $expression, $class = 'Exception', $messag )); } - /** - * @throws BadMethodCallException - */ public static function __callStatic($name, $arguments) { if ('nullOr' === \substr($name, 0, 6)) { @@ -1989,10 +1651,6 @@ protected static function valueToString($value) return \get_class($value).': '.self::valueToString($value->__toString()); } - if ($value instanceof DateTime || $value instanceof DateTimeImmutable) { - return \get_class($value).': '.self::valueToString($value->format('c')); - } - return \get_class($value); } @@ -2032,10 +1690,6 @@ protected static function strlen($value) /** * @param string $message - * - * @throws InvalidArgumentException - * - * @psalm-pure this method is not supposed to perform side-effects */ protected static function reportInvalidArgument($message) { diff --git a/vendor/webmozart/assert/src/Mixin.php b/vendor/webmozart/assert/src/Mixin.php deleted file mode 100644 index 3ad9b2d04..000000000 --- a/vendor/webmozart/assert/src/Mixin.php +++ /dev/null @@ -1,1971 +0,0 @@ -<?php - -/** - * provides type inference and auto-completion for magic static methods of Assert. - */ - -namespace Webmozart\Assert; - -use ArrayAccess; -use Closure; -use Countable; -use InvalidArgumentException; -use Throwable; - -interface Mixin -{ - /** - * @psalm-pure - * @psalm-assert null|string $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrString($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<string> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allString($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|non-empty-string $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrStringNotEmpty($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<non-empty-string> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allStringNotEmpty($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|int $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrInteger($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<int> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allInteger($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|numeric $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIntegerish($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<numeric> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIntegerish($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|float $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrFloat($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<float> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allFloat($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|numeric $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNumeric($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<numeric> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNumeric($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|int $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNatural($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<int> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNatural($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|bool $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrBoolean($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<bool> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allBoolean($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|scalar $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrScalar($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<scalar> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allScalar($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|object $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrObject($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<object> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allObject($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|resource $value - * - * @param mixed $value - * @param string|null $type type of resource this should be. @see https://www.php.net/manual/en/function.get-resource-type.php - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrResource($value, $type = null, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<resource> $value - * - * @param mixed $value - * @param string|null $type type of resource this should be. @see https://www.php.net/manual/en/function.get-resource-type.php - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allResource($value, $type = null, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|callable $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsCallable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<callable> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsCallable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|array $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsArray($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<array> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsArray($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|iterable $value - * - * @deprecated use "isIterable" or "isInstanceOf" instead - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsTraversable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<iterable> $value - * - * @deprecated use "isIterable" or "isInstanceOf" instead - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsTraversable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|array|ArrayAccess $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsArrayAccessible($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<array|ArrayAccess> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsArrayAccessible($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|countable $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsCountable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<countable> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsCountable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|iterable $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsIterable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<iterable> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsIterable($value, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert null|ExpectedType $value - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsInstanceOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert iterable<ExpectedType> $value - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsInstanceOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotInstanceOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotInstanceOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * - * @param mixed $value - * @param array<object|string> $classes - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsInstanceOfAny($value, $classes, $message = ''); - - /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * - * @param mixed $value - * @param array<object|string> $classes - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsInstanceOfAny($value, $classes, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert null|ExpectedType|class-string<ExpectedType> $value - * - * @param null|object|string $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsAOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert iterable<ExpectedType|class-string<ExpectedType>> $value - * - * @param iterable<object|string> $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsAOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template UnexpectedType of object - * @psalm-param class-string<UnexpectedType> $class - * - * @param null|object|string $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsNotA($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template UnexpectedType of object - * @psalm-param class-string<UnexpectedType> $class - * - * @param iterable<object|string> $value - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsNotA($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * - * @param null|object|string $value - * @param string[] $classes - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsAnyOf($value, $classes, $message = ''); - - /** - * @psalm-pure - * @psalm-param array<class-string> $classes - * - * @param iterable<object|string> $value - * @param string[] $classes - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsAnyOf($value, $classes, $message = ''); - - /** - * @psalm-pure - * @psalm-assert empty $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsEmpty($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<empty> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsEmpty($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotEmpty($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotEmpty($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<null> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNull($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotNull($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|true $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrTrue($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<true> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allTrue($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|false $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrFalse($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<false> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allFalse($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotFalse($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotFalse($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIp($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIp($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIpv4($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIpv4($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIpv6($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIpv6($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrEmail($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allEmail($value, $message = ''); - - /** - * @param null|array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrUniqueValues($values, $message = ''); - - /** - * @param iterable<array> $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allUniqueValues($values, $message = ''); - - /** - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrEq($value, $expect, $message = ''); - - /** - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allEq($value, $expect, $message = ''); - - /** - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotEq($value, $expect, $message = ''); - - /** - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotEq($value, $expect, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrSame($value, $expect, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allSame($value, $expect, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotSame($value, $expect, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $expect - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotSame($value, $expect, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrGreaterThan($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allGreaterThan($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrGreaterThanEq($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allGreaterThanEq($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrLessThan($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allLessThan($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrLessThanEq($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $limit - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allLessThanEq($value, $limit, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $min - * @param mixed $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrRange($value, $min, $max, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param mixed $min - * @param mixed $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allRange($value, $min, $max, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrOneOf($value, $values, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allOneOf($value, $values, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrInArray($value, $values, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param array $values - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allInArray($value, $values, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $subString - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrContains($value, $subString, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $subString - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allContains($value, $subString, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $subString - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotContains($value, $subString, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $subString - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotContains($value, $subString, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotWhitespaceOnly($value, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotWhitespaceOnly($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $prefix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrStartsWith($value, $prefix, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $prefix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allStartsWith($value, $prefix, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $prefix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotStartsWith($value, $prefix, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $prefix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotStartsWith($value, $prefix, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrStartsWithLetter($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allStartsWithLetter($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $suffix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrEndsWith($value, $suffix, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $suffix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allEndsWith($value, $suffix, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $suffix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotEndsWith($value, $suffix, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $suffix - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotEndsWith($value, $suffix, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $pattern - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrRegex($value, $pattern, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $pattern - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allRegex($value, $pattern, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $pattern - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrNotRegex($value, $pattern, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $pattern - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allNotRegex($value, $pattern, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrUnicodeLetters($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allUnicodeLetters($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrAlpha($value, $message = ''); - - /** - * @psalm-pure - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allAlpha($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrDigits($value, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allDigits($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrAlnum($value, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allAlnum($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|lowercase-string $value - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrLower($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<lowercase-string> $value - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allLower($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrUpper($value, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allUpper($value, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param int $length - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrLength($value, $length, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param int $length - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allLength($value, $length, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMinLength($value, $min, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMinLength($value, $min, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMaxLength($value, $max, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMaxLength($value, $max, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrLengthBetween($value, $min, $max, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allLengthBetween($value, $min, $max, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrFileExists($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allFileExists($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrFile($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allFile($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrDirectory($value, $message = ''); - - /** - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allDirectory($value, $message = ''); - - /** - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrReadable($value, $message = ''); - - /** - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allReadable($value, $message = ''); - - /** - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrWritable($value, $message = ''); - - /** - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allWritable($value, $message = ''); - - /** - * @psalm-assert null|class-string $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrClassExists($value, $message = ''); - - /** - * @psalm-assert iterable<class-string> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allClassExists($value, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert null|class-string<ExpectedType>|ExpectedType $value - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrSubclassOf($value, $class, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $class - * @psalm-assert iterable<class-string<ExpectedType>|ExpectedType> $value - * - * @param mixed $value - * @param string|object $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allSubclassOf($value, $class, $message = ''); - - /** - * @psalm-assert null|class-string $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrInterfaceExists($value, $message = ''); - - /** - * @psalm-assert iterable<class-string> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allInterfaceExists($value, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $interface - * @psalm-assert null|class-string<ExpectedType> $value - * - * @param mixed $value - * @param mixed $interface - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrImplementsInterface($value, $interface, $message = ''); - - /** - * @psalm-pure - * @psalm-template ExpectedType of object - * @psalm-param class-string<ExpectedType> $interface - * @psalm-assert iterable<class-string<ExpectedType>> $value - * - * @param mixed $value - * @param mixed $interface - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allImplementsInterface($value, $interface, $message = ''); - - /** - * @psalm-pure - * @psalm-param null|class-string|object $classOrObject - * - * @param null|string|object $classOrObject - * @param mixed $property - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrPropertyExists($classOrObject, $property, $message = ''); - - /** - * @psalm-pure - * @psalm-param iterable<class-string|object> $classOrObject - * - * @param iterable<string|object> $classOrObject - * @param mixed $property - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allPropertyExists($classOrObject, $property, $message = ''); - - /** - * @psalm-pure - * @psalm-param null|class-string|object $classOrObject - * - * @param null|string|object $classOrObject - * @param mixed $property - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrPropertyNotExists($classOrObject, $property, $message = ''); - - /** - * @psalm-pure - * @psalm-param iterable<class-string|object> $classOrObject - * - * @param iterable<string|object> $classOrObject - * @param mixed $property - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allPropertyNotExists($classOrObject, $property, $message = ''); - - /** - * @psalm-pure - * @psalm-param null|class-string|object $classOrObject - * - * @param null|string|object $classOrObject - * @param mixed $method - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMethodExists($classOrObject, $method, $message = ''); - - /** - * @psalm-pure - * @psalm-param iterable<class-string|object> $classOrObject - * - * @param iterable<string|object> $classOrObject - * @param mixed $method - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMethodExists($classOrObject, $method, $message = ''); - - /** - * @psalm-pure - * @psalm-param null|class-string|object $classOrObject - * - * @param null|string|object $classOrObject - * @param mixed $method - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMethodNotExists($classOrObject, $method, $message = ''); - - /** - * @psalm-pure - * @psalm-param iterable<class-string|object> $classOrObject - * - * @param iterable<string|object> $classOrObject - * @param mixed $method - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMethodNotExists($classOrObject, $method, $message = ''); - - /** - * @psalm-pure - * - * @param null|array $array - * @param string|int $key - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrKeyExists($array, $key, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<array> $array - * @param string|int $key - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allKeyExists($array, $key, $message = ''); - - /** - * @psalm-pure - * - * @param null|array $array - * @param string|int $key - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrKeyNotExists($array, $key, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<array> $array - * @param string|int $key - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allKeyNotExists($array, $key, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|array-key $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrValidArrayKey($value, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<array-key> $value - * - * @param mixed $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allValidArrayKey($value, $message = ''); - - /** - * @param null|Countable|array $array - * @param int $number - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrCount($array, $number, $message = ''); - - /** - * @param iterable<Countable|array> $array - * @param int $number - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allCount($array, $number, $message = ''); - - /** - * @param null|Countable|array $array - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMinCount($array, $min, $message = ''); - - /** - * @param iterable<Countable|array> $array - * @param int|float $min - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMinCount($array, $min, $message = ''); - - /** - * @param null|Countable|array $array - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrMaxCount($array, $max, $message = ''); - - /** - * @param iterable<Countable|array> $array - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allMaxCount($array, $max, $message = ''); - - /** - * @param null|Countable|array $array - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrCountBetween($array, $min, $max, $message = ''); - - /** - * @param iterable<Countable|array> $array - * @param int|float $min - * @param int|float $max - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allCountBetween($array, $min, $max, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|list $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsList($array, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<list> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsList($array, $message = ''); - - /** - * @psalm-pure - * @psalm-assert null|non-empty-list $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsNonEmptyList($array, $message = ''); - - /** - * @psalm-pure - * @psalm-assert iterable<non-empty-list> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsNonEmptyList($array, $message = ''); - - /** - * @psalm-pure - * @psalm-template T - * @psalm-param null|mixed|array<T> $array - * @psalm-assert null|array<string, T> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsMap($array, $message = ''); - - /** - * @psalm-pure - * @psalm-template T - * @psalm-param iterable<mixed|array<T>> $array - * @psalm-assert iterable<array<string, T>> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsMap($array, $message = ''); - - /** - * @psalm-pure - * @psalm-template T - * @psalm-param null|mixed|array<T> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrIsNonEmptyMap($array, $message = ''); - - /** - * @psalm-pure - * @psalm-template T - * @psalm-param iterable<mixed|array<T>> $array - * - * @param mixed $array - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allIsNonEmptyMap($array, $message = ''); - - /** - * @psalm-pure - * - * @param null|string $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrUuid($value, $message = ''); - - /** - * @psalm-pure - * - * @param iterable<string> $value - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allUuid($value, $message = ''); - - /** - * @psalm-param class-string<Throwable> $class - * - * @param null|Closure $expression - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function nullOrThrows($expression, $class = 'Exception', $message = ''); - - /** - * @psalm-param class-string<Throwable> $class - * - * @param iterable<Closure> $expression - * @param string $class - * @param string $message - * - * @throws InvalidArgumentException - */ - public static function allThrows($expression, $class = 'Exception', $message = ''); -} -- GitLab