blob: c1015ca036d22299ed4ee21fe06473f1b6b88df2 [file] [log] [blame]
import 'package:meta/meta.dart';
import '../../core/parser.dart';
import 'parser.dart';
import 'predicate.dart';
/// Returns a parser that accepts any lowercase character. The accepted input is
/// equivalent to the character-set `a-z`.
@useResult
Parser<String> lowercase([String message = 'lowercase letter expected']) =>
CharacterParser(const LowercaseCharPredicate(), message);
class LowercaseCharPredicate extends CharacterPredicate {
const LowercaseCharPredicate();
@override
bool test(int value) => 97 <= value && value <= 122;
@override
bool isEqualTo(CharacterPredicate other) => other is LowercaseCharPredicate;
}