ex
Fork of mbed-os-example-mbed5-blinky by
dumi_doc-master/schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php@44:c1d8923072ba, 2017-07-18 (annotated)
- Committer:
- TMBOY
- Date:
- Tue Jul 18 16:27:22 2017 +0800
- Revision:
- 44:c1d8923072ba
?
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| TMBOY | 44:c1d8923072ba | 1 | <?php |
| TMBOY | 44:c1d8923072ba | 2 | |
| TMBOY | 44:c1d8923072ba | 3 | namespace JsonSchema\Constraints\TypeCheck; |
| TMBOY | 44:c1d8923072ba | 4 | |
| TMBOY | 44:c1d8923072ba | 5 | class LooseTypeCheck implements TypeCheckInterface |
| TMBOY | 44:c1d8923072ba | 6 | { |
| TMBOY | 44:c1d8923072ba | 7 | public static function isObject($value) |
| TMBOY | 44:c1d8923072ba | 8 | { |
| TMBOY | 44:c1d8923072ba | 9 | return |
| TMBOY | 44:c1d8923072ba | 10 | is_object($value) || |
| TMBOY | 44:c1d8923072ba | 11 | (is_array($value) && (count($value) == 0 || self::isAssociativeArray($value))); |
| TMBOY | 44:c1d8923072ba | 12 | } |
| TMBOY | 44:c1d8923072ba | 13 | |
| TMBOY | 44:c1d8923072ba | 14 | public static function isArray($value) |
| TMBOY | 44:c1d8923072ba | 15 | { |
| TMBOY | 44:c1d8923072ba | 16 | return |
| TMBOY | 44:c1d8923072ba | 17 | is_array($value) && |
| TMBOY | 44:c1d8923072ba | 18 | (count($value) == 0 || !self::isAssociativeArray($value)); |
| TMBOY | 44:c1d8923072ba | 19 | } |
| TMBOY | 44:c1d8923072ba | 20 | |
| TMBOY | 44:c1d8923072ba | 21 | public static function propertyGet($value, $property) |
| TMBOY | 44:c1d8923072ba | 22 | { |
| TMBOY | 44:c1d8923072ba | 23 | if (is_object($value)) { |
| TMBOY | 44:c1d8923072ba | 24 | return $value->{$property}; |
| TMBOY | 44:c1d8923072ba | 25 | } |
| TMBOY | 44:c1d8923072ba | 26 | |
| TMBOY | 44:c1d8923072ba | 27 | return $value[$property]; |
| TMBOY | 44:c1d8923072ba | 28 | } |
| TMBOY | 44:c1d8923072ba | 29 | |
| TMBOY | 44:c1d8923072ba | 30 | public static function propertyExists($value, $property) |
| TMBOY | 44:c1d8923072ba | 31 | { |
| TMBOY | 44:c1d8923072ba | 32 | if (is_object($value)) { |
| TMBOY | 44:c1d8923072ba | 33 | return property_exists($value, $property); |
| TMBOY | 44:c1d8923072ba | 34 | } |
| TMBOY | 44:c1d8923072ba | 35 | |
| TMBOY | 44:c1d8923072ba | 36 | return array_key_exists($property, $value); |
| TMBOY | 44:c1d8923072ba | 37 | } |
| TMBOY | 44:c1d8923072ba | 38 | |
| TMBOY | 44:c1d8923072ba | 39 | public static function propertyCount($value) |
| TMBOY | 44:c1d8923072ba | 40 | { |
| TMBOY | 44:c1d8923072ba | 41 | if (is_object($value)) { |
| TMBOY | 44:c1d8923072ba | 42 | return count(get_object_vars($value)); |
| TMBOY | 44:c1d8923072ba | 43 | } |
| TMBOY | 44:c1d8923072ba | 44 | |
| TMBOY | 44:c1d8923072ba | 45 | return count($value); |
| TMBOY | 44:c1d8923072ba | 46 | } |
| TMBOY | 44:c1d8923072ba | 47 | |
| TMBOY | 44:c1d8923072ba | 48 | /** |
| TMBOY | 44:c1d8923072ba | 49 | * Check if the provided array is associative or not |
| TMBOY | 44:c1d8923072ba | 50 | * |
| TMBOY | 44:c1d8923072ba | 51 | * @param array $arr |
| TMBOY | 44:c1d8923072ba | 52 | * |
| TMBOY | 44:c1d8923072ba | 53 | * @return bool |
| TMBOY | 44:c1d8923072ba | 54 | */ |
| TMBOY | 44:c1d8923072ba | 55 | private static function isAssociativeArray($arr) |
| TMBOY | 44:c1d8923072ba | 56 | { |
| TMBOY | 44:c1d8923072ba | 57 | return (array_keys($arr) !== range(0, count($arr) - 1)); |
| TMBOY | 44:c1d8923072ba | 58 | } |
| TMBOY | 44:c1d8923072ba | 59 | } |
