specialFloatParser property

Parser<TomlFloat> specialFloatParser
final

Parser for a special TOML floating point value.

special-float = [ minus / plus ] ( inf / nan )
inf = %x69.6e.66  ; inf
nan = %x6e.61.6e  ; nan

Implementation

static final Parser<TomlFloat> specialFloatParser = (() {
  var plus = char('+').map((_) => 1.0);
  var minus = char('-').map((_) => -1.0);
  var sign = ChoiceParser([plus, minus]).optionalWith(1.0);
  var inf = string('inf').map((_) => double.infinity);
  var nan = string('nan').map((_) => double.nan);
  return (sign, ChoiceParser([inf, nan]))
      .toSequenceParser()
      .map((pair) => TomlFloat(pair.$1 * pair.$2));
})();