diff vendor/webmozart/assert/src/Assert.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 7a779792577d
children
line wrap: on
line diff
--- a/vendor/webmozart/assert/src/Assert.php	Tue Jul 10 15:07:59 2018 +0100
+++ b/vendor/webmozart/assert/src/Assert.php	Thu Feb 28 13:21:36 2019 +0000
@@ -29,6 +29,7 @@
  * @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 = '')
@@ -38,6 +39,7 @@
  * @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 = '')
@@ -45,6 +47,9 @@
  * @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 nullOrEq($value, $value2, $message = '')
  * @method static void nullOrNotEq($value,$value2,  $message = '')
  * @method static void nullOrSame($value, $value2, $message = '')
@@ -62,6 +67,7 @@
  * @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 nullOrAlpha($value, $message = '')
  * @method static void nullOrDigits($value, $message = '')
  * @method static void nullOrAlnum($value, $message = '')
@@ -78,6 +84,7 @@
  * @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 = '')
@@ -88,14 +95,18 @@
  * @method static void nullOrCount($value, $key, $message = '')
  * @method static void nullOrMinCount($value, $min, $message = '')
  * @method static void nullOrMaxCount($value, $max, $message = '')
- * @method static void nullCountBetween($value, $min, $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 = '')
@@ -105,6 +116,7 @@
  * @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 = '')
@@ -114,6 +126,9 @@
  * @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 allEq($values, $value2, $message = '')
  * @method static void allNotEq($values,$value2,  $message = '')
  * @method static void allSame($values, $value2, $message = '')
@@ -131,6 +146,7 @@
  * @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 allAlpha($values, $message = '')
  * @method static void allDigits($values, $message = '')
  * @method static void allAlnum($values, $message = '')
@@ -147,6 +163,7 @@
  * @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 = '')
@@ -158,7 +175,10 @@
  * @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
  *
@@ -444,6 +464,36 @@
         }
     }
 
+    public static function ip($value, $message = '')
+    {
+        if (false === filter_var($value, FILTER_VALIDATE_IP)) {
+            static::reportInvalidArgument(sprintf(
+                $message ?: 'Expected a value to be an IP. Got: %s',
+                static::valueToString($value)
+            ));
+        }
+    }
+
+    public static function ipv4($value, $message = '')
+    {
+        if (false === filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
+            static::reportInvalidArgument(sprintf(
+                $message ?: 'Expected a value to be an IPv4. Got: %s',
+                static::valueToString($value)
+            ));
+        }
+    }
+
+    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',
+                static::valueToString($value)
+            ));
+        }
+    }
+
     public static function eq($value, $value2, $message = '')
     {
         if ($value2 != $value) {
@@ -636,6 +686,18 @@
         }
     }
 
+    public static function notRegex($value, $pattern, $message = '')
+    {
+        if (preg_match($pattern, $value, $matches, PREG_OFFSET_CAPTURE)) {
+            static::reportInvalidArgument(sprintf(
+                $message ?: 'The value %s matches the pattern %s (at offset %d).',
+                static::valueToString($value),
+                static::valueToString($pattern),
+                $matches[0][1]
+            ));
+        }
+    }
+
     public static function alpha($value, $message = '')
     {
         $locale = setlocale(LC_CTYPE, 0);
@@ -835,6 +897,16 @@
         }
     }
 
+    public static function interfaceExists($value, $message = '')
+    {
+        if (!interface_exists($value)) {
+            static::reportInvalidArgument(sprintf(
+                $message ?: 'Expected an existing interface name. got %s',
+                static::valueToString($value)
+            ));
+        }
+    }
+
     public static function implementsInterface($value, $interface, $message = '')
     {
         if (!in_array($interface, class_implements($value))) {
@@ -888,7 +960,7 @@
 
     public static function keyExists($array, $key, $message = '')
     {
-        if (!array_key_exists($key, $array)) {
+        if (!(isset($array[$key]) || array_key_exists($key, $array))) {
             static::reportInvalidArgument(sprintf(
                 $message ?: 'Expected the key %s to exist.',
                 static::valueToString($key)
@@ -898,7 +970,7 @@
 
     public static function keyNotExists($array, $key, $message = '')
     {
-        if (array_key_exists($key, $array)) {
+        if (isset($array[$key]) || array_key_exists($key, $array)) {
             static::reportInvalidArgument(sprintf(
                 $message ?: 'Expected the key %s to not exist.',
                 static::valueToString($key)
@@ -951,6 +1023,30 @@
         }
     }
 
+    public static function isList($array, $message = '')
+    {
+        if (!is_array($array) || !$array || array_keys($array) !== range(0, count($array) - 1)) {
+            static::reportInvalidArgument(
+                $message ?: 'Expected list - non-associative array.'
+            );
+        }
+    }
+
+    public static function isMap($array, $message = '')
+    {
+        if (
+            !is_array($array) ||
+            !$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.'
+            );
+        }
+    }
+
     public static function uuid($value, $message = '')
     {
         $value = str_replace(array('urn:', 'uuid:', '{', '}'), '', $value);
@@ -1044,6 +1140,10 @@
         }
 
         if (is_object($value)) {
+            if (method_exists($value, '__toString')) {
+                return get_class($value).': '.self::valueToString($value->__toString());
+            }
+
             return get_class($value);
         }