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": {
|
||||
"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",
|
||||
"infection/infection": "^0.12.0"
|
||||
},
|
||||
|
@ -18,19 +18,19 @@ use Erusev\Parsedown\State;
|
||||
*/
|
||||
final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||
{
|
||||
/** @var array<int, _Alignment|null> */
|
||||
/** @var list<_Alignment|null> */
|
||||
private $alignments;
|
||||
|
||||
/** @var array<int, string> */
|
||||
/** @var list<string> */
|
||||
private $headerCells;
|
||||
|
||||
/** @var array<int, array<int, string>> */
|
||||
/** @var list<list<string>> */
|
||||
private $rows;
|
||||
|
||||
/**
|
||||
* @param array<int, _Alignment|null> $alignments
|
||||
* @param array<int, string> $headerCells
|
||||
* @param array<int, array<int, string>> $rows
|
||||
* @param list<_Alignment|null> $alignments
|
||||
* @param list<string> $headerCells
|
||||
* @param list<list<string>> $rows
|
||||
*/
|
||||
private function __construct($alignments, $headerCells, $rows)
|
||||
{
|
||||
@ -117,7 +117,10 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||
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(
|
||||
$this->alignments,
|
||||
@ -128,7 +131,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||
|
||||
/**
|
||||
* @param string $dividerRow
|
||||
* @return array<int, _Alignment|null>|null
|
||||
* @return list<_Alignment|null>|null
|
||||
*/
|
||||
private static function parseAlignments($dividerRow)
|
||||
{
|
||||
@ -137,7 +140,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||
|
||||
$dividerCells = \explode('|', $dividerRow);
|
||||
|
||||
/** @var array<int, _Alignment|null> */
|
||||
/** @var list<_Alignment|null> */
|
||||
$alignments = [];
|
||||
|
||||
foreach ($dividerCells as $dividerCell) {
|
||||
@ -170,7 +173,7 @@ final class Table implements AcquisitioningBlock, ContinuableBlock
|
||||
return true;
|
||||
}
|
||||
|
||||
/** @return array<int, Inline[]> */
|
||||
/** @return list<Inline[]> */
|
||||
public function headerRow(State $State)
|
||||
{
|
||||
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)
|
||||
{
|
||||
return \array_map(
|
||||
/**
|
||||
* @param array<int, string> $cells
|
||||
* @return array<int, Inline[]>
|
||||
* @param list<string> $cells
|
||||
* @return list<Inline[]>
|
||||
*/
|
||||
function ($cells) use ($State) {
|
||||
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()
|
||||
{
|
||||
return $this->alignments;
|
||||
|
@ -47,15 +47,15 @@ final class BlockTypes implements Configurable
|
||||
IndentedCode::class,
|
||||
];
|
||||
|
||||
/** @var array<array-key, array<int, class-string<Block>>> */
|
||||
/** @var array<array-key, list<class-string<Block>>> */
|
||||
private $blockTypes;
|
||||
|
||||
/** @var array<int, class-string<Block>> */
|
||||
/** @var list<class-string<Block>> */
|
||||
private $unmarkedBlockTypes;
|
||||
|
||||
/**
|
||||
* @param array<array-key, array<int, class-string<Block>>> $blockTypes
|
||||
* @param array<int, class-string<Block>> $unmarkedBlockTypes
|
||||
* @param array<array-key, list<class-string<Block>>> $blockTypes
|
||||
* @param list<class-string<Block>> $unmarkedBlockTypes
|
||||
*/
|
||||
public function __construct(array $blockTypes, array $unmarkedBlockTypes)
|
||||
{
|
||||
@ -74,7 +74,7 @@ final class BlockTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Block>> $newBlockTypes
|
||||
* @param list<class-string<Block>> $newBlockTypes
|
||||
* @return self
|
||||
*/
|
||||
public function settingMarked($marker, array $newBlockTypes)
|
||||
@ -87,7 +87,7 @@ final class BlockTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Block>> $newBlockTypes
|
||||
* @param list<class-string<Block>> $newBlockTypes
|
||||
* @return self
|
||||
*/
|
||||
public function addingMarkedHighPrecedence($marker, array $newBlockTypes)
|
||||
@ -103,7 +103,7 @@ final class BlockTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Block>> $newBlockTypes
|
||||
* @param list<class-string<Block>> $newBlockTypes
|
||||
* @return self
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
public function removing(array $removeBlockTypes)
|
||||
@ -157,21 +157,21 @@ final class BlockTypes implements Configurable
|
||||
return new self(
|
||||
\array_map(
|
||||
/**
|
||||
* @param array<int, class-string<Block>> $blockTypes
|
||||
* @return array<int, class-string<Block>>
|
||||
* @param list<class-string<Block>> $blockTypes
|
||||
* @return list<class-string<Block>>
|
||||
*/
|
||||
function ($blockTypes) use ($removeBlockTypes) {
|
||||
return \array_diff($blockTypes, $removeBlockTypes);
|
||||
return \array_values(\array_diff($blockTypes, $removeBlockTypes));
|
||||
},
|
||||
$this->blockTypes
|
||||
),
|
||||
\array_diff($this->unmarkedBlockTypes, $removeBlockTypes)
|
||||
\array_values(\array_diff($this->unmarkedBlockTypes, $removeBlockTypes))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @return array<int, class-string<Block>>
|
||||
* @return list<class-string<Block>>
|
||||
*/
|
||||
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()
|
||||
{
|
||||
|
@ -34,14 +34,14 @@ final class InlineTypes implements Configurable
|
||||
"\n" => [HardBreak::class, SoftBreak::class],
|
||||
];
|
||||
|
||||
/** @var array<array-key, array<int, class-string<Inline>>> */
|
||||
/** @var array<array-key, list<class-string<Inline>>> */
|
||||
private $inlineTypes;
|
||||
|
||||
/** @var string */
|
||||
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)
|
||||
{
|
||||
@ -57,7 +57,7 @@ final class InlineTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
||||
* @param list<class-string<Inline>> $newInlineTypes
|
||||
* @return self
|
||||
*/
|
||||
public function setting($marker, array $newInlineTypes)
|
||||
@ -70,7 +70,7 @@ final class InlineTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
||||
* @param list<class-string<Inline>> $newInlineTypes
|
||||
* @return self
|
||||
*/
|
||||
public function addingHighPrecedence($marker, array $newInlineTypes)
|
||||
@ -86,7 +86,7 @@ final class InlineTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @param array<int, class-string<Inline>> $newInlineTypes
|
||||
* @param list<class-string<Inline>> $newInlineTypes
|
||||
* @return self
|
||||
*/
|
||||
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
|
||||
*/
|
||||
public function removing(array $removeInlineTypes)
|
||||
{
|
||||
return new self(\array_map(
|
||||
/**
|
||||
* @param array<int, class-string<Inline>> $inlineTypes
|
||||
* @return array<int, class-string<Inline>>
|
||||
* @param list<class-string<Inline>> $inlineTypes
|
||||
* @return list<class-string<Inline>>
|
||||
*/
|
||||
function ($inlineTypes) use ($removeInlineTypes) {
|
||||
return \array_diff($inlineTypes, $removeInlineTypes);
|
||||
return \array_values(\array_diff($inlineTypes, $removeInlineTypes));
|
||||
},
|
||||
$this->inlineTypes
|
||||
));
|
||||
@ -120,7 +120,7 @@ final class InlineTypes implements Configurable
|
||||
|
||||
/**
|
||||
* @param string $marker
|
||||
* @return array<int, class-string<Inline>>
|
||||
* @return list<class-string<Inline>>
|
||||
*/
|
||||
public function markedBy($marker)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user