LooseTypeCheck.php
Namespace
JsonSchema\Constraints\TypeCheckFile
-
vendor/
justinrainbow/ json-schema/ src/ JsonSchema/ Constraints/ TypeCheck/ LooseTypeCheck.php
View source
<?php
namespace JsonSchema\Constraints\TypeCheck;
class LooseTypeCheck implements TypeCheckInterface {
public static function isObject($value) {
return is_object($value) || is_array($value) && (count($value) == 0 || self::isAssociativeArray($value));
}
public static function isArray($value) {
return is_array($value) && (count($value) == 0 || !self::isAssociativeArray($value));
}
public static function propertyGet($value, $property) {
if (is_object($value)) {
return $value->{$property};
}
return $value[$property];
}
public static function propertySet(&$value, $property, $data) {
if (is_object($value)) {
$value->{$property} = $data;
}
else {
$value[$property] = $data;
}
}
public static function propertyExists($value, $property) {
if (is_object($value)) {
return property_exists($value, $property);
}
return array_key_exists($property, $value);
}
public static function propertyCount($value) {
if (is_object($value)) {
return count(get_object_vars($value));
}
return count($value);
}
/**
* Check if the provided array is associative or not
*
* @param array $arr
*
* @return bool
*/
private static function isAssociativeArray($arr) {
return array_keys($arr) !== range(0, count($arr) - 1);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
LooseTypeCheck |