1 | <?php |
||
15 | class FilterResource |
||
16 | { |
||
17 | /** |
||
18 | * @var Filter |
||
19 | */ |
||
20 | protected $filter; |
||
21 | |||
22 | /** |
||
23 | * @var null|string|string[] |
||
24 | */ |
||
25 | protected $keys; |
||
26 | |||
27 | /** |
||
28 | * @param Filter $filter |
||
29 | * @param null|string|string[] $keys |
||
30 | */ |
||
31 | 171 | public function __construct(Filter $filter, $keys = null) |
|
32 | { |
||
33 | 171 | $this->filter = $filter; |
|
34 | 171 | $this->keys = $keys; |
|
35 | 171 | } |
|
36 | |||
37 | /** |
||
38 | * Results rule that returns alphabetic numeric characters from the value |
||
39 | * |
||
40 | * @return $this |
||
41 | */ |
||
42 | 4 | public function alnum() |
|
46 | |||
47 | /** |
||
48 | * Results rule that returns the value appended with a given value |
||
49 | * |
||
50 | * @param string $append |
||
51 | * @return Chain |
||
52 | */ |
||
53 | 4 | public function append($append) |
|
57 | |||
58 | /** |
||
59 | * Results rule that returns a casted boolean |
||
60 | * |
||
61 | * @return $this |
||
62 | */ |
||
63 | 16 | public function bool() |
|
67 | |||
68 | /** |
||
69 | * Returns rule that returns a value modified by a callable closure |
||
70 | * |
||
71 | * @param callable $callable |
||
72 | * @param bool $allowNotSet |
||
73 | * @return $this |
||
74 | */ |
||
75 | 6 | public function callback(callable $callable, $allowNotSet = false) |
|
79 | |||
80 | /** |
||
81 | * Returns rule that defaults a given value if the data key was not provided |
||
82 | * |
||
83 | * @param mixed $defaultValue |
||
84 | * @return $this |
||
85 | */ |
||
86 | 13 | public function defaults($defaultValue) |
|
90 | |||
91 | /** |
||
92 | * Returns rule that can filter repeated nested arrays |
||
93 | * |
||
94 | * @param callable $callable |
||
95 | * @return $this |
||
96 | */ |
||
97 | 2 | public function each(callable $callable) |
|
101 | |||
102 | /** |
||
103 | * Returns rule that returns an value in a specific encoding format |
||
104 | * |
||
105 | * @param string|null $toEncodingFormat |
||
106 | * @param string|null $fromEncodingFormat |
||
107 | * @return $this |
||
108 | */ |
||
109 | 5 | public function encode($toEncodingFormat = null, $fromEncodingFormat = null) |
|
113 | |||
114 | /** |
||
115 | * Returns rule that results a casted float |
||
116 | * |
||
117 | * @return $this |
||
118 | */ |
||
119 | 12 | public function float() |
|
123 | |||
124 | /** |
||
125 | * Returns rule that results a casted int |
||
126 | * |
||
127 | * @return $this |
||
128 | */ |
||
129 | 11 | public function int() |
|
133 | |||
134 | /** |
||
135 | * Returns rule that results all letters of a value |
||
136 | * |
||
137 | * @return $this |
||
138 | */ |
||
139 | 3 | public function letters() |
|
143 | |||
144 | /** |
||
145 | * Returns rule that results a lower-cased value |
||
146 | * |
||
147 | * @return $this |
||
148 | */ |
||
149 | 17 | public function lower() |
|
153 | |||
154 | /** |
||
155 | * Returns rule that formats numbers |
||
156 | * |
||
157 | * @param int $decimals |
||
158 | * @param string $decimalPoint |
||
159 | * @param string $thousandSeparator |
||
160 | * @return $this |
||
161 | */ |
||
162 | 12 | public function numberFormat($decimals, $decimalPoint, $thousandSeparator) |
|
166 | |||
167 | /** |
||
168 | * Returns rule that results all numbers of a value |
||
169 | * |
||
170 | * @return $this |
||
171 | */ |
||
172 | 3 | public function numbers() |
|
176 | |||
177 | /** |
||
178 | * Results rule that returns the value prepended with a given value |
||
179 | * |
||
180 | * @param string $prepend |
||
181 | * @return Chain |
||
182 | */ |
||
183 | 4 | public function prepend($prepend) |
|
187 | |||
188 | /** |
||
189 | * Results rule that returns a value with replacements by a regex |
||
190 | * |
||
191 | * @param string $searchRegex |
||
192 | * @param string $replace |
||
193 | * @return $this |
||
194 | */ |
||
195 | 2 | public function regexReplace($searchRegex, $replace) |
|
199 | |||
200 | /** |
||
201 | * Results rule that returns an empty result so it can be removed |
||
202 | * |
||
203 | * @return $this |
||
204 | */ |
||
205 | 5 | public function remove() |
|
206 | { |
||
207 | 5 | return $this->addRule(new FilterRule\Remove); |
|
208 | } |
||
209 | |||
210 | /** |
||
211 | * Results rule that returns an empty result when the value is null so it can be removed |
||
212 | * |
||
213 | * @return $this |
||
214 | */ |
||
215 | 7 | public function removeNull() |
|
216 | { |
||
217 | 7 | return $this->addRule(new FilterRule\RemoveNull); |
|
218 | } |
||
219 | |||
220 | /** |
||
221 | * Results rule that returns a value with replacements |
||
222 | * |
||
223 | * @param mixed $search |
||
224 | * @param mixed $replace |
||
225 | * @return $this |
||
226 | */ |
||
227 | 5 | public function replace($search, $replace) |
|
231 | |||
232 | /** |
||
233 | * Results that returns a value slugged |
||
234 | * |
||
235 | * @param type $fieldToSlugFrom |
||
236 | */ |
||
237 | 7 | public function slug($fieldToSlugFrom = null) |
|
241 | |||
242 | /** |
||
243 | * Returns rule that results a casted string |
||
244 | * |
||
245 | * @return $this |
||
246 | */ |
||
247 | 7 | public function string() |
|
251 | |||
252 | /** |
||
253 | * Results rule that results a html-stripped value |
||
254 | * |
||
255 | * @param null|string $excludeTags |
||
256 | * @return $this |
||
257 | */ |
||
258 | 4 | public function stripHtml($excludeTags = null) |
|
262 | |||
263 | /** |
||
264 | * Returns rule that results a trimmed value |
||
265 | * |
||
266 | * @param string|null $characters |
||
267 | * @return $this |
||
268 | */ |
||
269 | 21 | public function trim($characters = null) |
|
273 | |||
274 | /** |
||
275 | * Results rule that returns an upper-cased value |
||
276 | * |
||
277 | * @return $this |
||
278 | */ |
||
279 | 7 | public function upper() |
|
283 | |||
284 | /** |
||
285 | * Returns rule that results a value starting with a upper-cased character |
||
286 | * |
||
287 | * @return $this |
||
288 | */ |
||
289 | 14 | public function upperFirst() |
|
293 | |||
294 | /** |
||
295 | * Add a new rule to the chain |
||
296 | * |
||
297 | * @param FilterRule $rule |
||
298 | * @return $this |
||
299 | */ |
||
300 | 170 | protected function addRule(FilterRule $rule) |
|
316 | } |
||
317 |
This check looks at variables that have been passed in as parameters and are passed out again to other methods.
If the outgoing method call has stricter type requirements than the method itself, an issue is raised.
An additional type check may prevent trouble.