Skip to content

Başlarken ​

Kurulum ​

bash
pnpm add belgica
bash
npm install belgica
bash
yarn add belgica

Paket ESM'dir, kendi tip tanımlarıyla gelir, hiçbir runtime bağımlılığı yoktur ve tarayıcılarda ve Node 22.12 veya sonrasında çalışır; orada require() ile de yüklenebilir. Node 22.12, 22, 24 ve 26 üzerinde test edilir.

Yalnızca ihtiyacınız olanı import edin ​

Veriler JavaScript'in içine paketlenmiştir, bu yüzden paketin kökünden import etmek tüm veri kümelerini yükler. Her veri kümesinin kendi entry point'i vardır; mahkemeler ve kantonlar (bölge tanımlarının yasal metniyle birlikte) açık ara en büyükleridir:

ts
import { getInterestRate } from 'belgica/interest-rates'
import { getCourt } from 'belgica/courts'
import { getCanton } from 'belgica/territory'
import { getMunicipalitiesForPostalCode } from 'belgica/postal-codes'

İstisna kanton sınırlarıdır: bir milyon konumluk geometri, yalnızca belgica/canton-boundaries içinde bulunur ve paketin kökü tarafından asla yüklenmez.

Entry pointYüklenen JavaScriptgzip
belgica1031 KB110 KB
belgica/territory251 KB33 KB
belgica/canton-boundaries254 KB34 KB
belgica/arrondissement-boundaries254 KB34 KB
belgica/courts587 KB55 KB
belgica/court-locations80 KB10 KB
belgica/courts/format1 KB1 KB
belgica/courts/load16 KB2 KB
belgica/cantons67 KB8 KB
belgica/cantons/territory78 KB17 KB
belgica/prisons62 KB7 KB
belgica/houses-of-justice27 KB4 KB
belgica/interest-rates13 KB3 KB
belgica/calendar8 KB3 KB
belgica/postal-codes169 KB19 KB

İlk bakış ​

ts
import {
    getCourt,
    findCourts,
    getCanton,
    getCantonsForMunicipality,
    getInterestRate,
} from 'belgica'

getCourt('justice-of-the-peace-gent-1').name.nl // 'Vredegerecht Gent 1'
findCourts({ type: 'enterprise-court', arrondissement: 'west-vlaanderen' })

getCantonsForMunicipality('44088') // [Canton merelbeke-melle]
getCantonsForMunicipality('44021') // Gent 1–5: bölünmüş şehir, her kantonun `territory` alanına bakın
getCanton('oudergem').seat.nl // 'Etterbeek'

getInterestRate('2024-06-15', 'legal') // { rate: 5.75, period: { from: '2024-01-01', to: '2024-12-31' } }
getInterestRate(new Date(2014, 5, 15), 'commercial', { contractAfter20130316: true }) // { rate: 8.5, … }

Sık yapılan işler ​

Bir adres hangi vredegerecht'e düşer? ​

Belçika'da her adli kantonun bir vredegerecht / justice de paix'si (sulh mahkemesi benzeri, kanton düzeyindeki mahkeme) vardır. Belediyenin REFNIS kodunu bulun, kantonlarını alın, ardından kantonun mahkemesini.

ts
import { getCantonsForMunicipality, getJusticeOfThePeace } from 'belgica'

const cantons = getCantonsForMunicipality('44088')
if (cantons.length === 1) {
    const court = getJusticeOfThePeace(cantons[0].id) // her kantonun kendi mahkemesi vardır
}

// Bugün yerine, celpnamenin tebliğ edildiği gün itibarıyla
getCantonsForMunicipality('44088', { on: '2025-09-15' })

Bir şehir birden fazla kantona bölünmüşse (Antwerpen, Gent, Brussel, Luik, …), birden fazla sonuç alırsınız. Bu durumda sokak adresi belirleyicidir; her kantonun territory alanı, kendi kısmının yasal tanımını içerir. Coğrafya ve kantonlar sayfasında deneyebilirsiniz.

Adresin koordinatları elinizdeyse kanton sınırları soruyu çözer:

ts
import { findCantonsAt } from 'belgica/canton-boundaries'

const [canton] = findCantonsAt(3.7268, 51.053) // boylam, enlem: gent-1
const court = getJusticeOfThePeace(canton.id)

