UNPKG

indonesiadata-lib

Version:

Library seluruh data wilayah Indonesia

30 lines (29 loc) 1.29 kB
import fs from "fs/promises"; import { resolve, dirname } from "path"; import { fileURLToPath } from "url"; const __dirname = dirname(fileURLToPath(import.meta.url)); // Ambil semua provinsi dari provinsi.json export async function getProvinsiList() { const filePath = resolve(__dirname, "../data/provinsi.json"); const raw = await fs.readFile(filePath, "utf-8"); return JSON.parse(raw); } // Ambil satu provinsi dari file {kodeProvinsi}.json export async function getKabupatenByProvinsi(kodeProvinsi) { const filePath = resolve(__dirname, `../data/${kodeProvinsi}.json`); const raw = await fs.readFile(filePath, "utf-8"); const prov = JSON.parse(raw); return prov.kabupaten; } // Ambil kecamatan dari kabupaten tertentu export async function getKecamatanByKabupaten(kodeProvinsi, kodeKabupaten) { const kabupaten = await getKabupatenByProvinsi(kodeProvinsi); const kab = kabupaten.find((k) => k.kode === kodeKabupaten); return kab?.kecamatan ?? []; } // Ambil desa dari kecamatan tertentu export async function getDesaByKecamatan(kodeProvinsi, kodeKabupaten, kodeKecamatan) { const kecamatan = await getKecamatanByKabupaten(kodeProvinsi, kodeKabupaten); const kec = kecamatan.find((k) => k.kode === kodeKecamatan); return kec?.desa ?? []; }