From 7b0a9cda048de236a35331c8498e7815559240b7 Mon Sep 17 00:00:00 2001 From: Aidan Woods Date: Wed, 13 Oct 2021 19:46:53 +0100 Subject: [PATCH] Transformations must return transformable renderables --- src/Html/Renderables/Container.php | 8 ++++---- src/Html/Renderables/Element.php | 8 ++++---- src/Html/Renderables/Text.php | 9 ++++----- src/Html/TransformableRenderable.php | 10 +++++----- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/Html/Renderables/Container.php b/src/Html/Renderables/Container.php index 2ac16e3..0f557f9 100644 --- a/src/Html/Renderables/Container.php +++ b/src/Html/Renderables/Container.php @@ -51,10 +51,10 @@ final class Container implements TransformableRenderable } /** - * @param \Closure(string):Renderable $Transform - * @return Renderable + * @param \Closure(string):TransformableRenderable $Transform + * @return TransformableRenderable */ - public function transformingContent(\Closure $Transform): Renderable + public function transformingContent(\Closure $Transform): TransformableRenderable { return new Container(\array_map( function (Renderable $R) use ($Transform): Renderable { @@ -68,7 +68,7 @@ final class Container implements TransformableRenderable )); } - public function replacingAll(string $search, Renderable $Replacement): Renderable + public function replacingAll(string $search, TransformableRenderable $Replacement): TransformableRenderable { return new Container(\array_map( function (Renderable $R) use ($search, $Replacement): Renderable { diff --git a/src/Html/Renderables/Element.php b/src/Html/Renderables/Element.php index 2df3d53..65c1849 100644 --- a/src/Html/Renderables/Element.php +++ b/src/Html/Renderables/Element.php @@ -194,10 +194,10 @@ final class Element implements TransformableRenderable } /** - * @param \Closure(string):Renderable $Transform - * @return Renderable + * @param \Closure(string):TransformableRenderable $Transform + * @return TransformableRenderable */ - public function transformingContent(\Closure $Transform): Renderable + public function transformingContent(\Closure $Transform): TransformableRenderable { if (! isset($this->Contents)) { return $this; @@ -215,7 +215,7 @@ final class Element implements TransformableRenderable )); } - public function replacingAll(string $search, Renderable $Replacement): Renderable + public function replacingAll(string $search, TransformableRenderable $Replacement): TransformableRenderable { if (! isset($this->Contents)) { return $this; diff --git a/src/Html/Renderables/Text.php b/src/Html/Renderables/Text.php index 446121e..b4b8c3a 100644 --- a/src/Html/Renderables/Text.php +++ b/src/Html/Renderables/Text.php @@ -2,7 +2,6 @@ namespace Erusev\Parsedown\Html\Renderables; -use Erusev\Parsedown\Html\Renderable; use Erusev\Parsedown\Html\Sanitisation\Escaper; use Erusev\Parsedown\Html\TransformableRenderable; @@ -34,15 +33,15 @@ final class Text implements TransformableRenderable } /** - * @param \Closure(string):Renderable $Transform - * @return Renderable + * @param \Closure(string):TransformableRenderable $Transform + * @return TransformableRenderable */ - public function transformingContent(\Closure $Transform): Renderable + public function transformingContent(\Closure $Transform): TransformableRenderable { return $Transform($this->text); } - public function replacingAll(string $search, Renderable $Replacement): Renderable + public function replacingAll(string $search, TransformableRenderable $Replacement): TransformableRenderable { $searchLen = \strlen($search); diff --git a/src/Html/TransformableRenderable.php b/src/Html/TransformableRenderable.php index e890004..6c142be 100644 --- a/src/Html/TransformableRenderable.php +++ b/src/Html/TransformableRenderable.php @@ -18,17 +18,17 @@ interface TransformableRenderable extends Renderable * * It is acceptable to only partially transform "contained text". * - * @param \Closure(string):Renderable $Transform - * @return Renderable + * @param \Closure(string):TransformableRenderable $Transform + * @return TransformableRenderable */ - public function transformingContent(\Closure $Transform): Renderable; + public function transformingContent(\Closure $Transform): TransformableRenderable; /** * Similar to transformingContent, but replace the string $search in text content * with the renderable $Replacement and return the result. * * @param string $search - * @return Renderable + * @return TransformableRenderable */ - public function replacingAll(string $search, Renderable $Replacement): Renderable; + public function replacingAll(string $search, TransformableRenderable $Replacement): TransformableRenderable; }