csslib icon indicating copy to clipboard operation
csslib copied to clipboard

[request] Support exponential syntax

Open Sunbreak opened this issue 5 years ago • 0 comments

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

Sunbreak avatar Dec 23 '20 02:12 Sunbreak