-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathphp_value_predicate.v
More file actions
116 lines (96 loc) · 2.39 KB
/
php_value_predicate.v
File metadata and controls
116 lines (96 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
module vphp
pub fn (v PhpValue) type_id() PHPType {
return v.value.with_request_zval[PHPType](fn (z ZVal) PHPType {
return z.type_id()
})
}
pub fn (v PhpValue) type_name() string {
return v.value.with_request_zval[string](fn (z ZVal) string {
return z.type_name()
})
}
pub fn (v PhpValue) is_valid() bool {
return v.value.is_valid()
}
pub fn (v PhpValue) is_null() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_null()
})
}
pub fn (v PhpValue) is_undef() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_undef()
})
}
pub fn (v PhpValue) is_bool() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_bool()
})
}
pub fn (v PhpValue) is_int() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_long()
})
}
pub fn (v PhpValue) is_long() bool {
return v.is_int()
}
pub fn (v PhpValue) is_float() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_double()
})
}
pub fn (v PhpValue) is_double() bool {
return v.is_float()
}
pub fn (v PhpValue) is_numeric() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_numeric()
})
}
pub fn (v PhpValue) is_scalar() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return PhpScalar.from_zval(z) != none
})
}
pub fn (v PhpValue) is_string() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_string()
})
}
pub fn (v PhpValue) is_array() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_array()
})
}
pub fn (v PhpValue) is_list() bool {
if arr := v.as_array() {
return arr.is_list()
}
return false
}
pub fn (v PhpValue) is_object() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_object()
})
}
pub fn (v PhpValue) is_resource() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_resource()
})
}
pub fn (v PhpValue) is_reference() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.type_id() == .reference
})
}
pub fn (v PhpValue) is_callable() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_callable()
})
}
pub fn (v PhpValue) is_iterable() bool {
return v.value.with_request_zval[bool](fn (z ZVal) bool {
return z.is_array() || (z.is_object() && z.is_instance_of('Traversable'))
})
}