From 044e252d195be7fb9c523e5ab7e5f37eae7f03fd Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 5 Oct 2023 11:35:02 +0000 Subject: composer update html to markdown --- vendor/league/html-to-markdown/src/Coerce.php | 35 ++++++++++++++++++++++ .../src/Converter/LinkConverter.php | 2 +- .../src/Converter/ListItemConverter.php | 5 ++-- .../src/Converter/PreformattedConverter.php | 4 ++- .../src/Converter/TableConverter.php | 3 +- vendor/league/html-to-markdown/src/Element.php | 10 +++---- .../league/html-to-markdown/src/HtmlConverter.php | 2 +- 7 files changed, 49 insertions(+), 12 deletions(-) create mode 100644 vendor/league/html-to-markdown/src/Coerce.php (limited to 'vendor/league/html-to-markdown/src') diff --git a/vendor/league/html-to-markdown/src/Coerce.php b/vendor/league/html-to-markdown/src/Coerce.php new file mode 100644 index 000000000..4fb0450a0 --- /dev/null +++ b/vendor/league/html-to-markdown/src/Coerce.php @@ -0,0 +1,35 @@ +__toString(); + default: + throw new \InvalidArgumentException('Cannot coerce this value to string'); + } + } +} diff --git a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php index 25a3540fe..f0ba157f8 100644 --- a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php +++ b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php @@ -72,6 +72,6 @@ class LinkConverter implements ConverterInterface, ConfigurationAwareInterface private function shouldStrip(): bool { - return $this->config->getOption('strip_placeholder_links') ?? false; + return \boolval($this->config->getOption('strip_placeholder_links') ?? false); } } diff --git a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php index 1521aad53..d71f601e1 100644 --- a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php +++ b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace League\HTMLToMarkdown\Converter; +use League\HTMLToMarkdown\Coerce; use League\HTMLToMarkdown\Configuration; use League\HTMLToMarkdown\ConfigurationAwareInterface; use League\HTMLToMarkdown\ElementInterface; @@ -38,8 +39,8 @@ class ListItemConverter implements ConverterInterface, ConfigurationAwareInterfa } if ($listType === 'ul') { - $listItemStyle = $this->config->getOption('list_item_style', '-'); - $listItemStyleAlternate = $this->config->getOption('list_item_style_alternate'); + $listItemStyle = Coerce::toString($this->config->getOption('list_item_style', '-')); + $listItemStyleAlternate = Coerce::toString($this->config->getOption('list_item_style_alternate', '')); if (! isset($this->listItemStyle)) { $this->listItemStyle = $listItemStyleAlternate ?: $listItemStyle; } diff --git a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php index 7d8ccc132..af6dd1051 100644 --- a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php +++ b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php @@ -11,7 +11,9 @@ class PreformattedConverter implements ConverterInterface public function convert(ElementInterface $element): string { $preContent = \html_entity_decode($element->getChildrenAsString()); - $preContent = \str_replace(['
', '
'], '', $preContent); + $preContent = \preg_replace('/]*>/', '', $preContent); + \assert($preContent !== null); + $preContent = \str_replace('', '', $preContent); /* * Checking for the code tag. diff --git a/vendor/league/html-to-markdown/src/Converter/TableConverter.php b/vendor/league/html-to-markdown/src/Converter/TableConverter.php index 2e63e9a5b..91e718076 100644 --- a/vendor/league/html-to-markdown/src/Converter/TableConverter.php +++ b/vendor/league/html-to-markdown/src/Converter/TableConverter.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace League\HTMLToMarkdown\Converter; +use League\HTMLToMarkdown\Coerce; use League\HTMLToMarkdown\Configuration; use League\HTMLToMarkdown\ConfigurationAwareInterface; use League\HTMLToMarkdown\ElementInterface; @@ -89,7 +90,7 @@ class TableConverter implements ConverterInterface, PreConverterInterface, Confi } $value = \str_replace("\n", ' ', $value); - $value = \str_replace('|', $this->config->getOption('table_pipe_escape') ?? '\|', $value); + $value = \str_replace('|', Coerce::toString($this->config->getOption('table_pipe_escape') ?? '\|'), $value); return '| ' . \trim($value) . ' '; case 'thead': diff --git a/vendor/league/html-to-markdown/src/Element.php b/vendor/league/html-to-markdown/src/Element.php index 0515b5995..ef3ecfa9a 100644 --- a/vendor/league/html-to-markdown/src/Element.php +++ b/vendor/league/html-to-markdown/src/Element.php @@ -98,6 +98,8 @@ class Element implements ElementInterface { $ret = []; foreach ($this->node->childNodes as $node) { + /** @psalm-suppress RedundantCondition */ + \assert($node instanceof \DOMNode); $ret[] = new self($node); } @@ -116,7 +118,7 @@ class Element implements ElementInterface return $this->nextCached; } - private function getNextNode(\DomNode $node, bool $checkChildren = true): ?\DomNode + private function getNextNode(\DOMNode $node, bool $checkChildren = true): ?\DOMNode { if ($checkChildren && $node->firstChild) { return $node->firstChild; @@ -142,11 +144,7 @@ class Element implements ElementInterface $tagNames = [$tagNames]; } - for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) { - if ($p === null) { - return false; - } - + for ($p = $this->node->parentNode; $p !== null; $p = $p->parentNode) { if (\in_array($p->nodeName, $tagNames, true)) { return true; } diff --git a/vendor/league/html-to-markdown/src/HtmlConverter.php b/vendor/league/html-to-markdown/src/HtmlConverter.php index 7162b256d..944cb081b 100644 --- a/vendor/league/html-to-markdown/src/HtmlConverter.php +++ b/vendor/league/html-to-markdown/src/HtmlConverter.php @@ -212,7 +212,7 @@ class HtmlConverter implements HtmlConverterInterface $tag = $element->getTagName(); // Strip nodes named in remove_nodes - $tagsToRemove = \explode(' ', $this->getConfig()->getOption('remove_nodes') ?? ''); + $tagsToRemove = \explode(' ', Coerce::toString($this->getConfig()->getOption('remove_nodes') ?? '')); if (\in_array($tag, $tagsToRemove, true)) { return ''; } -- cgit v1.2.3