call method

String? call()

Implementation

String? call() {
  this.number = this.number.trim();
  this._validateNumber();
  var phone_primary_prefix = this._getPhonePrefix();
  var phone_secondary_prefix = this._getPhonePrefix(length: 5);
  var networks = this._getNetworks();

  //
  if (networks["mtn"]!.contains(phone_primary_prefix)) {
    return "MTN";
  }

  if (networks["glo"]!.contains(phone_primary_prefix)) {
    return "GLO";
  }

  if (networks["9mobile"]!.contains(phone_primary_prefix)) {
    return "9mobile";
  }

  if (networks["airtel"]!.contains(phone_primary_prefix)) {
    return "Airtel";
  }

  if (networks["glo"]!.contains(phone_secondary_prefix) ||
      networks["starcomms"]!.contains(phone_primary_prefix)) {
    return "Starcomms";
  }

  if (networks["visafone"]!.contains(phone_secondary_prefix) ||
      networks["visafone"]!.contains(phone_primary_prefix)) {
    return "Visafone";
  }

  if (networks["multilinks"]!.contains(phone_primary_prefix) ||
      networks["multilinks"]!.contains(phone_secondary_prefix)) {
    return "Multilinks";
  }

  if (networks['zoom']!.contains(phone_primary_prefix)) {
    return "Zoom";
  }

  if (networks['ntel']!.contains(phone_primary_prefix)) {
    return "Ntel";
  }

  if (networks['smile']!.contains(phone_primary_prefix)) {
    return "Smile";
  }

  // Return null if number is valid but not recognized
  // The developer is left with what to `output to the user`
  return null;
}