Professional JavaScript library for multi-country African mobile operator detection with unified API, advanced validation, and rich metadata. Supports Cameroon, Senegal, Ivory Coast, Nigeria, and Ghana with 18+ operators. Built with TypeScript, featuring fluent API, error handling....
# 📱 @williamtessa27/cm-phone-lookup
Une **librairie JavaScript professionnelle** pour la détection d'opérateurs mobiles multi-pays avec **API unifiée**, **validation avancée** et **métadonnées enrichies**. Supporte **21 pays africains** : Cameroun 🇨🇲, Sénégal 🇸🇳, Côte d'Ivoire 🇨🇮, Nigeria 🇳🇬, Ghana 🇬🇭, Kenya 🇰🇪, Afrique du Sud 🇿🇦, Maroc 🇲🇦, Éthiopie 🇪🇹, Égypte 🇪🇬, Tanzanie 🇹🇿, RDC 🇨🇩, Ouganda 🇺🇬, Rwanda 🇷🇼, Algérie 🇩🇿, Mali 🇲🇱, Soudan 🇸🇩, Mozambique 🇲🇿, **Angola** 🇦🇴, **Burkina Faso** 🇧🇫, **Soudan du Sud** 🇸🇸 avec plus de **80+ opérateurs** (MTN, Orange, Vodacom, Safaricom, Airtel, Ethio Telecom, Vodafone Egypt, Halotel, Mobilis, Djezzy, Ooredoo, Zain Sudan, Movitel, Tmcel, **Unitel**, **Movicel**, **Africell Angola**, **Telecel Faso**, **Zain South Sudan**, etc.) à partir d'un numéro de téléphone.
Compatible **JavaScript** et **TypeScript**.
---
## 🚀 Installation
```bash
npm install @williamtessa27/cm-phone-lookup
# ou
yarn add @williamtessa27/cm-phone-lookup
# ou
pnpm add @williamtessa27/cm-phone-lookup
```
## 📖 Utilisation
### 🎯 **NOUVEAU : API Unifiée avec PhoneLookup.analyze()**
```typescript
import { PhoneLookup } from '@williamtessa27/cm-phone-lookup';
// Analyse complète en une seule fonction !
const result = PhoneLookup.analyze('+233241234567');
console.log(`${result.country?.flag} ${result.country?.name}: ${result.operator}`);
// 🇬🇭 Ghana: GHANA_MTN
// Métadonnées complètes incluses
console.log(`Capitale: ${result.country?.capital}`);
console.log(`Population: ${result.country?.population}`);
console.log(`Devise: ${result.country?.currency}`);
console.log(`Fuseau: ${result.country?.timezone}`);
```
### 🔗 **NOUVEAU : Méthodes Chainées (Fluent API)**
```typescript
import { PhoneLookup } from '@williamtessa27/cm-phone-lookup';
const result = new PhoneLookup('+237650123456')
.validate()
.format()
.getInfo();
console.log(`${result.country?.flag} ${result.country?.name}`);
// 🇨🇲 Cameroon
```
### ⚙️ **NOUVEAU : Configuration Flexible**
`` …