Line data Source code
1 : import 'package:flutter/services.dart'; 2 : 3 : /// 4 : /// 5 : /// 6 : abstract class AbstractValidator<T> { 7 : final List<TextInputFormatter>? inputFormatters; 8 : 9 : /// 10 : /// 11 : /// 12 16 : AbstractValidator([this.inputFormatters]); 13 : 14 : /// 15 : /// 16 : /// 17 : String format(T value); 18 : 19 : /// 20 : /// 21 : /// 22 21 : String strip(String value) => value.replaceAll(RegExp(r'\D'), ''); 23 : 24 : /// 25 : /// 26 : /// 27 : bool isValid(String value); 28 : 29 : /// 30 : /// 31 : /// 32 0 : TextInputType get keyboard => TextInputType.text; 33 : } 34 : 35 : /// 36 : /// 37 : /// 38 : abstract class AbstractParser<T> { 39 : /// 40 : /// 41 : /// 42 : T? parse(String? value); 43 : 44 : /// 45 : /// 46 : /// 47 : String? valid(String value); 48 : } 49 : 50 : /// 51 : /// 52 : /// 53 : abstract class AbstractParserValidator<T> extends AbstractValidator<T> 54 : implements AbstractParser<T> { 55 : /// 56 : /// 57 : /// 58 5 : AbstractParserValidator([super.inputFormatters]); 59 : }