[ $this, 'batch' ] ]; } public function parse(\Picea\Compiler\Context &$context, ?string $arguments, string $token, array $options = []) : string { return ""; } public function batch(iterable $array, int $size, mixed $default = null) : \Generator { $split = ceil( count($array) / $size ); for($i = 0; $i < $split; $i++) { $slice = array_slice(is_array($array) ? $array : iterator_to_array($array, true), $i * $size, $size, true); $pad = ( count($slice) !== $size ) && ( $default !== null ); yield $pad ? array_pad($slice, $size, $default) : $slice; } } }