izmir-open-data-js 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,6 +14,7 @@
14
14
  * 📊 **Geniş Veri Yelpazesi:** Eczanelerden ulaşım ağlarına kadar birçok veriye erişim.
15
15
  * 🔄 **Modern Yapı:** `async/await` desteği ile temiz ve okunabilir kod.
16
16
  * 🏗️ **Esnek:** Hem Node.js hem de modern tarayıcı ortamlarında kullanılabilir.
17
+ * 📦 **CKAN Desteği:** Açık veri portalının CKAN API'si üzerinden detaylı veri setlerine erişim.
17
18
 
18
19
  ---
19
20
 
@@ -51,6 +52,37 @@ async function verileriGetir() {
51
52
  verileriGetir();
52
53
  ```
53
54
 
55
+ ### Örnek: ESHOT Hat ve Durak Bilgileri (CKAN)
56
+
57
+ ```javascript
58
+ import { IzmirAPI } from 'izmir-open-data-js';
59
+
60
+ const api = new IzmirAPI();
61
+
62
+ async function eshotVerileri() {
63
+ // Tüm ESHOT hatlarını çek
64
+ const hatlar = await api.eshot.getHatlar();
65
+ console.log(`Toplam ${hatlar.total} hat bulundu`);
66
+
67
+ // İlk 10 hattı göster
68
+ hatlar.records.slice(0, 10).forEach(hat => {
69
+ console.log(`Hat ${hat.HAT_NO}: ${hat.HAT_ADI}`);
70
+ });
71
+
72
+ // Tüm durakları çek (sayfalama ile)
73
+ const duraklar = await api.eshot.getDuraklar(100, 0);
74
+ console.log(`Toplam ${duraklar.total} durak mevcut`);
75
+
76
+ // Otopark ücretlerini çek
77
+ const ucretler = await api.otopark.getUcretler();
78
+ ucretler.records.forEach(otopark => {
79
+ console.log(`${otopark["Otopark / Fiyat"]}: ${otopark["0-2 saat"]} TL (0-2 saat)`);
80
+ });
81
+ }
82
+
83
+ eshotVerileri();
84
+ ```
85
+
54
86
  ---
55
87
 
56
88
  ## 📋 Tüm Endpoint'ler
@@ -102,6 +134,11 @@ verileriGetir();
102
134
  | `getDuragaYaklasanOtobusList(durakId)` | Bir durağa yaklaşan otobüsleri listeler |
103
135
  | `getHattinYaklasanOtobusleri(hatId, durakId)` | Bir hattın durağa yaklaşan otobüslerini listeler |
104
136
  | `getHatOtobusKonumlari(hatId)` | Hatta ait otobüslerin anlık konum bilgilerini döner |
137
+ | `getHatlar(limit, offset)` | ESHOT hat bilgilerini döner (CKAN) |
138
+ | `getHareketSaatleri(limit, offset)` | Otobüs hareket saatlerini döner (CKAN) |
139
+ | `getDuraklar(limit, offset)` | Tüm ESHOT duraklarını listeler (CKAN) |
140
+ | `getHatGuzergahlari(limit, offset)` | Hat güzergah koordinatlarını döner (CKAN) |
141
+ | `getBaglantiTipleri(limit, offset)` | Diğer ulaşım araçları ile bağlantı tiplerini döner (CKAN) |
105
142
 
106
143
  ### 🚲 Ulaşım - BİSİM (`api.bisim`)
107
144
 
@@ -155,6 +192,7 @@ verileriGetir();
155
192
  | Metot | Açıklama |
156
193
  | :--- | :--- |
157
194
  | `getList()` | Otoparkların doluluk ve konum bilgilerini döner |
195
+ | `getUcretler(limit, offset)` | İzelman otopark ücretlerini döner (CKAN) |
158
196
 
159
197
  ### 🚕 Taksi (`api.taksi`)
160
198
 
package/dist/client.d.ts CHANGED
@@ -1,5 +1,20 @@
1
1
  export declare class IzmirClient {
2
2
  private readonly baseUrl;
3
- constructor(baseUrl?: string);
3
+ private readonly ckanBaseUrl;
4
+ private fetchJsonp;
5
+ constructor(baseUrl?: string, ckanBaseUrl?: string);
4
6
  get(path: string): Promise<any>;
7
+ /**
8
+ * CKAN API'den veri çeker.
9
+ * Tarayıcıda JSONP, Node.js'de normal fetch kullanır.
10
+ */
11
+ getCKAN<T = any>(action: string, params?: Record<string, string | number>): Promise<T>;
12
+ /**
13
+ * JSONP ile CKAN API çağrısı (tarayıcı için)
14
+ */
15
+ private getCKANWithJsonp;
16
+ /**
17
+ * Normal fetch ile CKAN API çağrısı (Node.js için)
18
+ */
19
+ private getCKANWithFetch;
5
20
  }
package/dist/client.js CHANGED
@@ -1,6 +1,10 @@
1
+ // Node.js ortamında window yoktur, tarayıcıda JSONP kullanılır
2
+ const isBrowser = typeof window !== 'undefined';
1
3
  export class IzmirClient {
2
- constructor(baseUrl = "https://openapi.izmir.bel.tr/api/") {
4
+ constructor(baseUrl = "https://openapi.izmir.bel.tr/api/", ckanBaseUrl = "https://acikveri.bizizmir.com/api/3/action/") {
5
+ this.fetchJsonp = null;
3
6
  this.baseUrl = baseUrl;
7
+ this.ckanBaseUrl = ckanBaseUrl;
4
8
  }
5
9
  async get(path) {
6
10
  const res = await fetch(this.baseUrl + path);
@@ -9,4 +13,74 @@ export class IzmirClient {
9
13
  }
10
14
  return res.json();
11
15
  }
16
+ /**
17
+ * CKAN API'den veri çeker.
18
+ * Tarayıcıda JSONP, Node.js'de normal fetch kullanır.
19
+ */
20
+ async getCKAN(action, params = {}) {
21
+ const queryParams = new URLSearchParams();
22
+ for (const [key, value] of Object.entries(params)) {
23
+ queryParams.append(key, String(value));
24
+ }
25
+ const url = `${this.ckanBaseUrl}${action}?${queryParams.toString()}`;
26
+ if (isBrowser) {
27
+ return this.getCKANWithJsonp(url);
28
+ }
29
+ else {
30
+ return this.getCKANWithFetch(url);
31
+ }
32
+ }
33
+ /**
34
+ * JSONP ile CKAN API çağrısı (tarayıcı için)
35
+ */
36
+ async getCKANWithJsonp(url) {
37
+ try {
38
+ // Lazy load fetch-jsonp
39
+ if (!this.fetchJsonp) {
40
+ const module = await import('fetch-jsonp');
41
+ this.fetchJsonp = module.default;
42
+ }
43
+ const response = await this.fetchJsonp(url, {
44
+ jsonpCallback: 'callback',
45
+ timeout: 10000,
46
+ });
47
+ const data = await response.json();
48
+ if (data.success) {
49
+ return data.result;
50
+ }
51
+ else {
52
+ throw new Error(data.error?.message || "API verisi alınamadı");
53
+ }
54
+ }
55
+ catch (error) {
56
+ if (error instanceof Error) {
57
+ throw new Error(`JSONP Hatası: ${error.message}`);
58
+ }
59
+ throw new Error("Bilinmeyen JSONP hatası");
60
+ }
61
+ }
62
+ /**
63
+ * Normal fetch ile CKAN API çağrısı (Node.js için)
64
+ */
65
+ async getCKANWithFetch(url) {
66
+ try {
67
+ const res = await fetch(url);
68
+ if (!res.ok) {
69
+ throw new Error(`CKAN API response error: ${res.status}`);
70
+ }
71
+ const data = await res.json();
72
+ if (data.success) {
73
+ return data.result;
74
+ }
75
+ else {
76
+ throw new Error(data.error?.message || "API verisi alınamadı");
77
+ }
78
+ }
79
+ catch (error) {
80
+ if (error instanceof Error) {
81
+ throw new Error(`CKAN Hatası: ${error.message}`);
82
+ }
83
+ throw new Error("Bilinmeyen CKAN hatası");
84
+ }
85
+ }
12
86
  }
@@ -2,6 +2,67 @@ import { IzmirClient } from "../client";
2
2
  import { DefaultOnemliYer, OnemliYerWrapper } from "../common/types/onemliYer";
3
3
  export interface EshotDurak extends DefaultOnemliYer {
4
4
  }
5
+ /**
6
+ * ESHOT hat bilgisi (CKAN datasından)
7
+ */
8
+ export interface EshotHat {
9
+ _id: number;
10
+ HAT_NO: number;
11
+ HAT_ADI: string;
12
+ GUZERGAH_ACIKLAMA: string;
13
+ ACIKLAMA: string;
14
+ HAT_BASLANGIC: string;
15
+ HAT_BITIS: string;
16
+ }
17
+ /**
18
+ * ESHOT otobüs hareket saati bilgisi (CKAN datasından)
19
+ */
20
+ export interface EshotHareketSaati {
21
+ _id: number;
22
+ HAT_NO: number;
23
+ TARIFE_ID: number;
24
+ GIDIS_SAATI: string;
25
+ DONUS_SAATI: string;
26
+ SIRA: number;
27
+ GIDIS_ENGELLI_DESTEGI: string;
28
+ DONUS_ENGELLI_DESTEGI: string;
29
+ BISIKLETLI_GIDIS: string;
30
+ BISIKLETLI_DONUS: string;
31
+ GIDIS_ELEKTRIKLI_OTOBUS: string;
32
+ DONUS_ELEKTRIKLI_OTOBUS: string;
33
+ }
34
+ /**
35
+ * ESHOT otobüs durağı bilgisi (CKAN datasından)
36
+ */
37
+ export interface EshotDurakCKAN {
38
+ _id: number;
39
+ DURAK_ID: number;
40
+ DURAK_ADI: string;
41
+ ENLEM: number;
42
+ BOYLAM: number;
43
+ DURAKTAN_GECEN_HATLAR: string;
44
+ }
45
+ /**
46
+ * ESHOT hat güzergah noktası bilgisi (CKAN datasından)
47
+ */
48
+ export interface EshotHatGuzergah {
49
+ _id: number;
50
+ HAT_NO: number;
51
+ /** Güzergah yönü: 1 = Gidiş, 2 = Dönüş */
52
+ YON: number;
53
+ BOYLAM: number;
54
+ ENLEM: number;
55
+ }
56
+ /**
57
+ * ESHOT bağlantı tipi bilgisi (CKAN datasından)
58
+ * Otobüs hatlarının diğer ulaşım araçları ile bağlantı tipleri
59
+ */
60
+ export interface EshotBaglantiTipi {
61
+ _id: number;
62
+ BAGLANTI_TIP_ID: number;
63
+ /** Bağlantı tipi adı (METRO, IZBAN, VAPUR, TRAMVAY, vb.) */
64
+ BAGLANTI_TIPI: string;
65
+ }
5
66
  /**
6
67
  * Durağa yaklaşan otobüs bilgisi
7
68
  */
@@ -23,7 +84,64 @@ export interface HatOtobusKonumlariResponse {
23
84
  HataMesaj: string;
24
85
  HatOtobusKonumlari: YaklasanOtobus[];
25
86
  }
87
+ /**
88
+ * CKAN datastore_search response tipi
89
+ */
90
+ export interface CKANDatastoreResponse<T> {
91
+ include_total: boolean;
92
+ resource_id: string;
93
+ fields: {
94
+ type: string;
95
+ id: string;
96
+ }[];
97
+ records_format: string;
98
+ records: T[];
99
+ limit: number;
100
+ total: number;
101
+ }
26
102
  export declare function eshot(client: IzmirClient): {
103
+ /**
104
+ * ESHOT hatlarının listesini içeren web servisi (CKAN).
105
+ *
106
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-hat-bilgileri
107
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
108
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
109
+ */
110
+ getHatlar(limit?: number, offset?: number): Promise<CKANDatastoreResponse<EshotHat>>;
111
+ /**
112
+ * ESHOT otobüs hareket saatlerini içeren web servisi (CKAN).
113
+ *
114
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-otobus-hareket-saatleri
115
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
116
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
117
+ */
118
+ getHareketSaatleri(limit?: number, offset?: number): Promise<CKANDatastoreResponse<EshotHareketSaati>>;
119
+ /**
120
+ * ESHOT otobüs duraklarının listesini içeren web servisi (CKAN).
121
+ *
122
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-duraklari
123
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
124
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
125
+ */
126
+ getDuraklar(limit?: number, offset?: number): Promise<CKANDatastoreResponse<EshotDurakCKAN>>;
127
+ /**
128
+ * ESHOT hat güzergahlarını içeren web servisi (CKAN).
129
+ * Her hat için gidiş (YON=1) ve dönüş (YON=2) koordinat noktalarını içerir.
130
+ *
131
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-hat-guzergahlari
132
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
133
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
134
+ */
135
+ getHatGuzergahlari(limit?: number, offset?: number): Promise<CKANDatastoreResponse<EshotHatGuzergah>>;
136
+ /**
137
+ * Otobüs hatlarının diğer ulaşım araçları ile bağlantı tiplerini içeren web servisi (CKAN).
138
+ * Metro, İzban, Vapur, Tramvay gibi bağlantı tiplerini listeler.
139
+ *
140
+ * Kaynak: https://acikveri.bizizmir.com/dataset/otobus-hatlarinin-diger-ulasim-araclari-ile-baglanti-tipleri
141
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
142
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
143
+ */
144
+ getBaglantiTipleri(limit?: number, offset?: number): Promise<CKANDatastoreResponse<EshotBaglantiTipi>>;
27
145
  /**
28
146
  * ESHOT duraklarının konum, isim ve diğer bilgilerini içeren web servisi.
29
147
  *
@@ -1,5 +1,77 @@
1
1
  export function eshot(client) {
2
2
  return {
3
+ /**
4
+ * ESHOT hatlarının listesini içeren web servisi (CKAN).
5
+ *
6
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-hat-bilgileri
7
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
8
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
9
+ */
10
+ getHatlar(limit = 100, offset = 0) {
11
+ return client.getCKAN('datastore_search', {
12
+ resource_id: 'bd6c84f8-49ba-4cf4-81f8-81a0fbb5caa3',
13
+ limit,
14
+ offset
15
+ });
16
+ },
17
+ /**
18
+ * ESHOT otobüs hareket saatlerini içeren web servisi (CKAN).
19
+ *
20
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-otobus-hareket-saatleri
21
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
22
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
23
+ */
24
+ getHareketSaatleri(limit = 100, offset = 0) {
25
+ return client.getCKAN('datastore_search', {
26
+ resource_id: 'c6fa6046-f755-47d7-b69e-db6bb06a8b5a',
27
+ limit,
28
+ offset
29
+ });
30
+ },
31
+ /**
32
+ * ESHOT otobüs duraklarının listesini içeren web servisi (CKAN).
33
+ *
34
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-duraklari
35
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
36
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
37
+ */
38
+ getDuraklar(limit = 100, offset = 0) {
39
+ return client.getCKAN('datastore_search', {
40
+ resource_id: '0c791266-a2e4-4f14-82b8-9a9b102fbf94',
41
+ limit,
42
+ offset
43
+ });
44
+ },
45
+ /**
46
+ * ESHOT hat güzergahlarını içeren web servisi (CKAN).
47
+ * Her hat için gidiş (YON=1) ve dönüş (YON=2) koordinat noktalarını içerir.
48
+ *
49
+ * Kaynak: https://acikveri.bizizmir.com/dataset/eshot-hat-guzergahlari
50
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
51
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
52
+ */
53
+ getHatGuzergahlari(limit = 100, offset = 0) {
54
+ return client.getCKAN('datastore_search', {
55
+ resource_id: '543f2249-c734-48e4-8739-72efbbfc843c',
56
+ limit,
57
+ offset
58
+ });
59
+ },
60
+ /**
61
+ * Otobüs hatlarının diğer ulaşım araçları ile bağlantı tiplerini içeren web servisi (CKAN).
62
+ * Metro, İzban, Vapur, Tramvay gibi bağlantı tiplerini listeler.
63
+ *
64
+ * Kaynak: https://acikveri.bizizmir.com/dataset/otobus-hatlarinin-diger-ulasim-araclari-ile-baglanti-tipleri
65
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
66
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
67
+ */
68
+ getBaglantiTipleri(limit = 100, offset = 0) {
69
+ return client.getCKAN('datastore_search', {
70
+ resource_id: 'c228da75-adfd-422a-a480-2a4c7ffa7586',
71
+ limit,
72
+ offset
73
+ });
74
+ },
3
75
  /**
4
76
  * ESHOT duraklarının konum, isim ve diğer bilgilerini içeren web servisi.
5
77
  *
@@ -1,4 +1,5 @@
1
1
  import { IzmirClient } from "../client";
2
+ import { CKANDatastoreResponse } from "./eshot";
2
3
  export interface OtoparkBilgisi {
3
4
  ufid: string;
4
5
  name: string;
@@ -44,6 +45,58 @@ export interface OtoparkBilgisi {
44
45
  cctv: boolean;
45
46
  };
46
47
  }
48
+ /**
49
+ * İzelman otopark ücret bilgisi (CKAN datasından)
50
+ */
51
+ export interface OtoparkUcreti {
52
+ _id: number;
53
+ /** Otopark adı */
54
+ "Otopark / Fiyat": string;
55
+ /** 0-1 saat ücreti */
56
+ "0-1 Saat": number | null;
57
+ /** 0-2 saat ücreti */
58
+ "0-2 saat": number | null;
59
+ /** 2-4 saat ücreti */
60
+ "2-4 saat": number | null;
61
+ /** 4-6 saat ücreti */
62
+ "4-6 saat": number | null;
63
+ /** 0-3 saat ücreti */
64
+ "0-3 saat": string | null;
65
+ /** 0-6 saat ücreti */
66
+ "0-6 saat": number | null;
67
+ /** 3-6 saat ücreti */
68
+ "3-6 saat": string | null;
69
+ /** 6-12 saat ücreti */
70
+ "6-12 saat": number | null;
71
+ /** 1-12 saat ücreti */
72
+ "1-12 saat": number | null;
73
+ /** 0-12 saat ücreti */
74
+ "0-12 saat": number | null;
75
+ /** 12-24 saat ücreti */
76
+ "12-24 saat": number | null;
77
+ /** 0-24 saat ücreti */
78
+ "0-24 saat": number | null;
79
+ /** 0-12 saat motosiklet ücreti */
80
+ "0-12 Saat(Motosiklet )": number | null;
81
+ /** 12-24 saat motosiklet ücreti */
82
+ "12-24 Saat(Motosiklet )": number | null;
83
+ /** 0-24 saat motosiklet ücreti */
84
+ "0-24 Saat(Motosiklet )": number | null;
85
+ /** Kayıp bilet ücreti */
86
+ "Kayıp Bilet": number | null;
87
+ /** Aylık abone ücreti */
88
+ "Aylık Abone Ücreti": number | null;
89
+ /** Aylık alan abonelik ücreti */
90
+ "Aylık Alan Abonelik Ücreti": number | null;
91
+ /** Motosiklet aylık abone ücreti */
92
+ "Motosiklet Aylık Abone Ücreti": number | null;
93
+ /** 0-12 saat engelli aracı ücreti */
94
+ "0-12 Saat(Engelli Aracı )": number | null;
95
+ /** 12-24 saat engelli aracı ücreti */
96
+ "12-24 Saat(Engelli Aracı )": number | null;
97
+ /** 0-24 saat engelli aracı ücreti */
98
+ "0-24 Saat(Engelli Aracı )": number | null;
99
+ }
47
100
  export declare function otopark(client: IzmirClient): {
48
101
  /**
49
102
  * Otoparkların konumu, dolu-boş adetleri, çalışma saatleri bilgilerini içeren web servisi.
@@ -51,4 +104,13 @@ export declare function otopark(client: IzmirClient): {
51
104
  * Kaynak: https://acikveri.bizizmir.com/dataset/otopark-doluluk-ve-lokasyon-bilgileri
52
105
  */
53
106
  getList(): Promise<OtoparkBilgisi[]>;
107
+ /**
108
+ * İzelman otopark ücretlerini içeren web servisi (CKAN).
109
+ * Her otopark için farklı saat dilimleri ve araç tiplerinin ücret bilgilerini içerir.
110
+ *
111
+ * Kaynak: https://acikveri.bizizmir.com/dataset/izelman-otopark-ucretleri
112
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
113
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
114
+ */
115
+ getUcretler(limit?: number, offset?: number): Promise<CKANDatastoreResponse<OtoparkUcreti>>;
54
116
  };
@@ -7,6 +7,21 @@ export function otopark(client) {
7
7
  */
8
8
  getList() {
9
9
  return client.get("izum/otoparklar");
10
+ },
11
+ /**
12
+ * İzelman otopark ücretlerini içeren web servisi (CKAN).
13
+ * Her otopark için farklı saat dilimleri ve araç tiplerinin ücret bilgilerini içerir.
14
+ *
15
+ * Kaynak: https://acikveri.bizizmir.com/dataset/izelman-otopark-ucretleri
16
+ * @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
17
+ * @param offset Atlanacak kayıt sayısı (sayfalama için)
18
+ */
19
+ getUcretler(limit = 100, offset = 0) {
20
+ return client.getCKAN('datastore_search', {
21
+ resource_id: 'b45d2e9f-f258-476e-a12d-d0ff62471ee0',
22
+ limit,
23
+ offset
24
+ });
10
25
  }
11
26
  };
12
27
  }
package/dist/index.d.ts CHANGED
@@ -40,6 +40,11 @@ export declare class IzmirAPI {
40
40
  getGunlukHavaKalitesiOlcumleri(tarih: Date): Promise<import("./endpoints/iklim").HavaKalitesiOlcum[]>;
41
41
  };
42
42
  eshot: {
43
+ getHatlar(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/eshot").EshotHat>>;
44
+ getHareketSaatleri(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/eshot").EshotHareketSaati>>;
45
+ getDuraklar(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/eshot").EshotDurakCKAN>>;
46
+ getHatGuzergahlari(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/eshot").EshotHatGuzergah>>;
47
+ getBaglantiTipleri(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/eshot").EshotBaglantiTipi>>;
43
48
  getYakinDurakList(enlem: number, boylam: number): Promise<import("./common/types/onemliYer.js").OnemliYerWrapper<import("./endpoints/eshot").EshotDurak>>;
44
49
  getDuragaYaklasanOtobusList(durakId: number): Promise<import("./endpoints/eshot").YaklasanOtobus[]>;
45
50
  getHattinYaklasanOtobusleri(hatId: number, durakId: number): Promise<import("./endpoints/eshot").YaklasanOtobus[]>;
@@ -64,6 +69,7 @@ export declare class IzmirAPI {
64
69
  };
65
70
  otopark: {
66
71
  getList(): Promise<import("./endpoints/otopark").OtoparkBilgisi[]>;
72
+ getUcretler(limit?: number, offset?: number): Promise<import("./endpoints/eshot").CKANDatastoreResponse<import("./endpoints/otopark").OtoparkUcreti>>;
67
73
  };
68
74
  hizmet: {
69
75
  getHizmetNoktaList(): Promise<import("./common/types/onemliYer.js").OnemliYerWrapper<import("./endpoints/hizmet").HizmetNoktasi>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "izmir-open-data-js",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Izmir Open Data API wrapper - İzmir Büyükşehir Belediyesi Açık Veri API'leri için TypeScript/JavaScript kütüphanesi",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,9 @@
13
13
  "typescript",
14
14
  "eshot",
15
15
  "izban",
16
- "metro"
16
+ "metro",
17
+ "ckan",
18
+ "otopark"
17
19
  ],
18
20
  "author": "Ata",
19
21
  "license": "MIT",
@@ -30,6 +32,7 @@
30
32
  "dist"
31
33
  ],
32
34
  "devDependencies": {
35
+ "@types/fetch-jsonp": "^1.0.0",
33
36
  "@types/node": "^25.4.0",
34
37
  "@vitest/coverage-v8": "^3.2.4",
35
38
  "@vitest/expect": "^4.0.18",
@@ -45,5 +48,8 @@
45
48
  "test:live": "LIVE_API_TESTS=1 vitest run tests/integration/",
46
49
  "test:all": "LIVE_API_TESTS=1 vitest run",
47
50
  "prepublishOnly": "npm run build"
51
+ },
52
+ "dependencies": {
53
+ "fetch-jsonp": "^1.4.0"
48
54
  }
49
55
  }