mirror of
https://github.com/erusev/parsedown.git
synced 2024-09-20 03:51:29 +02:00
Use list type over int array
This commit is contained in:
parent
13932bca9a
commit
a2ea704a43
@ -18,7 +18,7 @@
|
|||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^7.4||^6.5.13||^5.7.27||^4.8.36",
|
"phpunit/phpunit": "^7.4||^6.5.13||^5.7.27||^4.8.36",
|
||||||
"vimeo/psalm": "^3.4.10",
|
"vimeo/psalm": "^3.8.3",
|
||||||
"friendsofphp/php-cs-fixer": "^2.13",
|
"friendsofphp/php-cs-fixer": "^2.13",
|
||||||
"infection/infection": "^0.12.0"
|
"infection/infection": "^0.12.0"
|
||||||
},
|
},
|
||||||
|
@ -18,19 +18,19 @@ use Erusev\Parsedown\State;
|
|||||||
*/
|
*/
|
||||||
final class Table implements AcquisitioningBlock, ContinuableBlock
|
final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||||
{
|
{
|
||||||
/** @var array<int, _Alignment|null> */
|
/** @var list<_Alignment|null> */
|
||||||
private $alignments;
|
private $alignments;
|
||||||
|
|
||||||
/** @var array<int, string> */
|
/** @var list<string> */
|
||||||
private $headerCells;
|
private $headerCells;
|
||||||
|
|
||||||
/** @var array<int, array<int, string>> */
|
/** @var list<list<string>> */
|
||||||
private $rows;
|
private $rows;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, _Alignment|null> $alignments
|
* @param list<_Alignment|null> $alignments
|
||||||
* @param array<int, string> $headerCells
|
* @param list<string> $headerCells
|
||||||
* @param array<int, array<int, string>> $rows
|
* @param list<list<string>> $rows
|
||||||
*/
|
*/
|
||||||
private function __construct($alignments, $headerCells, $rows)
|
private function __construct($alignments, $headerCells, $rows)
|
||||||
{
|
{
|
||||||
@ -117,7 +117,10 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$cells = \array_map('trim', \array_slice($matches[0], 0, \count($this->alignments)));
|
$cells = \array_values(\array_map(
|
||||||
|
'trim',
|
||||||
|
\array_slice($matches[0], 0, \count($this->alignments))
|
||||||
|
));
|
||||||
|
|
||||||
return new self(
|
return new self(
|
||||||
$this->alignments,
|
$this->alignments,
|
||||||
@ -128,7 +131,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $dividerRow
|
* @param string $dividerRow
|
||||||
* @return array<int, _Alignment|null>|null
|
* @return list<_Alignment|null>|null
|
||||||
*/
|
*/
|
||||||
private static function parseAlignments($dividerRow)
|
private static function parseAlignments($dividerRow)
|
||||||
{
|
{
|
||||||
@ -137,7 +140,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
|
|
||||||
$dividerCells = \explode('|', $dividerRow);
|
$dividerCells = \explode('|', $dividerRow);
|
||||||
|
|
||||||
/** @var array<int, _Alignment|null> */
|
/** @var list<_Alignment|null> */
|
||||||
$alignments = [];
|
$alignments = [];
|
||||||
|
|
||||||
foreach ($dividerCells as $dividerCell) {
|
foreach ($dividerCells as $dividerCell) {
|
||||||
@ -170,7 +173,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return array<int, Inline[]> */
|
/** @return list<Inline[]> */
|
||||||
public function headerRow(State $State)
|
public function headerRow(State $State)
|
||||||
{
|
{
|
||||||
return \array_map(
|
return \array_map(
|
||||||
@ -185,13 +188,13 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return array<int, Inline[]>[] */
|
/** @return list<Inline[]>[] */
|
||||||
public function rows(State $State)
|
public function rows(State $State)
|
||||||
{
|
{
|
||||||
return \array_map(
|
return \array_map(
|
||||||
/**
|
/**
|
||||||
* @param array<int, string> $cells
|
* @param list<string> $cells
|
||||||
* @return array<int, Inline[]>
|
* @return list<Inline[]>
|
||||||
*/
|
*/
|
||||||
function ($cells) use ($State) {
|
function ($cells) use ($State) {
|
||||||
return \array_map(
|
return \array_map(
|
||||||
@ -209,7 +212,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return array<int, _Alignment|null> */
|
/** @return list<_Alignment|null> */
|
||||||
public function alignments()
|
public function alignments()
|
||||||
{
|
{
|
||||||
return $this->alignments;
|
return $this->alignments;
|
||||||
|
@ -47,15 +47,15 @@ final class BlockTypes implements Configurable
|
|||||||
IndentedCode::class,
|
IndentedCode::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var array<array-key, array<int, class-string<Block>>> */
|
/** @var array<array-key, list<class-string<Block>>> */
|
||||||
private $blockTypes;
|
private $blockTypes;
|
||||||
|
|
||||||
/** @var array<int, class-string<Block>> */
|
/** @var list<class-string<Block>> */
|
||||||
private $unmarkedBlockTypes;
|
private $unmarkedBlockTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<array-key, array<int, class-string<Block>>> $blockTypes
|
* @param array<array-key, list<class-string<Block>>> $blockTypes
|
||||||
* @param array<int, class-string<Block>> $unmarkedBlockTypes
|
* @param list<class-string<Block>> $unmarkedBlockTypes
|
||||||
*/
|
*/
|
||||||
public function __construct(array $blockTypes, array $unmarkedBlockTypes)
|
public function __construct(array $blockTypes, array $unmarkedBlockTypes)
|
||||||
{
|
{
|
||||||
@ -74,7 +74,7 @@ final class BlockTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Block>> $newBlockTypes
|
* @param list<class-string<Block>> $newBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function settingMarked($marker, array $newBlockTypes)
|
public function settingMarked($marker, array $newBlockTypes)
|
||||||
@ -87,7 +87,7 @@ final class BlockTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Block>> $newBlockTypes
|
* @param list<class-string<Block>> $newBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingMarkedHighPrecedence($marker, array $newBlockTypes)
|
public function addingMarkedHighPrecedence($marker, array $newBlockTypes)
|
||||||
@ -103,7 +103,7 @@ final class BlockTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Block>> $newBlockTypes
|
* @param list<class-string<Block>> $newBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingMarkedLowPrecedence($marker, array $newBlockTypes)
|
public function addingMarkedLowPrecedence($marker, array $newBlockTypes)
|
||||||
@ -118,7 +118,7 @@ final class BlockTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Block>> $newUnmarkedBlockTypes
|
* @param list<class-string<Block>> $newUnmarkedBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function settingUnmarked(array $newUnmarkedBlockTypes)
|
public function settingUnmarked(array $newUnmarkedBlockTypes)
|
||||||
@ -127,7 +127,7 @@ final class BlockTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Block>> $newBlockTypes
|
* @param list<class-string<Block>> $newBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingUnmarkedHighPrecedence(array $newBlockTypes)
|
public function addingUnmarkedHighPrecedence(array $newBlockTypes)
|
||||||
@ -138,7 +138,7 @@ final class BlockTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Block>> $newBlockTypes
|
* @param list<class-string<Block>> $newBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingUnmarkedLowPrecedence(array $newBlockTypes)
|
public function addingUnmarkedLowPrecedence(array $newBlockTypes)
|
||||||
@ -149,7 +149,7 @@ final class BlockTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Block>> $removeBlockTypes
|
* @param list<class-string<Block>> $removeBlockTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function removing(array $removeBlockTypes)
|
public function removing(array $removeBlockTypes)
|
||||||
@ -157,21 +157,21 @@ final class BlockTypes implements Configurable
|
|||||||
return new self(
|
return new self(
|
||||||
\array_map(
|
\array_map(
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Block>> $blockTypes
|
* @param list<class-string<Block>> $blockTypes
|
||||||
* @return array<int, class-string<Block>>
|
* @return list<class-string<Block>>
|
||||||
*/
|
*/
|
||||||
function ($blockTypes) use ($removeBlockTypes) {
|
function ($blockTypes) use ($removeBlockTypes) {
|
||||||
return \array_diff($blockTypes, $removeBlockTypes);
|
return \array_values(\array_diff($blockTypes, $removeBlockTypes));
|
||||||
},
|
},
|
||||||
$this->blockTypes
|
$this->blockTypes
|
||||||
),
|
),
|
||||||
\array_diff($this->unmarkedBlockTypes, $removeBlockTypes)
|
\array_values(\array_diff($this->unmarkedBlockTypes, $removeBlockTypes))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @return array<int, class-string<Block>>
|
* @return list<class-string<Block>>
|
||||||
*/
|
*/
|
||||||
public function markedBy($marker)
|
public function markedBy($marker)
|
||||||
{
|
{
|
||||||
@ -183,7 +183,7 @@ final class BlockTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array<int, class-string<Block>>
|
* @return list<class-string<Block>>
|
||||||
*/
|
*/
|
||||||
public function unmarked()
|
public function unmarked()
|
||||||
{
|
{
|
||||||
|
@ -34,14 +34,14 @@ final class InlineTypes implements Configurable
|
|||||||
"\n" => [HardBreak::class, SoftBreak::class],
|
"\n" => [HardBreak::class, SoftBreak::class],
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var array<array-key, array<int, class-string<Inline>>> */
|
/** @var array<array-key, list<class-string<Inline>>> */
|
||||||
private $inlineTypes;
|
private $inlineTypes;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $inlineMarkers;
|
private $inlineMarkers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<array-key, array<int, class-string<Inline>>> $inlineTypes
|
* @param array<array-key, list<class-string<Inline>>> $inlineTypes
|
||||||
*/
|
*/
|
||||||
public function __construct(array $inlineTypes)
|
public function __construct(array $inlineTypes)
|
||||||
{
|
{
|
||||||
@ -57,7 +57,7 @@ final class InlineTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
* @param list<class-string<Inline>> $newInlineTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function setting($marker, array $newInlineTypes)
|
public function setting($marker, array $newInlineTypes)
|
||||||
@ -70,7 +70,7 @@ final class InlineTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
* @param list<class-string<Inline>> $newInlineTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingHighPrecedence($marker, array $newInlineTypes)
|
public function addingHighPrecedence($marker, array $newInlineTypes)
|
||||||
@ -86,7 +86,7 @@ final class InlineTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
* @param list<class-string<Inline>> $newInlineTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function addingLowPrecedence($marker, array $newInlineTypes)
|
public function addingLowPrecedence($marker, array $newInlineTypes)
|
||||||
@ -101,18 +101,18 @@ final class InlineTypes implements Configurable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Inline>> $removeInlineTypes
|
* @param list<class-string<Inline>> $removeInlineTypes
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function removing(array $removeInlineTypes)
|
public function removing(array $removeInlineTypes)
|
||||||
{
|
{
|
||||||
return new self(\array_map(
|
return new self(\array_map(
|
||||||
/**
|
/**
|
||||||
* @param array<int, class-string<Inline>> $inlineTypes
|
* @param list<class-string<Inline>> $inlineTypes
|
||||||
* @return array<int, class-string<Inline>>
|
* @return list<class-string<Inline>>
|
||||||
*/
|
*/
|
||||||
function ($inlineTypes) use ($removeInlineTypes) {
|
function ($inlineTypes) use ($removeInlineTypes) {
|
||||||
return \array_diff($inlineTypes, $removeInlineTypes);
|
return \array_values(\array_diff($inlineTypes, $removeInlineTypes));
|
||||||
},
|
},
|
||||||
$this->inlineTypes
|
$this->inlineTypes
|
||||||
));
|
));
|
||||||
@ -120,7 +120,7 @@ final class InlineTypes implements Configurable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $marker
|
* @param string $marker
|
||||||
* @return array<int, class-string<Inline>>
|
* @return list<class-string<Inline>>
|
||||||
*/
|
*/
|
||||||
public function markedBy($marker)
|
public function markedBy($marker)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user