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-
Server
type 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
-
Bunfile
type -
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
-
New
returning aBun.Transpiler
in 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.gzipSync
Bun.gunzipSync
Bun.deflateSync
Bun.inflateSync
-
Bun.inspect()
-
Bun.nanoseconds()
Bun.readableStreamTo*()
-
Bun.resolveSync()
serialize
&deserialize
inbun: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
&deserialize
inbun: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.