diff --git a/src/CSV/FingersCrossed/Extractor.php b/src/CSV/FingersCrossed/Extractor.php index ecc1927..5a7a1dd 100644 --- a/src/CSV/FingersCrossed/Extractor.php +++ b/src/CSV/FingersCrossed/Extractor.php @@ -18,7 +18,8 @@ public function __construct( private ReaderInterface $reader, private int $skipLines = 0, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function extract(): iterable { diff --git a/src/CSV/FingersCrossed/Loader.php b/src/CSV/FingersCrossed/Loader.php index 7614357..26a1701 100644 --- a/src/CSV/FingersCrossed/Loader.php +++ b/src/CSV/FingersCrossed/Loader.php @@ -23,7 +23,8 @@ public function __construct( private WriterInterface $writer, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function load(): \Generator { diff --git a/src/CSV/Safe/Extractor.php b/src/CSV/Safe/Extractor.php index 0b0021b..5aca5c0 100644 --- a/src/CSV/Safe/Extractor.php +++ b/src/CSV/Safe/Extractor.php @@ -18,7 +18,8 @@ public function __construct( private ReaderInterface $reader, private int $skipLines = 0, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function extract(): iterable { diff --git a/src/CSV/Safe/Loader.php b/src/CSV/Safe/Loader.php index a27ed69..7263437 100644 --- a/src/CSV/Safe/Loader.php +++ b/src/CSV/Safe/Loader.php @@ -23,7 +23,8 @@ public function __construct( private WriterInterface $writer, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function load(): \Generator { diff --git a/src/Sheet/FingersCrossed/Extractor.php b/src/Sheet/FingersCrossed/Extractor.php index 37d643d..6ba9d0a 100644 --- a/src/Sheet/FingersCrossed/Extractor.php +++ b/src/Sheet/FingersCrossed/Extractor.php @@ -21,7 +21,8 @@ public function __construct( private string $sheetName, private int $skipLines = 0, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function extract(): iterable { diff --git a/src/Sheet/FingersCrossed/Loader.php b/src/Sheet/FingersCrossed/Loader.php index 2321faa..7c3c15e 100644 --- a/src/Sheet/FingersCrossed/Loader.php +++ b/src/Sheet/FingersCrossed/Loader.php @@ -12,13 +12,11 @@ use Kiboko\Component\Bucket\AcceptanceResultBucket; use Kiboko\Component\Bucket\EmptyResultBucket; use Kiboko\Component\Bucket\RejectionResultBucket; -use Kiboko\Contract\Bucket\ResultBucketInterface; -use Kiboko\Contract\Pipeline\FlushableInterface; use Kiboko\Contract\Pipeline\LoaderInterface; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; -final readonly class Loader implements LoaderInterface, FlushableInterface +final readonly class Loader implements LoaderInterface { public function __construct( private WriterInterface $writer, @@ -65,11 +63,4 @@ public function load(): \Generator $line = yield new AcceptanceResultBucket($line); } } - - public function flush(): ResultBucketInterface - { - $this->writer->close(); - - return new EmptyResultBucket(); - } } diff --git a/src/Sheet/Safe/Extractor.php b/src/Sheet/Safe/Extractor.php index 949312c..62a9c1e 100644 --- a/src/Sheet/Safe/Extractor.php +++ b/src/Sheet/Safe/Extractor.php @@ -21,7 +21,8 @@ public function __construct( private string $sheetName, private int $skipLines = 0, private LoggerInterface $logger = new NullLogger() - ) {} + ) { + } public function extract(): iterable { diff --git a/src/Sheet/Safe/Loader.php b/src/Sheet/Safe/Loader.php index bcea776..eccf5fe 100644 --- a/src/Sheet/Safe/Loader.php +++ b/src/Sheet/Safe/Loader.php @@ -10,15 +10,11 @@ use Box\Spout\Writer\Exception\WriterNotOpenedException; use Box\Spout\Writer\WriterInterface; use Kiboko\Component\Bucket\AcceptanceResultBucket; -use Kiboko\Component\Bucket\EmptyResultBucket; -use Kiboko\Component\Bucket\RejectionResultBucket; -use Kiboko\Contract\Bucket\ResultBucketInterface; -use Kiboko\Contract\Pipeline\FlushableInterface; use Kiboko\Contract\Pipeline\LoaderInterface; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; -final readonly class Loader implements LoaderInterface, FlushableInterface +final readonly class Loader implements LoaderInterface { public function __construct( private WriterInterface $writer, @@ -31,33 +27,23 @@ public function __construct( public function load(): \Generator { - $line = yield new EmptyResultBucket(); + $line = yield; $headers = array_keys($line); try { $this->writer->addRow( new Row(array_map(fn ($value) => new Cell($value), array_keys($line)), null) ); - } catch (IOException|WriterNotOpenedException $exception) { + } catch (WriterNotOpenedException|IOException $exception) { $this->logger->error('Impossible to load data to the given CSV file.', ['line' => $line, 'message' => $exception->getMessage(), 'previous' => $exception->getPrevious()]); - $line = yield new RejectionResultBucket( - 'Impossible to load data to the given CSV file.', - $exception, - $line - ); + + return; } - /* @phpstan-ignore-next-line */ while (true) { try { $this->writer->addRow($this->orderColumns($headers, $line)); - } catch (IOException|WriterNotOpenedException $exception) { + } catch (WriterNotOpenedException|IOException $exception) { $this->logger->error('Impossible to load data to the given CSV file.', ['line' => $line, 'message' => $exception->getMessage(), 'previous' => $exception->getPrevious()]); - $line = yield new RejectionResultBucket( - 'Impossible to load data to the given CSV file.', - $exception, - $line - ); - continue; } $line = yield new AcceptanceResultBucket($line); @@ -73,11 +59,4 @@ private function orderColumns(array $headers, array $line): Row return new Row($result, null); } - - public function flush(): ResultBucketInterface - { - $this->writer->close(); - - return new EmptyResultBucket(); - } }