Bir belediye için hangi mahkeme? ​

Vredegerecht dışındaki her mahkeme, yasanın belirlediği şekilde kapsadığı kantonları listeler (cantons). findCourtsWithJurisdiction, bir belediyenin kantonlarını bu listelerde arar.

ts
import { findCourtsWithJurisdiction, getDivisions } from 'belgica'

findCourtsWithJurisdiction('23088', 'police-court') // [police-court-vilvoorde], Brüksel değil
findCourtsWithJurisdiction('21004', 'labour-court') // Brüksel'in Hollandaca ve Fransızca konuşan mahkemeleri

// Mahkeme bir bütün olarak; davaya hangi bölümün baktığı henüz verilerde yok
const [court] = findCourtsWithJurisdiction('44021', 'enterprise-court')
getDivisions(court.id) // enterprise-court-gent-gent, enterprise-court-gent-brugge, …

Posta kodundan ​

Bir adres REFNIS koduyla değil, posta koduyla gelir. findCourtsForPostalCode posta kodundan belediyeye (posta kodları), oradan da vredegerecht'lere ve belirli bir türdeki mahkemelere gider. Yanıtı belediye başına verir: üç posta kodu (1040, 1050, 1804) iki belediyeye aittir ve bu durumda sokak belirleyicidir.

ts
import { findCourtsForPostalCode, getMunicipalitiesForPostalCode } from 'belgica'

const [gent] = findCourtsForPostalCode('9050', 'labour-court')
gent.municipality.name.nl // 'Gent'
gent.courts.map((c) => c.id) // ['labour-court-gent']
gent.justicesOfThePeace.map((c) => c.canton.id) // ['gent-1', …, 'gent-5']: sokak belirler

findCourtsForPostalCode('1040', 'police-court').map((r) => r.municipality.name.nl) // ['Brussel', 'Etterbeek']
getMunicipalitiesForPostalCode('9050').map((m) => m.id) // ['44021']

Kantonlara bölünmüş bir şehirde posta kodu soruyu belediyeye kadar daraltır; kanton için yine de sokak gerekir ve kantonun sınırları, #29 onları geometri olarak ekleyene kadar yasal metin halindedir.

Belirli bir gün için faiz ​

ts
import { getInterestRate, getLatestKnownRateDate } from 'belgica'

const result = getInterestRate(new Date(), 'commercial')
if (!result) {
    console.warn(`No rate on file; latest known day is ${getLatestKnownRateDate('commercial')}`)
}

getInterestRate, kayıtlı oranı olmayan bir gün için null döndürür; böylece sessizce % 0 kullanmak yerine uyarı verebilirsiniz. '2024-6-1' gibi hatalı biçimli bir gün için RangeError fırlatır: YYYY-MM-DD veya bir Date verin.

Mahkeme adları başka bir dilde ​

Adlar, her mahkemenin yayımladığı şekliyle ve sayfası bulunan her dilde yer alır. Flaman Bölgesi'ndeki bir mahkeme yalnızca Hollandaca yayımlar; Brüksel'deki iki dilli mahkemeler Hollandaca ve Fransızca; Eupen'deki mahkemeler Almanca ve Fransızca.

ts
getCourt('court-of-appeal-brussel').name.fr // "Cour d'appel de Bruxelles"
getCourt('police-court-eupen-sankt-vith').name.de // 'Polizeigericht Eupen, Abteilung Sankt Vith'

Ham JSON ​

Veri dosyaları da export edilir:

ts
import courts from 'belgica/data/courts.json' with { type: 'json' }

Id'ler herkese açık API'dir ​

Projeler justice-of-the-peace-gent-1 veya oost-vlaanderen gibi id'leri saklar; bu yüzden id'ler bir major sürüm içinde asla değişmez (bkz. tanımlayıcılar) ve sürümler şu kurallara uyar:

DeğişiklikSürüm
Veri eklemekminor
Bir değeri düzeltmekpatch
Bir id'yi kaldırmak veya yeniden adlandırmakmajor

Kod MIT lisansıyla, veriler CC BY 4.0 lisansıyla. Referans verileridir, hukuki tavsiye değildir: resmî kaynakları kontrol edin.