![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/sebastianfeldmann/git/src/Command/Output/ |
<?php /** * This file is part of SebastianFeldmann\Git. * * (c) Sebastian Feldmann <[email protected]> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianFeldmann\Git\Command\Output; use SebastianFeldmann\Cli\Command\OutputFormatter; /** * Output formatter that uses explode to return list of maps * * @author Sebastian Feldmann <[email protected]> * @link https://github.com/sebastianfeldmann/git * @since Class available since Release 3.10.0 */ class Exploded implements OutputFormatter { /** * @var string */ protected string $separator; /** * @var array<int, string> */ private array $names; /** * @param string $separator * @param array<int, string> $names */ public function __construct(string $separator, array $names) { $this->separator = $separator; $this->names = $names; } /** * Format the output * * @param array<string> $output * @return iterable<array<string, string>> */ public function format(array $output): iterable { $logs = []; foreach ($output as $line) { $parts = explode($this->separator, $line); $log = []; foreach ($parts as $index => $value) { $log[$this->names[$index]] = $value; } $logs[] = $log; } return $logs; } }