Skip to content

Commit 9c2a9ca

Browse files
authored
Merge pull request #318 from oliverklee/task/types/color
Add type annotations for `Color`
2 parents 0605f36 + 215dc50 commit 9c2a9ca

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/Value/Color.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,26 @@
44

55
use Sabberworm\CSS\OutputFormat;
66
use Sabberworm\CSS\Parsing\ParserState;
7+
use Sabberworm\CSS\Parsing\UnexpectedEOFException;
8+
use Sabberworm\CSS\Parsing\UnexpectedTokenException;
79

810
class Color extends CSSFunction
911
{
12+
/**
13+
* @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
14+
* @param int $iLineNo
15+
*/
1016
public function __construct(array $aColor, $iLineNo = 0)
1117
{
1218
parent::__construct(implode('', array_keys($aColor)), $aColor, ',', $iLineNo);
1319
}
1420

21+
/**
22+
* @return Color|CSSFunction
23+
*
24+
* @throws UnexpectedEOFException
25+
* @throws UnexpectedTokenException
26+
*/
1527
public static function parse(ParserState $oParserState)
1628
{
1729
$aColor = [];
@@ -79,6 +91,15 @@ public static function parse(ParserState $oParserState)
7991
return new Color($aColor, $oParserState->currentLine());
8092
}
8193

94+
/**
95+
* @param float $fVal
96+
* @param float $fFromMin
97+
* @param float $fFromMax
98+
* @param float $fToMin
99+
* @param float $fToMax
100+
*
101+
* @return float
102+
*/
82103
private static function mapRange($fVal, $fFromMin, $fFromMax, $fToMin, $fToMax)
83104
{
84105
$fFromRange = $fFromMax - $fFromMin;
@@ -89,17 +110,28 @@ private static function mapRange($fVal, $fFromMin, $fFromMax, $fToMin, $fToMax)
89110
return $fNewVal + $fToMin;
90111
}
91112

113+
/**
114+
* @return array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
115+
*/
92116
public function getColor()
93117
{
94118
return $this->aComponents;
95119
}
96120

121+
/**
122+
* @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
123+
*
124+
* @return void
125+
*/
97126
public function setColor(array $aColor)
98127
{
99128
$this->setName(implode('', array_keys($aColor)));
100129
$this->aComponents = $aColor;
101130
}
102131

132+
/**
133+
* @return string
134+
*/
103135
public function getColorDescription()
104136
{
105137
return $this->getName();

0 commit comments

Comments
 (0)