fStringReplacementField method

Parser<FormattedValueNode> fStringReplacementField()
inherited

Implementation

Parser<FormattedValueNode> fStringReplacementField() =>
    seq4(
      char('{'),
      ref0(expression),
      seq2(
        seq2(char('!'), pattern('sra')).map2((_, ch) => ch).optional(),
        seq2(
          char(':'),
          pattern('^}\r\n').starString(),
        ).map2((_, s) => s).optional(),
      ),
      char('}'),
    ).map4(
      (_, expr, formatSpec, _) => FormattedValueNode(
        value: expr,
        conversion: formatSpec.$1,
        formatSpec: formatSpec.$2,
      ),
    );