call method
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;
}