decParser property

Parser<TomlInteger> decParser
final

Parser for a decimal TOML integer value.

dec-int = [ minus / plus ] unsigned-dec-int
minus = %x2D                       ; -
plus = %x2B                        ; +

unsigned-dec-int = DIGIT / digit1-9 1*( DIGIT / underscore DIGIT )
underscore = %x5F                  ; _
digit1-9 = %x31-39                 ; 1-9
DIGIT = %x30-39 ; 0-9

Implementation

static final Parser<TomlInteger> decParser = (() {
  var digits = digit().plus().plusSeparated(char('_'));
  var decimal = anyOf('+-').optional() & ChoiceParser([char('0'), digits]);
  return decimal.flatten('Decimal integer expected').map(
        (str) => TomlInteger.dec(BigInt.parse(
          str.replaceAll('_', ''),
          radix: TomlIntegerFormat.dec.base,
        )),
      );
})();