csslib
csslib copied to clipboard
[request] Support exponential syntax
Step to reproduce
import 'package:csslib/parser.dart';
import 'package:csslib/visitor.dart';
class FunctionVisitor extends Visitor {
@override
visitNumberTerm(NumberTerm node) {
print('visitNumberTerm ${node.value}');
return (node.value as num).toDouble();
}
@override
visitPercentageTerm(PercentageTerm node) {
print('visitPercentageTerm ${node.value}');
return (node.value as num).toDouble();
}
@override
visitFunctionTerm(FunctionTerm node) {
print('visitFunctionTerm ${node.value}');
return super.visitFunctionTerm(node);
}
}
void main() {
var stylesheet = parse('.foo { color: rgba(1e2, .5e1, .5e0, +.25e2%) }');
FunctionVisitor().visitTree(stylesheet);
}
Expected
visitFunctionTerm rgba
visitNumberTerm 100
visitNumberTerm 5
visitNumberTerm 0.5
visitPercentageTerm 25
Actual
visitFunctionTerm rgba
visitNumberTerm 1
visitNumberTerm 0.5
visitNumberTerm 0.5
visitNumberTerm 0.25