detectBrand property

BrandType detectBrand

Detects a card brand from its number.

Supports VISA, MasterCard, Mada

Implementation

BrandType get detectBrand {
  final cleanNumber = this.replaceAll(' ', '');

  bool _isMADA = _madaRegExpM.hasMatch(cleanNumber) ||
      _madaRegExpV.hasMatch(cleanNumber);
  bool _isVISA = _visaRegExp.hasMatch(cleanNumber);
  bool _isMASTERCARD = _mastercardRegExp.hasMatch(cleanNumber);

  if (_isMADA) {
    return BrandType.mada;
  } else if (_isVISA) {
    return BrandType.visa;
  } else if (_isMASTERCARD) {
    return BrandType.master;
  } else {
    return BrandType.none;
  }
}