blob: b3a522096d55660be8ee24cc889979e72a466431 [file] [log] [blame] [edit]
import 'package:meta/meta.dart';
import '../../core/parser.dart';
import 'parser.dart';
import 'predicate.dart';
/// Returns a parser that accepts any uppercase character. The accepted input is
/// equivalent to the character-set `A-Z`.
@useResult
Parser<String> uppercase([String message = 'uppercase letter expected']) =>
CharacterParser(const UppercaseCharPredicate(), message);
class UppercaseCharPredicate implements CharacterPredicate {
const UppercaseCharPredicate();
@override
bool test(int value) => 65 <= value && value <= 90;
@override
bool isEqualTo(CharacterPredicate other) => other is UppercaseCharPredicate;
}