Implementation
Boxes are checked when the implementation is usable, if it’s not
complete but checked, should be in the skipped section along
with possibly the reason for skipping.
-
HTTP API’s
-
HTTP server
-
Bun.serve(),serve.fetch()and alike-
Servertype methods
-
- WebSocket server
-
-
HTTP client
-
Bun.fetch()
-
-
HTTP server
-
Bundler
-
Bun.bundle()
-
-
Workers
-
Binary data
- Types
-
Streams
- Stream types
- Stream API’s
-
File I/O
-
Bunfiletype -
Reading (
Bun.file()…)-
Bun.file(),Bun.text(),Bun.json()… -
Bun.stdin -
Bun.stdout -
Bun.stderr
-
-
Writing (
Bun.write())
-
-
import.meta
-
SQLite
-
new() -
query() -
prepare() -
run() -
exec() -
get() -
all() -
iterate() -
values() -
finalise() -
close()
-
-
Globals
-
$ Shell – if possible to implement
-
Child processes
-
Bun.spawn() -
Bun.exec() -
Bun.execSync() -
Bun.spawnSync()
-
-
TCP
-
Bun.listen() -
Bun.connect()
-
-
Transpiler
-
Newreturning aBun.Transpilerin the form of a set of functions and interfaces.
-
-
Hashing
-
Bun.password_hash()andBun.password_verify() -
Bun.hash()
-
-
Console
-
FFI
-
HTMLRewriter
-
Testing
-
Utilities
-
Bun.version -
Bun.revision -
Bun.env -
Bun.main -
Bun.sleep() -
Bun.sleepSync() -
Bun.which() -
Bun.randomUUIDv7() -
Bun.peek() -
Bun.openInEditor() -
Bun.deepEquals() -
Bun.escapeHTML() -
Bun.stringWidth() -
Bun.fileURLToPath() -
Bun.pathToFileURL() Bun.gzipSyncBun.gunzipSyncBun.deflateSyncBun.inflateSync-
Bun.inspect() -
Bun.nanoseconds() Bun.readableStreamTo*()-
Bun.resolveSync() serialize&deserializeinbun:jsc
-
-
DNS
Skipped
Some implementations were skipped for now. Here is a little list of what I skipped. If you want to help, feel free to implement them and make a PR, or wait until I get to them :)
- Utilities ->
Bun.gzipSync: Not sure how to implement this yet. - Utilities ->
Bun.gunzipSync: Not sure how to implement this yet. - Utilities ->
Bun.deflateSync: Not sure how to implement this yet. - Utilities ->
Bun.inflateSync: Not sure how to implement this yet. - Utilities ->
Bun.readableStreamTo*(): Not sure how to implement this. - Utilities ->
serialize&deserializeinbun:jsc: Not sure how to implement this. - Console: Not sure how to implement this yet.
- DNS: Not stable enough yet.
import.meta: Gleam modules are not accessible from Bun API’s, maybe through source maps in the future.- Workers: Not stable enough yet.
- Globals: Not relevant to the scope of this library. (Mostly contains browser-related globals. Some Bun ones, but those ought to be implemented elsewhere.)
- SQLite
Query.as(): I don’t think this would fit into the Gleam language.
Workarounds
No documented workarounds right now.