LCOV - code coverage report
Current view: top level - lib/validators - credit_card_number_validator.dart (source / functions) Hit Total Coverage
Test: Folly Fields Lines: 6 15 40.0 %
Date: 2023-05-12 13:54:58 Functions: 0 0 -

          Line data    Source code
       1             : // ignore_for_file: unnecessary_getters_setters
       2             : 
       3             : import 'package:flutter/services.dart';
       4             : import 'package:folly_fields/util/credit_card_type.dart';
       5             : import 'package:folly_fields/util/mask_text_input_formatter.dart';
       6             : import 'package:folly_fields/validators/abstract_validator.dart';
       7             : 
       8             : ///
       9             : ///
      10             : ///
      11             : class CreditCardNumberValidator extends AbstractValidator<String> {
      12             :   CreditCardType _type;
      13             : 
      14             :   ///
      15             :   ///
      16             :   ///
      17           1 :   CreditCardNumberValidator({CreditCardType type = CreditCardType.unknown})
      18             :       : _type = type,
      19           1 :         super(
      20           1 :           <TextInputFormatter>[
      21           1 :             MaskTextInputFormatter(
      22           1 :               mask: type.mask,
      23             :             ),
      24             :           ],
      25             :         );
      26             : 
      27             :   ///
      28             :   ///
      29             :   ///
      30           0 :   CreditCardType get type => _type;
      31             : 
      32             :   ///
      33             :   ///
      34             :   ///
      35           0 :   set type(CreditCardType value) {
      36           0 :     _type = value;
      37             : 
      38           0 :     (inputFormatters!.first as MaskTextInputFormatter)
      39           0 :         .updateMask(mask: type.mask);
      40             :   }
      41             : 
      42             :   ///
      43             :   ///
      44             :   ///
      45           0 :   @override
      46           0 :   String format(String value) => strip(value);
      47             : 
      48             :   ///
      49             :   ///
      50             :   ///
      51           1 :   @override
      52             :   TextInputType get keyboard => TextInputType.number;
      53             : 
      54             :   ///
      55             :   ///
      56             :   ///
      57           0 :   @override
      58             :   bool isValid(String value) =>
      59           0 :       _type.validLength(value) && _type.validNumber(value);
      60             : }

Generated by: LCOV version 1.14