Skip to content

Commit 9fa451c

Browse files
committed
refactor: add argument/return types
1 parent eccf652 commit 9fa451c

3 files changed

Lines changed: 12 additions & 30 deletions

File tree

src/LevenshteinDiffCalculator.php

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ class LevenshteinDiffCalculator implements StringDiffCalculatorInterface
2121
/** @var StringDiffCalculatorInterface */
2222
private $itemDiffCalculator;
2323

24+
/** @var int */
2425
private $startMatch;
26+
/** @var int */
2527
private $endMatch;
2628

2729
public function __construct(
28-
$separatorRegex = self::SPLIT_CHARS_REGEX,
30+
string $separatorRegex = self::SPLIT_CHARS_REGEX,
2931
OperationCostCalculator $operationCostCalculator = null,
3032
StringDiffCalculatorInterface $itemDiffCalculator = null
3133
)
@@ -39,7 +41,7 @@ public function __construct(
3941
* @param string[]|string $s
4042
* @return string[]
4143
*/
42-
private function split($s)
44+
private function split($s): array
4345
{
4446
if (is_array($s)) {
4547
return $s;
@@ -52,18 +54,18 @@ private function split($s)
5254
* @param string $s
5355
* @return bool
5456
*/
55-
private function isSeparator($s)
57+
private function isSeparator(string $s): bool
5658
{
5759
return $this->separatorRegex !== '' && preg_match('/^(?:' . $this->separatorRegex . ')+$/u', $s);
5860
}
5961

6062
/**
61-
* @param string $s1
62-
* @param string $s2
63+
* @param string[]|string $s1
64+
* @param string[]|string $s2
6365
* @param bool $keepMatrix
6466
* @return int
6567
*/
66-
private function _calcDistance($s1, $s2, $keepMatrix)
68+
private function _calcDistance($s1, $s2, bool $keepMatrix): int
6769
{
6870
// normalize the input
6971
$parts1 = $this->split($s1);
@@ -135,22 +137,12 @@ private function _calcDistance($s1, $s2, $keepMatrix)
135137
return $distance;
136138
}
137139

138-
/**
139-
* @param string $s1
140-
* @param string $s2
141-
* @return int
142-
*/
143-
public function calcDistance($s1, $s2)
140+
public function calcDistance(string $s1, string $s2): int
144141
{
145142
return $this->_calcDistance($s1, $s2, false);
146143
}
147144

148-
/**
149-
* @param string $s1
150-
* @param string $s2
151-
* @return StringDiffResult
152-
*/
153-
public function calcDiff($s1, $s2)
145+
public function calcDiff(string $s1, string $s2): StringDiffResult
154146
{
155147
// normalize the input
156148
$parts1 = $this->split($s1);

src/StringDiffCalculatorInterface.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,5 @@
44

55
interface StringDiffCalculatorInterface extends StringDistanceCalculatorInterface
66
{
7-
/**
8-
* @param string $s1
9-
* @param string $s2
10-
* @return StringDiffResult
11-
*/
12-
public function calcDiff($s1, $s2);
7+
public function calcDiff(string $s1, string $s2): StringDiffResult;
138
}

src/StringDistanceCalculatorInterface.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,5 @@
44

55
interface StringDistanceCalculatorInterface
66
{
7-
/**
8-
* @param string $s1
9-
* @param string $s2
10-
* @return int
11-
*/
12-
public function calcDistance($s1, $s2);
7+
public function calcDistance(string $s1, string $s2): int;
138
}

0 commit comments

Comments
 (0)