diff --git a/src/Exporter.php b/src/Exporter.php index 77382ad..9bfef18 100644 --- a/src/Exporter.php +++ b/src/Exporter.php @@ -348,7 +348,7 @@ private function exportObject(object $value, RecursionContext $processed, string $processed->add($value); if ($this->objectExporter !== null && $this->objectExporter->handles($value)) { - $buffer = $this->objectExporter->export($value, $this); + $buffer = $this->objectExporter->export($value, $this, $indentation); } else { $buffer = $this->defaultObjectExport($value, $processed, $whitespace, $indentation); } diff --git a/src/ObjectExporter.php b/src/ObjectExporter.php index 753b913..535aa53 100644 --- a/src/ObjectExporter.php +++ b/src/ObjectExporter.php @@ -13,5 +13,5 @@ interface ObjectExporter { public function handles(object $object): bool; - public function export(object $object, Exporter $exporter): string; + public function export(object $object, Exporter $exporter, int $indentation): string; } diff --git a/src/ObjectExporterChain.php b/src/ObjectExporterChain.php index dc7d3ce..2efd7f3 100644 --- a/src/ObjectExporterChain.php +++ b/src/ObjectExporterChain.php @@ -38,11 +38,11 @@ public function handles(object $object): bool /** * @throws ObjectNotSupportedException */ - public function export(object $object, Exporter $exporter): string + public function export(object $object, Exporter $exporter, int $indentation): string { foreach ($this->exporter as $objectExporter) { if ($objectExporter->handles($object)) { - return $objectExporter->export($object, $exporter); + return $objectExporter->export($object, $exporter, $indentation); } } diff --git a/tests/ObjectExporterChainTest.php b/tests/ObjectExporterChainTest.php index e9a2e63..bb901fc 100644 --- a/tests/ObjectExporterChainTest.php +++ b/tests/ObjectExporterChainTest.php @@ -47,7 +47,7 @@ public function testDelegatesExportingToFirstExporterThatHandlesAnObject(): void $chain = new ObjectExporterChain([$firstExporter, $secondExporter]); - $this->assertSame('string', $chain->export(new stdClass, new Exporter)); + $this->assertSame('string', $chain->export(new stdClass, new Exporter, 0)); } public function testCannotExportObjectWhenNoExporterHandlesIt(): void @@ -59,6 +59,6 @@ public function testCannotExportObjectWhenNoExporterHandlesIt(): void $this->expectException(ObjectNotSupportedException::class); - $this->assertSame('string', $chain->export(new stdClass, new Exporter)); + $this->assertSame('string', $chain->export(new stdClass, new Exporter, 0)); } }