getCardTypeMask function

String getCardTypeMask({
  1. CardType? cardType,
  2. String? cardNumber,
})

Implementation

String getCardTypeMask({CardType? cardType, String? cardNumber}) {
  final trimmedCardLength = cardNumber?.replaceAll(' ', '').length;
  switch (cardType ?? getCardType(cardNumber!)) {
    case CardType.americanExpress:
      return 'XXXX XXXXXX XXXXX';

    case CardType.dinersClub:
      if (trimmedCardLength == 14) {
        return 'XXXX XXXXXX XXXX';
      }
      return 'XXXX XXXX XXXX XXXX';

    case CardType.discover:
      return 'XXXX XXXX XXXX XXXX';

    case CardType.jcb:
      return 'XXXX XXXX XXXX XXXX';

    case CardType.masterCard:
      return 'XXXX XXXX XXXX XXXX';

    case CardType.maestro:
      if (trimmedCardLength == 13) {
        return 'XXXX XXXX XXXXX';
      } else if (trimmedCardLength == 15) {
        return 'XXXX XXXXXX XXXXX';
      } else if (trimmedCardLength == 19) {
        return 'XXXX XXXX XXXX XXXX XXX';
      }
      return 'XXXX XXXX XXXX XXXX';

    case CardType.rupay:
      return 'XXXX XXXX XXXX XXXX';

    case CardType.visa:
      return 'XXXX XXXX XXXX XXXX';

    case CardType.elo:
      return 'XXXX XXXX XXXX XXXX';
    default:
      return 'XXXX XXXX XXXX XXXX';
  }
}