char function

  1. @useResult
Parser<String> char(
  1. String value, {
  2. String? message,
  3. bool ignoreCase = false,
  4. bool unicode = false,
})

Returns a parser that accepts a specific character value.

  • message defines a custom error message.
  • If ignoreCase is true, the character is matched in a case-insensitive manner.
  • If unicode is true, the character is matched using full unicode character parsing (as opposed to UTF-16 code units).

Implementation

@useResult
Parser<String> char(
  String value, {
  String? message,
  bool ignoreCase = false,
  bool unicode = false,
}) {
  final charCode = toCharCode(value, unicode: unicode);
  final predicate = ignoreCase
      ? optimizedString(value, ignoreCase: ignoreCase, unicode: unicode)
      : SingleCharPredicate(charCode);
  message ??=
      '"${toReadableString(value, unicode: unicode)}"'
      '${ignoreCase ? ' (case-insensitive)' : ''} expected';
  return CharacterParser(predicate, message, unicode: unicode);
}