- Timestamp:
- 11/25/2021 01:10:30 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/Requests/Utility/FilteredIterator.php
r50842 r52244 3 3 * Iterator for arrays requiring filtered values 4 4 * 5 * @package Requests 6 * @subpackage Utilities 5 * @package Requests\Utilities 7 6 */ 7 8 namespace WpOrg\Requests\Utility; 9 10 use ArrayIterator; 11 use ReturnTypeWillChange; 12 use WpOrg\Requests\Exception\InvalidArgument; 13 use WpOrg\Requests\Utility\InputValidator; 8 14 9 15 /** 10 16 * Iterator for arrays requiring filtered values 11 17 * 12 * @package Requests 13 * @subpackage Utilities 18 * @package Requests\Utilities 14 19 */ 15 class Requests_Utility_FilteredIterator extends ArrayIterator {20 final class FilteredIterator extends ArrayIterator { 16 21 /** 17 22 * Callback to run as a filter … … 19 24 * @var callable 20 25 */ 21 pr otected$callback;26 private $callback; 22 27 23 28 /** … … 26 31 * @param array $data 27 32 * @param callable $callback Callback to be called on each value 33 * 34 * @throws \WpOrg\Requests\Exception\InvalidArgument When the passed $data argument is not iterable. 28 35 */ 29 36 public function __construct($data, $callback) { 37 if (InputValidator::is_iterable($data) === false) { 38 throw InvalidArgument::create(1, '$data', 'iterable', gettype($data)); 39 } 40 30 41 parent::__construct($data); 31 42 32 $this->callback = $callback; 43 if (is_callable($callback)) { 44 $this->callback = $callback; 45 } 46 } 47 48 /** 49 * @inheritdoc 50 * 51 * @phpcs:disable PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound 52 */ 53 #[ReturnTypeWillChange] 54 public function __unserialize($data) {} 55 // phpcs:enable 56 57 public function __wakeup() { 58 unset($this->callback); 33 59 } 34 60 … … 38 64 * @return string 39 65 */ 66 #[ReturnTypeWillChange] 40 67 public function current() { 41 68 $value = parent::current(); … … 51 78 * @inheritdoc 52 79 */ 53 public function unserialize($serialized) {} 54 55 /** 56 * @inheritdoc 57 * 58 * @phpcs:disable PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.MethodDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound 59 */ 60 public function __unserialize($serialized) {} 61 62 public function __wakeup() { 63 unset($this->callback); 64 } 80 #[ReturnTypeWillChange] 81 public function unserialize($data) {} 65 82 }
Note: See TracChangeset
for help on using the changeset viewer.