indonesiadata-lib
Version:
Library seluruh data wilayah Indonesia
115 lines (86 loc) • 3.7 kB
Markdown
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";
```
```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();
```
| 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 }[]>` |
```
project-root/
├── data/
│ ├── 11.json ← Data Provinsi Aceh
│ ├── 12.json
│ ├── ...
│ └── provinsi.json ← Daftar semua provinsi
```
```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)!