char function
Returns a parser that accepts a specific character value
.
message
defines a custom error message.- If
ignoreCase
istrue
, the character is matched in a case-insensitive manner. - If
unicode
istrue
, 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);
}