diff --git a/src/lib/veri-yillari.ts b/src/lib/veri-yillari.ts new file mode 100644 index 0000000..2e0b014 --- /dev/null +++ b/src/lib/veri-yillari.ts @@ -0,0 +1,38 @@ +/** + * Yerleştirme verisinin yıl kapsamı — TEK KAYNAK. Saf ve import'suz: client, + * server ve `scripts/` aynı dosyayı okur. Yeni yıl verisi yüklenince yalnız + * `SON_YIL` değişir (+ `pnpm refresh -- --yil ` ile DB inşası). + */ + +/** Veri penceresinin ilk yılı. Kayıtlı rapor/tadımlık `siraGecmisi` dizileri + * bu yıla demirlidir; pencere kaydırılmaz, uzar. */ +export const ILK_YIL = 2021; + +/** En son yerleştirme yılı (DB'de `sira${SON_YIL}` kolonları dolu). */ +export const SON_YIL = 2026; + +export const ONCEKI_YIL = SON_YIL - 1; + +/** [2021, …, SON_YIL] — `siraGecmisi` dizileriyle indeks hizalı. */ +export const YILLAR: readonly number[] = Array.from( + { length: SON_YIL - ILK_YIL + 1 }, + (_, i) => ILK_YIL + i, +); + +/** Bu veriyle tercih yapacak öğrencilerin yılı. */ +export const TERCIH_YILI = SON_YIL + 1; + +/** Sayfa başlıklarında görünen yıl ("… Taban Puanları 2026"). */ +export const BASLIK_YILI = SON_YIL; + +export const VERI_YIL_SAYISI = YILLAR.length; + +/** "2021–2026" */ +export const VERI_ARALIGI = `${ILK_YIL}–${SON_YIL}`; + +/** + * Efektif sıra: son yılın sırası, yoksa bir önceki yılınki. İNDEKS SÖZLEŞMESİ — + * SQLite ifade indeksi metinsel eşleşmeyle çalışır; sorgular ve indeks + * betikleri bu dizgiyi birebir (virgülden sonra tek boşluk) kullanmalıdır. + */ +export const EFEKTIF_SIRA_SQL = `COALESCE(sira${SON_YIL}, sira${ONCEKI_YIL})`;