{"id":31286830,"url":"https://github.com/dolphfi/haiti-utils","last_synced_at":"2026-01-20T16:59:36.309Z","repository":{"id":313842231,"uuid":"1053112120","full_name":"dolphfi/haiti-utils","owner":"dolphfi","description":"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.","archived":false,"fork":false,"pushed_at":"2025-09-23T22:52:42.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T00:25:02.573Z","etag":null,"topics":["communes","free","haiti","npm","npm-package","phone-validation","postal-codes","typescript","utils"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dolphfi.png","metadata":{"files":{"readme":"README.fr.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-09T02:25:00.000Z","updated_at":"2025-09-23T22:52:46.000Z","dependencies_parsed_at":"2025-09-09T04:59:48.449Z","dependency_job_id":"0ede344a-65f4-4e1e-9264-aa232f01c090","html_url":"https://github.com/dolphfi/haiti-utils","commit_stats":null,"previous_names":["dolphfi/haiti-utils"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/dolphfi/haiti-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolphfi%2Fhaiti-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolphfi%2Fhaiti-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolphfi%2Fhaiti-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolphfi%2Fhaiti-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dolphfi","download_url":"https://codeload.github.com/dolphfi/haiti-utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolphfi%2Fhaiti-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276730383,"owners_count":25694447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-24T02:00:09.776Z","response_time":97,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["communes","free","haiti","npm","npm-package","phone-validation","postal-codes","typescript","utils"],"created_at":"2025-09-24T10:19:37.321Z","updated_at":"2025-09-24T10:19:39.386Z","avatar_url":"https://github.com/dolphfi.png","language":"TypeScript","funding_links":["https://github.com/sponsors/dolphfi"],"categories":[],"sub_categories":[],"readme":"[English](./README.md) | [Français](./README.fr.md) | [Kreyòl Ayisyen](./README.ht.md)\n\n# Haiti Utils\n\n[![npm version](https://img.shields.io/npm/v/@dolphfi_/haiti-utils.svg)](https://www.npmjs.com/package/@dolphfi_/haiti-utils)\n\n`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.\n\n## Pourquoi utiliser `haiti-utils` ?\n\n- **Gagnez du temps** : Arrêtez de chercher et de coder en dur des listes de départements, de communes ou de codes postaux.\n- **Données fiables** : Accédez à un ensemble de données complet et structuré pour les 10 départements.\n- **Facile à utiliser** : Une API simple et intuitive, entièrement typée avec TypeScript.\n- **Insensible à la casse** : Toutes les fonctions de recherche sont insensibles à la casse pour une meilleure expérience de développement.\n\n## Installation\n\n```bash\nnpm install haiti-utils\n# ou\nyarn add haiti-utils\n# ou\nbun add haiti-utils\n```\n\n## Utilisation\n\nVoici quelques exemples d'utilisation du package.\n\n### Obtenir la liste de tous les départements\n\n```typescript\nimport { getDepartments } from 'haiti-utils';\n\nconst departments = getDepartments();\nconsole.log(departments);\n// Résultat : [\"Artibonite\", \"Centre\", ...]\n```\n\n### Obtenir les communes d'un département spécifique\n\n```typescript\nimport { getCommunes } from 'haiti-utils';\n\n// La recherche est insensible à la casse\nconst communes = getCommunes('Ouest'); \nconsole.log(communes);\n// Résultat : [\"Arcahaie\", \"Cabaret\", ...]\n```\n\n### Obtenir le code postal d'une commune\n\n```typescript\nimport { getPostalCode } from 'haiti-utils';\n\n// La recherche est insensible à la casse pour le département et la commune\nconst postalCode = getPostalCode('Ouest', 'Pétion-Ville');\nconsole.log(postalCode);\n// Résultat : \"HT6122\"\n\nconst notFound = getPostalCode('Nord', 'InvalidCommune');\nconsole.log(notFound);\n// Résultat : null\n```\n\n### Obtenir toutes les données\n\n```typescript\nimport { getAllData } from 'haiti-utils';\n\nconst allData = getAllData();\nconsole.log(allData[0].department); // \"Artibonite\"\nconsole.log(allData[0].communes[0].name); // \"Dessalines\"\n```\n\n### Valider un numéro de téléphone\n\n```typescript\nimport { validatePhoneNumber } from 'haiti-utils';\n\nvalidatePhoneNumber('+509 34 56 78 90'); // true\nvalidatePhoneNumber('55555555'); // false\n```\n\n### Formater un numéro de téléphone\n\n```typescript\nimport { formatPhoneNumber } from 'haiti-utils';\n\n// Format par défaut (international)\nformatPhoneNumber('34567890'); // \"+509 34 56 78 90\"\n\n// Format national\nformatPhoneNumber('+509 34.56.78.90', { format: 'national' }); // \"3456-7890\"\n\n// Format compact\nformatPhoneNumber('34567890', { format: 'compact' }); // \"+50934567890\"\n\n// Numéro invalide\nformatPhoneNumber('12345'); // null\n```\n\n## Référence de l'API\n\n### `getDepartments(): string[]`\n\nRetourne une liste de tous les noms de départements.\n\n### `getCommunes(department: string): string[]`\n\nRetourne 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é.\n\n### `getPostalCode(department: string, commune: string): string | null`\n\nRetourne 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.\n\n### `getAllData(): DepartmentData[]`\n\nRetourne l'ensemble complet des données de tous les départements et de leurs communes.\n\n### `validatePhoneNumber(phoneNumber: string): boolean`\n\nValide 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.\n\n### `formatPhoneNumber(phoneNumber: string, options?: { format: 'international' | 'national' | 'compact' }): string | null`\n\nFormate 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`.\n\n## Contribuer\n\nLes 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).\n\n## 💖 Sponsor\n\nSi ou jwenn pake **haiti-utils** itil, ou ka sipòte devlopman li.\n\n👉 [Become a Sponsor on GitHub](https://github.com/sponsors/dolphfi)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdolphfi%2Fhaiti-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdolphfi%2Fhaiti-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdolphfi%2Fhaiti-utils/lists"}