UNPKG

indonesiadata-lib

Version:

Library seluruh data wilayah Indonesia

115 lines (86 loc) 3.7 kB
# ✨ bps-wilayah-lib Library untuk mengambil dan mengelola data wilayah administratif Indonesia (Provinsi, Kabupaten, Kecamatan, Desa) dari hasil crawling BPS. ## ⚡ Instalasi ```bash pnpm add indonesiadata-lib # atau npm install indonesiadata-lib # atau yarn add indonesiadata-lib ``` ## ⌚ Inisialisasi (opsional) Sebelum digunakan, jalankan perintah berikut untuk mengambil dan menyimpan data wilayah terbaru ke folder `data/`: ```bash pnpm run generate ``` ## ✨ Penggunaan ### Import Fungsi ```ts import { getProvinsiList, getKabupatenByProvinsi, getKecamatanByKabupaten, getDesaByKecamatan, } from "indonesiadata-lib"; ``` ### Contoh Lengkap ```ts async function main() { const provinsi = await getProvinsiList(); console.log("Provinsi:", provinsi); const kabupaten = await getKabupatenByProvinsi("11"); console.log("Kabupaten di ACEH:", kabupaten); const kecamatan = await getKecamatanByKabupaten("11", "1101"); console.log("Kecamatan di Kab. Simeulue:", kecamatan); const desa = await getDesaByKecamatan("11", "1101", "1101010"); console.log("Desa di Teupah Selatan:", desa); } main(); ``` ## 📊 Daftar Fungsi | Fungsi | Deskripsi | Parameter | Return | | ---------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------- | | `getProvinsiList()` | Mengambil daftar semua provinsi | – | `Promise<{ kode: string, provinsiName: string }[]>` | | `getKabupatenByProvinsi(kodeProvinsi)` | Mengambil daftar kabupaten/kota berdasarkan kode provinsi | `kodeProvinsi: string` | `Promise<{ kode, kabupatenName, kecamatan[] }[]>` | | `getKecamatanByKabupaten(kodeProvinsi, kodeKabupaten)` | Mengambil daftar kecamatan berdasarkan kabupaten dan provinsi | `kodeProvinsi: string`, `kodeKabupaten: string` | `Promise<{ kode, kecamatanName, desa[] }[]>` | | `getDesaByKecamatan(kodeProvinsi, kodeKabupaten, kodeKecamatan)` | Mengambil daftar desa berdasarkan kecamatan, kabupaten dan provinsi | `kodeProvinsi: string`, `kodeKabupaten: string`, `kodeKecamatan: string` | `Promise<{ kode, desaName }[]>` | ## 📦 Struktur Folder Data ``` project-root/ ├── data/ │ ├── 11.json ← Data Provinsi Aceh │ ├── 12.json │ ├── ... │ └── provinsi.json ← Daftar semua provinsi ``` ## 🎓 Tipe Data ```ts interface Desa { kode: string; desaName: string; } interface Kecamatan { kode: string; kecamatanName: string; desa: Desa[]; } interface Kabupaten { kode: string; kabupatenName: string; kecamatan: Kecamatan[]; } interface Provinsi { kode: string; provinsiName: string; kabupaten: Kabupaten[]; } interface ProvinsiList { kode: string; provinsiName: string; } interface Wilayah { provinsi: Provinsi[]; } ``` --- Untuk kontribusi atau laporan isu, silakan buka [GitHub](https://github.com/badaruddinl/bps-wilayah-indonesia-crawler)!