https://github.com/dolphfi/haiti-utils
haiti-utils se yon pake npm ekri an TypeScript ki ofri zouti pou travay ak done sou Ayiti. Li fèt pou devlopè, Objektif pake a se fasilite entegasyon done ayisyen nan aplikasyon web, mobile, oswa backend san konplikasyon, avèk yon solisyon senp, rapid, ak san depandans ekstèn.
https://github.com/dolphfi/haiti-utils
communes free haiti npm npm-package phone-validation postal-codes typescript utils
Last synced: 6 months ago
JSON representation
haiti-utils se yon pake npm ekri an TypeScript ki ofri zouti pou travay ak done sou Ayiti. Li fèt pou devlopè, Objektif pake a se fasilite entegasyon done ayisyen nan aplikasyon web, mobile, oswa backend san konplikasyon, avèk yon solisyon senp, rapid, ak san depandans ekstèn.
- Host: GitHub
- URL: https://github.com/dolphfi/haiti-utils
- Owner: dolphfi
- Created: 2025-09-09T02:25:00.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-23T22:52:42.000Z (10 months ago)
- Last Synced: 2025-09-24T00:25:02.573Z (10 months ago)
- Topics: communes, free, haiti, npm, npm-package, phone-validation, postal-codes, typescript, utils
- Language: TypeScript
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.fr.md
Awesome Lists containing this project
README
[English](./README.md) | [Français](./README.fr.md) | [Kreyòl Ayisyen](./README.ht.md)
# Haiti Utils
[](https://www.npmjs.com/package/@dolphfi_/haiti-utils)
`haiti-utils` est un package npm léger, sans dépendances, qui fournit des utilitaires simples et fiables pour travailler avec les données géographiques haïtiennes.
## Pourquoi utiliser `haiti-utils` ?
- **Gagnez du temps** : Arrêtez de chercher et de coder en dur des listes de départements, de communes ou de codes postaux.
- **Données fiables** : Accédez à un ensemble de données complet et structuré pour les 10 départements.
- **Facile à utiliser** : Une API simple et intuitive, entièrement typée avec TypeScript.
- **Insensible à la casse** : Toutes les fonctions de recherche sont insensibles à la casse pour une meilleure expérience de développement.
## Installation
```bash
npm install haiti-utils
# ou
yarn add haiti-utils
# ou
bun add haiti-utils
```
## Utilisation
Voici quelques exemples d'utilisation du package.
### Obtenir la liste de tous les départements
```typescript
import { getDepartments } from 'haiti-utils';
const departments = getDepartments();
console.log(departments);
// Résultat : ["Artibonite", "Centre", ...]
```
### Obtenir les communes d'un département spécifique
```typescript
import { getCommunes } from 'haiti-utils';
// La recherche est insensible à la casse
const communes = getCommunes('Ouest');
console.log(communes);
// Résultat : ["Arcahaie", "Cabaret", ...]
```
### Obtenir le code postal d'une commune
```typescript
import { getPostalCode } from 'haiti-utils';
// La recherche est insensible à la casse pour le département et la commune
const postalCode = getPostalCode('Ouest', 'Pétion-Ville');
console.log(postalCode);
// Résultat : "HT6122"
const notFound = getPostalCode('Nord', 'InvalidCommune');
console.log(notFound);
// Résultat : null
```
### Obtenir toutes les données
```typescript
import { getAllData } from 'haiti-utils';
const allData = getAllData();
console.log(allData[0].department); // "Artibonite"
console.log(allData[0].communes[0].name); // "Dessalines"
```
### Valider un numéro de téléphone
```typescript
import { validatePhoneNumber } from 'haiti-utils';
validatePhoneNumber('+509 34 56 78 90'); // true
validatePhoneNumber('55555555'); // false
```
### Formater un numéro de téléphone
```typescript
import { formatPhoneNumber } from 'haiti-utils';
// Format par défaut (international)
formatPhoneNumber('34567890'); // "+509 34 56 78 90"
// Format national
formatPhoneNumber('+509 34.56.78.90', { format: 'national' }); // "3456-7890"
// Format compact
formatPhoneNumber('34567890', { format: 'compact' }); // "+50934567890"
// Numéro invalide
formatPhoneNumber('12345'); // null
```
## Référence de l'API
### `getDepartments(): string[]`
Retourne une liste de tous les noms de départements.
### `getCommunes(department: string): string[]`
Retourne une liste de toutes les communes pour un département donné. La recherche est insensible à la casse. Retourne un tableau vide si le département n'est pas trouvé.
### `getPostalCode(department: string, commune: string): string | null`
Retourne le code postal d'une commune spécifique au sein d'un département. La recherche est insensible à la casse pour le département et la commune. Retourne `null` si non trouvé ou non disponible.
### `getAllData(): DepartmentData[]`
Retourne l'ensemble complet des données de tous les départements et de leurs communes.
### `validatePhoneNumber(phoneNumber: string): boolean`
Valide un numéro de téléphone haïtien. La fonction gère les formats courants, y compris l'indicatif `+509`, et ignore les espaces ou les tirets. Retourne `true` si le numéro est valide, `false` sinon.
### `formatPhoneNumber(phoneNumber: string, options?: { format: 'international' | 'national' | 'compact' }): string | null`
Formate un numéro de téléphone haïtien dans un format cohérent et lisible. Si le numéro est invalide, la fonction retourne `null`. Le format par défaut est `international`.
## Contribuer
Les contributions, les problèmes et les demandes de fonctionnalités sont les bienvenus ! N'hésitez pas à consulter la [page des problèmes](https://github.com/dolphfi/haiti-utils/issues).
## 💖 Sponsor
Si ou jwenn pake **haiti-utils** itil, ou ka sipòte devlopman li.
👉 [Become a Sponsor on GitHub](https://github.com/sponsors/dolphfi)