Certaines APIs Web ne sont pas pertinentes dans le contexte d'un runtime axé sur le serveur comme Bun, telles que l'API DOM ou l'API History. Beaucoup d'autres, cependant, sont largement utiles en dehors du contexte du navigateur ; lorsque c'est possible, Bun implémente ces APIs standard Web au lieu d'introduire de nouvelles APIs.
Les APIs Web suivantes sont partiellement ou complètement prises en charge.
| Catégorie | APIs |
|---|---|
| HTTP | fetch, Response, Request, Headers, AbortController, AbortSignal |
| URLs | URL, URLSearchParams |
| Web Workers | Worker, self.postMessage, structuredClone, MessagePort, MessageChannel, BroadcastChannel |
| Streams | ReadableStream, WritableStream, TransformStream, ByteLengthQueuingStrategy, CountQueuingStrategy et classes associées |
| Blob | Blob |
| WebSockets | WebSocket |
| Encodage et décodage | atob, btoa, TextEncoder, TextDecoder |
| JSON | JSON |
| Délais d'attente | setTimeout, clearTimeout |
| Intervalles | setInterval, clearInterval |
| Crypto | crypto, SubtleCrypto, CryptoKey |
| Débogage | console, performance |
| Micro-tâches | queueMicrotask |
| Erreurs | reportError |
| Interaction utilisateur | alert, confirm, prompt (destiné aux CLIs interactifs) |
| Realms | ShadowRealm |
| Événements | EventTarget, Event, ErrorEvent, CloseEvent, MessageEvent |