@@ -16,19 +16,31 @@ CssColor? tryParseColor(css.Expression? expression) {
1616 final params = expression.params;
1717 if (params.length >= 3 ) {
1818 final param0 = params[0 ];
19- final h = param0 is css.NumberTerm
20- ? _parseColorHue (param0.number)
21- : param0 is css.AngleTerm
22- ? _parseColorHue (param0.angle, param0.unit)
23- : null ;
19+ final double ? h;
20+ if (param0 is css.NumberTerm ) {
21+ h = _parseColorHue (param0.number);
22+ } else if (param0 is css.AngleTerm ) {
23+ h = _parseColorHue (param0.angle, param0.unit);
24+ } else {
25+ h = null ;
26+ }
27+
2428 final param1 = params[1 ];
25- final s = param1 is css.PercentageTerm
26- ? param1.valueAsDouble.clamp (0.0 , 1.0 )
27- : null ;
29+ final double ? s;
30+ if (param1 is css.PercentageTerm ) {
31+ s = param1.valueAsDouble.clamp (0.0 , 1.0 );
32+ } else {
33+ s = null ;
34+ }
35+
2836 final param2 = params[2 ];
29- final l = param2 is css.PercentageTerm
30- ? param2.valueAsDouble.clamp (0.0 , 1.0 )
31- : null ;
37+ final double ? l;
38+ if (param2 is css.PercentageTerm ) {
39+ l = param2.valueAsDouble.clamp (0.0 , 1.0 );
40+ } else {
41+ l = null ;
42+ }
43+
3244 final hslA = params.length >= 4 ? _parseColorAlpha (params[3 ]) : 1.0 ;
3345 if (h != null && s != null && l != null && hslA != null ) {
3446 final hslValue = HSLColor .fromAHSL (hslA, h, s, l).toColor ();
0 commit comments