1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the league/commonmark package. 7 * 8 * (c) Colin O'Dell <colinodell@gmail.com> 9 * 10 * For the full copyright and license information, please view the LICENSE 11 * file that was distributed with this source code. 12 */ 13 14namespace League\CommonMark\Extension\InlinesOnly; 15 16use League\CommonMark\Node\Block\Document; 17use League\CommonMark\Node\Node; 18use League\CommonMark\Renderer\ChildNodeRendererInterface; 19use League\CommonMark\Renderer\NodeRendererInterface; 20 21/** 22 * Simply renders child elements as-is, adding newlines as needed. 23 */ 24final class ChildRenderer implements NodeRendererInterface 25{ 26 public function render(Node $node, ChildNodeRendererInterface $childRenderer): string 27 { 28 $out = $childRenderer->renderNodes($node->children()); 29 if (! $node instanceof Document) { 30 $out .= $childRenderer->getBlockSeparator(); 31 } 32 33 return $out; 34 } 35} 36