Başvuru
Web API'leri
Eklenti ortamında bulunan tarayıcı benzeri global API'ler ve farkları.
Eklentiler JavaScriptCore üzerinde çalışır. Modern JavaScript'in tamamı (async/await, Map, Intl, Array.prototype.at…) vardır; tarayıcı ve Node API'lerinden yalnız aşağıdakiler sağlanır.
| API | Not |
|---|---|
fetch, Headers, Response | Yalnız HTTPS ve network: alan adları. RequestInit: method, headers, body, timeout. Response: text(), json(), arrayBuffer(), bytes(); akış yok |
URL, URLSearchParams | |
TextEncoder, TextDecoder | Yalnız UTF-8 |
atob, btoa | |
setTimeout, setInterval, clearTimeout, clearInterval | En fazla 200; aralık en az 50 ms |
queueMicrotask | |
structuredClone | Yalnız JSON: tarihler metne döner, Map ve fonksiyonlar kaybolur |
performance.now() | Geri gitmez |
crypto.randomUUID(), crypto.getRandomValues() | crypto.subtle yok |
console.log/info/debug/warn/error | 10 sn'de 200 satır, satır başına 2000 karakter |
fetch farkları
- Çerez, önbellek,
credentials,mode,signalyoktur. İptal içintimeoutkullan (1000–60000 ms, varsayılan 15000). body: metin olduğu gibi,URLSearchParamsform olarak, diğer değerler JSON olarak gönderilir.- 4xx/5xx hata fırlatmaz;
res.ok'a bak. - Hatalar
NetworkError,TimeoutError,PermissionError.
Console
console çıktısı Ayarlar › Geliştirici › Günlük'te ve adanotch dev terminalinde görünür. Nesneler JSON olarak yazılır. Hataların yığınları kaynak haritasıyla src/index.ts:12:5 biçimine çevrilir.
Olmayanlar
window, document, DOM, localStorage (yerine ctx.storage), WebSocket, EventSource, Worker, require, process, Buffer, fs. Bunlara dayanan npm paketleri çalışmaz; saf JavaScript paketler (date-fns, zod gibi) çalışır.