99use League \CommonMark \Inline \Element \AbstractInline ;
1010use RuntimeException ;
1111
12- /**
13- * Class CliRenderer
14- * @package PhpWorkshop\PhpWorkshop\Md
15- * @author Aydin Hassan <aydin@hotmail.co.uk>
16- */
1712class CliRenderer
1813{
19-
2014 /**
21- * @var CliBlockRendererInterface[]
15+ * @var array< CliBlockRendererInterface>
2216 */
23- private $ renderers = [] ;
17+ private $ renderers ;
2418
2519 /**
26- * @var CliInlineRendererInterface[]
20+ * @var array< CliInlineRendererInterface>
2721 */
28- private $ inlineRenderers = [] ;
22+ private $ inlineRenderers ;
2923
3024 /**
3125 * @var Color
3226 */
3327 private $ color ;
3428
3529 /**
36- * @param CliBlockRendererInterface[] $renderers
37- * @param CliInlineRendererInterface[] $inlineRenderers
30+ * @param array< CliBlockRendererInterface> $renderers
31+ * @param array< CliInlineRendererInterface> $inlineRenderers
3832 * @param Color $color
3933 */
4034 public function __construct (array $ renderers , array $ inlineRenderers , Color $ color )
@@ -49,9 +43,8 @@ public function __construct(array $renderers, array $inlineRenderers, Color $col
4943 * @param array<string>|string $colourOrStyle
5044 *
5145 * @return string
52- *
5346 */
54- public function style ($ string , $ colourOrStyle )
47+ public function style (string $ string , $ colourOrStyle ): string
5548 {
5649 if (is_array ($ colourOrStyle )) {
5750 $ this ->color ->__invoke ($ string );
@@ -70,7 +63,7 @@ public function style($string, $colourOrStyle)
7063 *
7164 * @return string
7265 */
73- public function renderInlines (array $ inlines )
66+ public function renderInlines (array $ inlines ): string
7467 {
7568 return implode (
7669 "" ,
@@ -90,14 +83,7 @@ function (AbstractInline $inline) {
9083 );
9184 }
9285
93- /**
94- * @param AbstractBlock $block
95- *
96- * @throws RuntimeException
97- *
98- * @return string
99- */
100- public function renderBlock (AbstractBlock $ block )
86+ public function renderBlock (AbstractBlock $ block ): string
10187 {
10288 $ renderer = $ this ->getBlockRendererForClass (get_class ($ block ));
10389 if (!$ renderer ) {
@@ -114,7 +100,7 @@ public function renderBlock(AbstractBlock $block)
114100 *
115101 * @return string
116102 */
117- public function renderBlocks (array $ blocks )
103+ public function renderBlocks (array $ blocks ): string
118104 {
119105 return implode (
120106 "\n" ,
@@ -128,11 +114,10 @@ function (AbstractBlock $block) {
128114 }
129115
130116 /**
131- * @param string $inlineBlockClass
132- *
133- * @return null|CliInlineRendererInterface
117+ * @param class-string $inlineBlockClass
118+ * @return CliInlineRendererInterface|null
134119 */
135- private function getInlineRendererForClass ($ inlineBlockClass )
120+ private function getInlineRendererForClass (string $ inlineBlockClass ): ? CliInlineRendererInterface
136121 {
137122 if (!isset ($ this ->inlineRenderers [$ inlineBlockClass ])) {
138123 return null ;
@@ -142,11 +127,11 @@ private function getInlineRendererForClass($inlineBlockClass)
142127 }
143128
144129 /**
145- * @param string $blockClass
130+ * @param class- string $blockClass
146131 *
147- * @return null| CliBlockRendererInterface
132+ * @return CliBlockRendererInterface|null
148133 */
149- private function getBlockRendererForClass ($ blockClass )
134+ private function getBlockRendererForClass ($ blockClass ): ? CliBlockRendererInterface
150135 {
151136 if (!isset ($ this ->renderers [$ blockClass ])) {
152137 return null ;
0 commit comments