bun-types 1.3.2-canary.20251104T140728 → 1.3.2-canary.20251106T140813

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.
Files changed (312) hide show
  1. package/bun.d.ts +4 -4
  2. package/docs/README.md +28 -0
  3. package/globals.d.ts +0 -1
  4. package/overrides.d.ts +45 -15
  5. package/package.json +1 -1
  6. package/test.d.ts +1 -1
  7. package/docs/api/binary-data.md +0 -1038
  8. package/docs/api/cc.md +0 -197
  9. package/docs/api/color.md +0 -262
  10. package/docs/api/console.md +0 -57
  11. package/docs/api/cookie.md +0 -449
  12. package/docs/api/dns.md +0 -110
  13. package/docs/api/fetch.md +0 -463
  14. package/docs/api/ffi.md +0 -557
  15. package/docs/api/file-io.md +0 -366
  16. package/docs/api/file-system-router.md +0 -112
  17. package/docs/api/file.md +0 -19
  18. package/docs/api/glob.md +0 -178
  19. package/docs/api/globals.md +0 -387
  20. package/docs/api/hashing.md +0 -319
  21. package/docs/api/html-rewriter.md +0 -334
  22. package/docs/api/http.md +0 -1408
  23. package/docs/api/import-meta.md +0 -69
  24. package/docs/api/node-api.md +0 -14
  25. package/docs/api/redis.md +0 -597
  26. package/docs/api/s3.md +0 -850
  27. package/docs/api/secrets.md +0 -319
  28. package/docs/api/semver.md +0 -52
  29. package/docs/api/spawn.md +0 -582
  30. package/docs/api/sql.md +0 -1374
  31. package/docs/api/sqlite.md +0 -694
  32. package/docs/api/streams.md +0 -230
  33. package/docs/api/tcp.md +0 -221
  34. package/docs/api/transpiler.md +0 -276
  35. package/docs/api/udp.md +0 -123
  36. package/docs/api/utils.md +0 -891
  37. package/docs/api/websockets.md +0 -573
  38. package/docs/api/workers.md +0 -322
  39. package/docs/api/yaml.md +0 -668
  40. package/docs/benchmarks.md +0 -120
  41. package/docs/bun-flavored-toml.md +0 -42
  42. package/docs/bundler/css.md +0 -1028
  43. package/docs/bundler/css_modules.md +0 -145
  44. package/docs/bundler/executables.md +0 -626
  45. package/docs/bundler/fullstack.md +0 -418
  46. package/docs/bundler/hmr.md +0 -234
  47. package/docs/bundler/html.md +0 -349
  48. package/docs/bundler/index.md +0 -1735
  49. package/docs/bundler/intro.md +0 -75
  50. package/docs/bundler/loaders.md +0 -410
  51. package/docs/bundler/macros.md +0 -329
  52. package/docs/bundler/plugins.md +0 -449
  53. package/docs/bundler/vs-esbuild.md +0 -1127
  54. package/docs/cli/add.md +0 -173
  55. package/docs/cli/bun-completions.md +0 -3
  56. package/docs/cli/bun-create.md +0 -338
  57. package/docs/cli/bun-install.md +0 -349
  58. package/docs/cli/bun-upgrade.md +0 -39
  59. package/docs/cli/bunx.md +0 -89
  60. package/docs/cli/filter.md +0 -90
  61. package/docs/cli/info.md +0 -65
  62. package/docs/cli/init.md +0 -85
  63. package/docs/cli/install.md +0 -344
  64. package/docs/cli/link.md +0 -40
  65. package/docs/cli/outdated.md +0 -90
  66. package/docs/cli/patch-commit.md +0 -11
  67. package/docs/cli/pm.md +0 -285
  68. package/docs/cli/publish.md +0 -120
  69. package/docs/cli/remove.md +0 -7
  70. package/docs/cli/run.md +0 -261
  71. package/docs/cli/test.md +0 -397
  72. package/docs/cli/unlink.md +0 -9
  73. package/docs/cli/update.md +0 -129
  74. package/docs/cli/why.md +0 -67
  75. package/docs/contributing/upgrading-webkit.md +0 -57
  76. package/docs/ecosystem/elysia.md +0 -24
  77. package/docs/ecosystem/express.md +0 -37
  78. package/docs/ecosystem/hono.md +0 -18
  79. package/docs/ecosystem/react.md +0 -65
  80. package/docs/ecosystem/stric.md +0 -38
  81. package/docs/guides/binary/arraybuffer-to-array.md +0 -27
  82. package/docs/guides/binary/arraybuffer-to-blob.md +0 -24
  83. package/docs/guides/binary/arraybuffer-to-buffer.md +0 -25
  84. package/docs/guides/binary/arraybuffer-to-string.md +0 -15
  85. package/docs/guides/binary/arraybuffer-to-typedarray.md +0 -39
  86. package/docs/guides/binary/blob-to-arraybuffer.md +0 -14
  87. package/docs/guides/binary/blob-to-dataview.md +0 -14
  88. package/docs/guides/binary/blob-to-stream.md +0 -14
  89. package/docs/guides/binary/blob-to-string.md +0 -15
  90. package/docs/guides/binary/blob-to-typedarray.md +0 -14
  91. package/docs/guides/binary/buffer-to-arraybuffer.md +0 -14
  92. package/docs/guides/binary/buffer-to-blob.md +0 -14
  93. package/docs/guides/binary/buffer-to-readablestream.md +0 -41
  94. package/docs/guides/binary/buffer-to-string.md +0 -25
  95. package/docs/guides/binary/buffer-to-typedarray.md +0 -14
  96. package/docs/guides/binary/dataview-to-string.md +0 -15
  97. package/docs/guides/binary/typedarray-to-arraybuffer.md +0 -25
  98. package/docs/guides/binary/typedarray-to-blob.md +0 -16
  99. package/docs/guides/binary/typedarray-to-buffer.md +0 -14
  100. package/docs/guides/binary/typedarray-to-dataview.md +0 -14
  101. package/docs/guides/binary/typedarray-to-readablestream.md +0 -41
  102. package/docs/guides/binary/typedarray-to-string.md +0 -16
  103. package/docs/guides/deployment/railway.md +0 -157
  104. package/docs/guides/ecosystem/astro.md +0 -72
  105. package/docs/guides/ecosystem/discordjs.md +0 -77
  106. package/docs/guides/ecosystem/docker.md +0 -140
  107. package/docs/guides/ecosystem/drizzle.md +0 -185
  108. package/docs/guides/ecosystem/edgedb.md +0 -228
  109. package/docs/guides/ecosystem/elysia.md +0 -31
  110. package/docs/guides/ecosystem/express.md +0 -40
  111. package/docs/guides/ecosystem/hono.md +0 -39
  112. package/docs/guides/ecosystem/mongoose.md +0 -87
  113. package/docs/guides/ecosystem/neon-drizzle.md +0 -220
  114. package/docs/guides/ecosystem/neon-serverless-postgres.md +0 -55
  115. package/docs/guides/ecosystem/nextjs.md +0 -49
  116. package/docs/guides/ecosystem/nuxt.md +0 -56
  117. package/docs/guides/ecosystem/pm2.md +0 -57
  118. package/docs/guides/ecosystem/prisma.md +0 -141
  119. package/docs/guides/ecosystem/qwik.md +0 -107
  120. package/docs/guides/ecosystem/react.md +0 -50
  121. package/docs/guides/ecosystem/remix.md +0 -78
  122. package/docs/guides/ecosystem/render.md +0 -79
  123. package/docs/guides/ecosystem/sentry.md +0 -52
  124. package/docs/guides/ecosystem/solidstart.md +0 -58
  125. package/docs/guides/ecosystem/ssr-react.md +0 -51
  126. package/docs/guides/ecosystem/stric.md +0 -55
  127. package/docs/guides/ecosystem/sveltekit.md +0 -125
  128. package/docs/guides/ecosystem/systemd.md +0 -113
  129. package/docs/guides/ecosystem/vite.md +0 -71
  130. package/docs/guides/html-rewriter/extract-links.md +0 -68
  131. package/docs/guides/html-rewriter/extract-social-meta.md +0 -93
  132. package/docs/guides/http/cluster.md +0 -66
  133. package/docs/guides/http/fetch-unix.md +0 -33
  134. package/docs/guides/http/fetch.md +0 -24
  135. package/docs/guides/http/file-uploads.md +0 -94
  136. package/docs/guides/http/hot.md +0 -26
  137. package/docs/guides/http/proxy.md +0 -24
  138. package/docs/guides/http/server.md +0 -46
  139. package/docs/guides/http/simple.md +0 -18
  140. package/docs/guides/http/stream-file.md +0 -48
  141. package/docs/guides/http/stream-iterator.md +0 -47
  142. package/docs/guides/http/stream-node-streams-in-bun.md +0 -20
  143. package/docs/guides/http/tls.md +0 -30
  144. package/docs/guides/install/add-dev.md +0 -26
  145. package/docs/guides/install/add-git.md +0 -36
  146. package/docs/guides/install/add-optional.md +0 -25
  147. package/docs/guides/install/add-peer.md +0 -43
  148. package/docs/guides/install/add-tarball.md +0 -33
  149. package/docs/guides/install/add.md +0 -42
  150. package/docs/guides/install/azure-artifacts.md +0 -73
  151. package/docs/guides/install/cicd.md +0 -41
  152. package/docs/guides/install/custom-registry.md +0 -30
  153. package/docs/guides/install/from-npm-install-to-bun-install.md +0 -214
  154. package/docs/guides/install/git-diff-bun-lockfile.md +0 -44
  155. package/docs/guides/install/jfrog-artifactory.md +0 -28
  156. package/docs/guides/install/npm-alias.md +0 -23
  157. package/docs/guides/install/registry-scope.md +0 -38
  158. package/docs/guides/install/trusted.md +0 -46
  159. package/docs/guides/install/workspaces.md +0 -70
  160. package/docs/guides/install/yarnlock.md +0 -44
  161. package/docs/guides/process/argv.md +0 -58
  162. package/docs/guides/process/ctrl-c.md +0 -16
  163. package/docs/guides/process/ipc.md +0 -66
  164. package/docs/guides/process/nanoseconds.md +0 -13
  165. package/docs/guides/process/os-signals.md +0 -39
  166. package/docs/guides/process/spawn-stderr.md +0 -31
  167. package/docs/guides/process/spawn-stdout.md +0 -26
  168. package/docs/guides/process/spawn.md +0 -41
  169. package/docs/guides/process/stdin.md +0 -54
  170. package/docs/guides/read-file/arraybuffer.md +0 -28
  171. package/docs/guides/read-file/buffer.md +0 -19
  172. package/docs/guides/read-file/exists.md +0 -16
  173. package/docs/guides/read-file/json.md +0 -17
  174. package/docs/guides/read-file/mime.md +0 -20
  175. package/docs/guides/read-file/stream.md +0 -26
  176. package/docs/guides/read-file/string.md +0 -22
  177. package/docs/guides/read-file/uint8array.md +0 -21
  178. package/docs/guides/read-file/watch.md +0 -68
  179. package/docs/guides/runtime/build-time-constants.md +0 -293
  180. package/docs/guides/runtime/cicd.md +0 -43
  181. package/docs/guides/runtime/codesign-macos-executable.md +0 -56
  182. package/docs/guides/runtime/define-constant.md +0 -145
  183. package/docs/guides/runtime/delete-directory.md +0 -37
  184. package/docs/guides/runtime/delete-file.md +0 -19
  185. package/docs/guides/runtime/heap-snapshot.md +0 -26
  186. package/docs/guides/runtime/import-html.md +0 -15
  187. package/docs/guides/runtime/import-json.md +0 -44
  188. package/docs/guides/runtime/import-toml.md +0 -30
  189. package/docs/guides/runtime/import-yaml.md +0 -102
  190. package/docs/guides/runtime/read-env.md +0 -32
  191. package/docs/guides/runtime/set-env.md +0 -47
  192. package/docs/guides/runtime/shell.md +0 -40
  193. package/docs/guides/runtime/timezone.md +0 -35
  194. package/docs/guides/runtime/tsconfig-paths.md +0 -29
  195. package/docs/guides/runtime/typescript.md +0 -49
  196. package/docs/guides/runtime/vscode-debugger.md +0 -47
  197. package/docs/guides/runtime/web-debugger.md +0 -82
  198. package/docs/guides/streams/node-readable-to-arraybuffer.md +0 -11
  199. package/docs/guides/streams/node-readable-to-blob.md +0 -11
  200. package/docs/guides/streams/node-readable-to-json.md +0 -12
  201. package/docs/guides/streams/node-readable-to-string.md +0 -12
  202. package/docs/guides/streams/node-readable-to-uint8array.md +0 -11
  203. package/docs/guides/streams/to-array.md +0 -14
  204. package/docs/guides/streams/to-arraybuffer.md +0 -14
  205. package/docs/guides/streams/to-blob.md +0 -14
  206. package/docs/guides/streams/to-buffer.md +0 -15
  207. package/docs/guides/streams/to-json.md +0 -14
  208. package/docs/guides/streams/to-string.md +0 -14
  209. package/docs/guides/streams/to-typedarray.md +0 -22
  210. package/docs/guides/test/bail.md +0 -22
  211. package/docs/guides/test/coverage-threshold.md +0 -60
  212. package/docs/guides/test/coverage.md +0 -44
  213. package/docs/guides/test/happy-dom.md +0 -68
  214. package/docs/guides/test/migrate-from-jest.md +0 -143
  215. package/docs/guides/test/mock-clock.md +0 -48
  216. package/docs/guides/test/mock-functions.md +0 -68
  217. package/docs/guides/test/rerun-each.md +0 -14
  218. package/docs/guides/test/run-tests.md +0 -111
  219. package/docs/guides/test/skip-tests.md +0 -39
  220. package/docs/guides/test/snapshot.md +0 -95
  221. package/docs/guides/test/spy-on.md +0 -46
  222. package/docs/guides/test/svelte-test.md +0 -120
  223. package/docs/guides/test/testing-library.md +0 -92
  224. package/docs/guides/test/timeout.md +0 -15
  225. package/docs/guides/test/todo-tests.md +0 -67
  226. package/docs/guides/test/update-snapshots.md +0 -46
  227. package/docs/guides/test/watch-mode.md +0 -19
  228. package/docs/guides/util/base64.md +0 -15
  229. package/docs/guides/util/deep-equals.md +0 -39
  230. package/docs/guides/util/deflate.md +0 -18
  231. package/docs/guides/util/detect-bun.md +0 -23
  232. package/docs/guides/util/entrypoint.md +0 -17
  233. package/docs/guides/util/escape-html.md +0 -22
  234. package/docs/guides/util/file-url-to-path.md +0 -14
  235. package/docs/guides/util/gzip.md +0 -18
  236. package/docs/guides/util/hash-a-password.md +0 -54
  237. package/docs/guides/util/import-meta-dir.md +0 -13
  238. package/docs/guides/util/import-meta-file.md +0 -13
  239. package/docs/guides/util/import-meta-path.md +0 -13
  240. package/docs/guides/util/javascript-uuid.md +0 -23
  241. package/docs/guides/util/main.md +0 -32
  242. package/docs/guides/util/path-to-file-url.md +0 -14
  243. package/docs/guides/util/sleep.md +0 -22
  244. package/docs/guides/util/version.md +0 -21
  245. package/docs/guides/util/which-path-to-executable-bin.md +0 -15
  246. package/docs/guides/websocket/compression.md +0 -31
  247. package/docs/guides/websocket/context.md +0 -77
  248. package/docs/guides/websocket/pubsub.md +0 -41
  249. package/docs/guides/websocket/simple.md +0 -33
  250. package/docs/guides/write-file/append.md +0 -52
  251. package/docs/guides/write-file/basic.md +0 -44
  252. package/docs/guides/write-file/blob.md +0 -28
  253. package/docs/guides/write-file/cat.md +0 -17
  254. package/docs/guides/write-file/file-cp.md +0 -16
  255. package/docs/guides/write-file/filesink.md +0 -52
  256. package/docs/guides/write-file/response.md +0 -17
  257. package/docs/guides/write-file/stdout.md +0 -21
  258. package/docs/guides/write-file/stream.md +0 -17
  259. package/docs/guides/write-file/unlink.md +0 -16
  260. package/docs/index.md +0 -77
  261. package/docs/install/audit.md +0 -57
  262. package/docs/install/cache.md +0 -59
  263. package/docs/install/catalogs.md +0 -298
  264. package/docs/install/index.md +0 -248
  265. package/docs/install/isolated.md +0 -197
  266. package/docs/install/lifecycle.md +0 -46
  267. package/docs/install/lockfile.md +0 -58
  268. package/docs/install/npmrc.md +0 -105
  269. package/docs/install/overrides.md +0 -73
  270. package/docs/install/patch.md +0 -59
  271. package/docs/install/registries.md +0 -30
  272. package/docs/install/security-scanner-api.md +0 -81
  273. package/docs/install/workspaces.md +0 -114
  274. package/docs/installation.md +0 -327
  275. package/docs/project/asan.md +0 -124
  276. package/docs/project/benchmarking.md +0 -203
  277. package/docs/project/bindgen.md +0 -225
  278. package/docs/project/building-windows.md +0 -162
  279. package/docs/project/contributing.md +0 -347
  280. package/docs/project/internals/build-process-for-ci.md +0 -75
  281. package/docs/project/licensing.md +0 -73
  282. package/docs/project/roadmap.md +0 -87
  283. package/docs/quickstart.md +0 -157
  284. package/docs/runtime/autoimport.md +0 -94
  285. package/docs/runtime/bun-apis.md +0 -207
  286. package/docs/runtime/bunfig.md +0 -772
  287. package/docs/runtime/debugger.md +0 -325
  288. package/docs/runtime/env.md +0 -253
  289. package/docs/runtime/hot.md +0 -145
  290. package/docs/runtime/index.md +0 -312
  291. package/docs/runtime/jsx.md +0 -385
  292. package/docs/runtime/loaders.md +0 -130
  293. package/docs/runtime/modules.md +0 -320
  294. package/docs/runtime/nodejs-apis.md +0 -463
  295. package/docs/runtime/plugins.md +0 -561
  296. package/docs/runtime/shell.md +0 -605
  297. package/docs/runtime/typescript.md +0 -139
  298. package/docs/runtime/web-apis.md +0 -128
  299. package/docs/test/configuration.md +0 -154
  300. package/docs/test/coverage.md +0 -142
  301. package/docs/test/discovery.md +0 -85
  302. package/docs/test/dom.md +0 -75
  303. package/docs/test/examples/concurrent-test-glob.md +0 -132
  304. package/docs/test/hot.md +0 -15
  305. package/docs/test/lifecycle.md +0 -81
  306. package/docs/test/mocks.md +0 -313
  307. package/docs/test/reporters.md +0 -117
  308. package/docs/test/runtime-behavior.md +0 -95
  309. package/docs/test/snapshots.md +0 -68
  310. package/docs/test/time.md +0 -126
  311. package/docs/test/writing.md +0 -825
  312. package/docs/typescript.md +0 -53
@@ -1,37 +0,0 @@
1
- Projects that use Express and other major Node.js HTTP libraries should work out of the box.
2
-
3
- {% callout %}
4
- If you run into bugs, [please file an issue](https://bun.com/issues) _in Bun's repo_, not the library. It is Bun's responsibility to address Node.js compatibility issues.
5
- {% /callout %}
6
-
7
- ```ts
8
- import express from "express";
9
-
10
- const app = express();
11
- const port = 8080;
12
-
13
- app.get("/", (req, res) => {
14
- res.send("Hello World!");
15
- });
16
-
17
- app.listen(port, () => {
18
- console.log(`Listening on port ${port}...`);
19
- });
20
- ```
21
-
22
- Bun implements the [`node:http`](https://nodejs.org/api/http.html) and [`node:https`](https://nodejs.org/api/https.html) modules that these libraries rely on. These modules can also be used directly, though [`Bun.serve`](https://bun.com/docs/api/http) is recommended for most use cases.
23
-
24
- {% callout %}
25
- **Note** — Refer to the [Runtime > Node.js APIs](https://bun.com/docs/runtime/nodejs-apis#node-http) page for more detailed compatibility information.
26
- {% /callout %}
27
-
28
- ```ts
29
- import * as http from "node:http";
30
-
31
- http
32
- .createServer(function (req, res) {
33
- res.write("Hello World!");
34
- res.end();
35
- })
36
- .listen(8080);
37
- ```
@@ -1,18 +0,0 @@
1
- [Hono](https://github.com/honojs/hono) is a lightweight ultrafast web framework designed for the edge.
2
-
3
- ```ts
4
- import { Hono } from "hono";
5
- const app = new Hono();
6
-
7
- app.get("/", c => c.text("Hono!"));
8
-
9
- export default app;
10
- ```
11
-
12
- Get started with `bun create` or follow Hono's [Bun quickstart](https://hono.dev/getting-started/bun).
13
-
14
- ```bash
15
- $ bun create hono ./myapp
16
- $ cd myapp
17
- $ bun run start
18
- ```
@@ -1,65 +0,0 @@
1
- Bun supports `.jsx` and `.tsx` files out of the box. Bun's internal transpiler converts JSX syntax into vanilla JavaScript before execution.
2
-
3
- ```tsx#react.tsx
4
- function Component(props: {message: string}) {
5
- return (
6
- <body>
7
- <h1 style={{color: 'red'}}>{props.message}</h1>
8
- </body>
9
- );
10
- }
11
-
12
- console.log(<Component message="Hello world!" />);
13
- ```
14
-
15
- Bun implements special logging for JSX to make debugging easier.
16
-
17
- ```bash
18
- $ bun run react.tsx
19
- <Component message="Hello world!" />
20
- ```
21
-
22
- ### Prop punning
23
-
24
- The Bun runtime also supports "prop punning" for JSX. This is a shorthand syntax useful for assigning a variable to a prop with the same name.
25
-
26
- ```tsx
27
- function Div(props: {className: string;}) {
28
- const {className} = props;
29
-
30
- // without punning
31
- return <div className={className} />;
32
- // with punning
33
- return <div {className} />;
34
- }
35
- ```
36
-
37
- ### Server-side rendering
38
-
39
- To server-side render (SSR) React in an [HTTP server](https://bun.com/docs/api/http):
40
-
41
- ```tsx#ssr.tsx
42
- import {renderToReadableStream} from 'react-dom/server';
43
-
44
- function Component(props: {message: string}) {
45
- return (
46
- <body>
47
- <h1 style={{color: 'red'}}>{props.message}</h1>
48
- </body>
49
- );
50
- }
51
-
52
- Bun.serve({
53
- port: 4000,
54
- async fetch() {
55
- const stream = await renderToReadableStream(
56
- <Component message="Hello from server!" />
57
- );
58
- return new Response(stream, {
59
- headers: {'Content-Type': 'text/html'},
60
- });
61
- },
62
- });
63
- ```
64
-
65
- React `18.3` and later includes an [SSR optimization](https://github.com/facebook/react/pull/25597) that takes advantage of Bun's "direct" `ReadableStream` implementation.
@@ -1,38 +0,0 @@
1
- [Stric](https://github.com/bunsvr) is a minimalist, fast web framework for Bun.
2
-
3
- ```ts#index.ts
4
- import { Router } from '@stricjs/router';
5
-
6
- // Export the fetch handler and serve with Bun
7
- export default new Router()
8
- // Return 'Hi' on every request
9
- .get('/', () => new Response('Hi'));
10
- ```
11
-
12
- Stric provides support for [ArrowJS](https://www.arrow-js.com), a library for building reactive interfaces.
13
-
14
- {% codetabs %}
15
-
16
- ```ts#src/App.ts
17
- import { html } from '@stricjs/arrow/utils';
18
-
19
- // Code inside this function can use web APIs
20
- export function render() {
21
- // Render a <p> element with text 'Hi'
22
- html`<p>Hi</p>`;
23
- };
24
-
25
- // Set the path to handle
26
- export const path = '/';
27
- ```
28
-
29
- ```ts#index.ts
30
- import { PageRouter } from '@stricjs/arrow';
31
-
32
- // Create a page router, build and serve directly
33
- new PageRouter().serve();
34
- ```
35
-
36
- {% /codetabs %}
37
-
38
- For more info, see Stric's [documentation](https://stricjs.gitbook.io/docs).
@@ -1,27 +0,0 @@
1
- ---
2
- name: Convert an ArrayBuffer to an array of numbers
3
- ---
4
-
5
- To retrieve the contents of an `ArrayBuffer` as an array of numbers, create a [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) over of the buffer. and use the [`Array.from()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) method to convert it to an array.
6
-
7
- ```ts
8
- const buf = new ArrayBuffer(64);
9
- const arr = new Uint8Array(buf);
10
- arr.length; // 64
11
- arr[0]; // 0 (instantiated with all zeros)
12
- ```
13
-
14
- ---
15
-
16
- The `Uint8Array` class supports array indexing and iteration. However if you wish to convert the instance to a regular `Array`, use `Array.from()`. (This will likely be slower than using the `Uint8Array` directly.)
17
-
18
- ```ts
19
- const buf = new ArrayBuffer(64);
20
- const uintArr = new Uint8Array(buf);
21
- const regularArr = Array.from(uintArr);
22
- // number[]
23
- ```
24
-
25
- ---
26
-
27
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,24 +0,0 @@
1
- ---
2
- name: Convert an ArrayBuffer to a Blob
3
- ---
4
-
5
- A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data structure, or another `Blob`.
6
-
7
- ```ts
8
- const buf = new ArrayBuffer(64);
9
- const blob = new Blob([buf]);
10
- ```
11
-
12
- ---
13
-
14
- By default the `type` of the resulting `Blob` will be unset. This can be set manually.
15
-
16
- ```ts
17
- const buf = new ArrayBuffer(64);
18
- const blob = new Blob([buf], { type: "application/octet-stream" });
19
- blob.type; // => "application/octet-stream"
20
- ```
21
-
22
- ---
23
-
24
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,25 +0,0 @@
1
- ---
2
- name: Convert an ArrayBuffer to a Buffer
3
- ---
4
-
5
- The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) API predates the introduction of `ArrayBuffer` into the JavaScript language. Bun implements both.
6
-
7
- Use the static `Buffer.from()` method to create a `Buffer` from an `ArrayBuffer`.
8
-
9
- ```ts
10
- const arrBuffer = new ArrayBuffer(64);
11
- const nodeBuffer = Buffer.from(arrBuffer);
12
- ```
13
-
14
- ---
15
-
16
- To create a `Buffer` that only views a portion of the underlying buffer, pass the offset and length to the constructor.
17
-
18
- ```ts
19
- const arrBuffer = new ArrayBuffer(64);
20
- const nodeBuffer = Buffer.from(arrBuffer, 0, 16); // view first 16 bytes
21
- ```
22
-
23
- ---
24
-
25
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,15 +0,0 @@
1
- ---
2
- name: Convert an ArrayBuffer to a string
3
- ---
4
-
5
- Bun implements the Web-standard [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder) class for converting between binary data types and strings.
6
-
7
- ```ts
8
- const buf = new ArrayBuffer(64);
9
- const decoder = new TextDecoder();
10
- const str = decoder.decode(buf);
11
- ```
12
-
13
- ---
14
-
15
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,39 +0,0 @@
1
- ---
2
- name: Convert an ArrayBuffer to a Uint8Array
3
- ---
4
-
5
- A `Uint8Array` is a _typed array_, meaning it is a mechanism for viewing the data in an underlying `ArrayBuffer`.
6
-
7
- ```ts
8
- const buffer = new ArrayBuffer(64);
9
- const arr = new Uint8Array(buffer);
10
- ```
11
-
12
- ---
13
-
14
- Instances of other typed arrays can be created similarly.
15
-
16
- ```ts
17
- const buffer = new ArrayBuffer(64);
18
-
19
- const arr1 = new Uint8Array(buffer);
20
- const arr2 = new Uint16Array(buffer);
21
- const arr3 = new Uint32Array(buffer);
22
- const arr4 = new Float32Array(buffer);
23
- const arr5 = new Float64Array(buffer);
24
- const arr6 = new BigInt64Array(buffer);
25
- const arr7 = new BigUint64Array(buffer);
26
- ```
27
-
28
- ---
29
-
30
- To create a typed array that only views a portion of the underlying buffer, pass the offset and length to the constructor.
31
-
32
- ```ts
33
- const buffer = new ArrayBuffer(64);
34
- const arr = new Uint8Array(buffer, 0, 16); // view first 16 bytes
35
- ```
36
-
37
- ---
38
-
39
- See [Docs > API > Utils](https://bun.com/docs/api/utils) for more useful utilities.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Blob to an ArrayBuffer
3
- ---
4
-
5
- The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, including `.arrayBuffer()`.
6
-
7
- ```ts
8
- const blob = new Blob(["hello world"]);
9
- const buf = await blob.arrayBuffer();
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Blob to a DataView
3
- ---
4
-
5
- The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats. This snippets reads the contents to an `ArrayBuffer`, then creates a `DataView` from the buffer.
6
-
7
- ```ts
8
- const blob = new Blob(["hello world"]);
9
- const arr = new DataView(await blob.arrayBuffer());
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Blob to a ReadableStream
3
- ---
4
-
5
- The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, including `.stream()`. This returns `Promise<ReadableStream>`.
6
-
7
- ```ts
8
- const blob = new Blob(["hello world"]);
9
- const stream = await blob.stream();
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,15 +0,0 @@
1
- ---
2
- name: Convert a Blob to a string
3
- ---
4
-
5
- The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, including `.text()`.
6
-
7
- ```ts
8
- const blob = new Blob(["hello world"]);
9
- const str = await blob.text();
10
- // => "hello world"
11
- ```
12
-
13
- ---
14
-
15
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Blob to a Uint8Array
3
- ---
4
-
5
- The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats. This snippets reads the contents to an `ArrayBuffer`, then creates a `Uint8Array` from the buffer.
6
-
7
- ```ts
8
- const blob = new Blob(["hello world"]);
9
- const arr = new Uint8Array(await blob.arrayBuffer());
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Buffer to an ArrayBuffer
3
- ---
4
-
5
- The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) class provides a way to view and manipulate data in an underlying `ArrayBuffer`, which is available via the `buffer` property.
6
-
7
- ```ts
8
- const nodeBuf = Buffer.alloc(64);
9
- const arrBuf = nodeBuf.buffer;
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Buffer to a blob
3
- ---
4
-
5
- A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data structure (including `Buffer`), or another `Blob`.
6
-
7
- ```ts
8
- const buf = Buffer.from("hello");
9
- const blob = new Blob([buf]);
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,41 +0,0 @@
1
- ---
2
- name: Convert a Buffer to a ReadableStream
3
- ---
4
-
5
- The naive approach to creating a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) from a [`Buffer`](https://nodejs.org/api/buffer.html) is to use the `ReadableStream` constructor and enqueue the entire array as a single chunk. For a large buffer, this may be undesirable as this approach does not "streaming" the data in smaller chunks.
6
-
7
- ```ts
8
- const buf = Buffer.from("hello world");
9
- const stream = new ReadableStream({
10
- start(controller) {
11
- controller.enqueue(buf);
12
- controller.close();
13
- },
14
- });
15
- ```
16
-
17
- ---
18
-
19
- To stream the data in smaller chunks, first create a `Blob` instance from the `Buffer`. Then use the [`Blob.stream()`](https://developer.mozilla.org/en-US/docs/Web/API/Blob/stream) method to create a `ReadableStream` that streams the data in chunks of a specified size.
20
-
21
- ```ts
22
- const buf = Buffer.from("hello world");
23
- const blob = new Blob([buf]);
24
- const stream = blob.stream();
25
- ```
26
-
27
- ---
28
-
29
- The chunk size can be set by passing a number to the `.stream()` method.
30
-
31
- ```ts
32
- const buf = Buffer.from("hello world");
33
- const blob = new Blob([buf]);
34
-
35
- // set chunk size of 1024 bytes
36
- const stream = blob.stream(1024);
37
- ```
38
-
39
- ---
40
-
41
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,25 +0,0 @@
1
- ---
2
- name: Convert a Buffer to a string
3
- ---
4
-
5
- The [`Buffer`](https://nodejs.org/api/buffer.html) class provides a built-in `.toString()` method that converts a `Buffer` to a string.
6
-
7
- ```ts
8
- const buf = Buffer.from("hello");
9
- const str = buf.toString();
10
- // => "hello"
11
- ```
12
-
13
- ---
14
-
15
- You can optionally specify an encoding and byte range.
16
-
17
- ```ts
18
- const buf = Buffer.from("hello world!");
19
- const str = buf.toString("utf8", 0, 5);
20
- // => "hello"
21
- ```
22
-
23
- ---
24
-
25
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Buffer to a Uint8Array
3
- ---
4
-
5
- The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) class extends [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), so no conversion is needed. All properties and methods on `Uint8Array` are available on `Buffer`.
6
-
7
- ```ts
8
- const buf = Buffer.alloc(64);
9
- buf instanceof Uint8Array; // => true
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,15 +0,0 @@
1
- ---
2
- name: Convert a DataView to a string
3
- ---
4
-
5
- If a [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) contains ASCII-encoded text, you can convert it to a string using the [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder) class.
6
-
7
- ```ts
8
- const dv: DataView = ...;
9
- const decoder = new TextDecoder();
10
- const str = decoder.decode(dv);
11
- ```
12
-
13
- ---
14
-
15
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,25 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to an ArrayBuffer
3
- ---
4
-
5
- A [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is a _typed array_ class, meaning it is a mechanism for viewing data in an underlying `ArrayBuffer`. The underlying `ArrayBuffer` is accessible via the `buffer` property.
6
-
7
- ```ts
8
- const arr = new Uint8Array(64);
9
- arr.buffer; // => ArrayBuffer(64)
10
- ```
11
-
12
- ---
13
-
14
- The `Uint8Array` may be a view over a _subset_ of the data in the underlying `ArrayBuffer`. In this case, the `buffer` property will return the entire buffer, and the `byteOffset` and `byteLength` properties will indicate the subset.
15
-
16
- ```ts
17
- const arr = new Uint8Array(64, 16, 32);
18
- arr.buffer; // => ArrayBuffer(64)
19
- arr.byteOffset; // => 16
20
- arr.byteLength; // => 32
21
- ```
22
-
23
- ---
24
-
25
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,16 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to a Blob
3
- ---
4
-
5
- A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data structure (including `Uint8Array`), or another `Blob`.
6
-
7
- ```ts
8
- const arr = new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f]);
9
- const blob = new Blob([arr]);
10
- console.log(await blob.text());
11
- // => "hello"
12
- ```
13
-
14
- ---
15
-
16
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to a Buffer
3
- ---
4
-
5
- The [`Buffer`](https://nodejs.org/api/buffer.html) class extends [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) with a number of additional methods. Use `Buffer.from()` to create a `Buffer` instance from a `Uint8Array`.
6
-
7
- ```ts
8
- const arr: Uint8Array = ...
9
- const buf = Buffer.from(arr);
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,14 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to a DataView
3
- ---
4
-
5
- A [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is a _typed array_ class, meaning it is a mechanism for viewing data in an underlying `ArrayBuffer`. The following snippet creates a [`DataView`] instance over the same range of data as the `Uint8Array`.
6
-
7
- ```ts
8
- const arr: Uint8Array = ...
9
- const dv = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
10
- ```
11
-
12
- ---
13
-
14
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,41 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to a ReadableStream
3
- ---
4
-
5
- The naive approach to creating a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) from a [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is to use the [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) constructor and enqueue the entire array as a single chunk. For larger chunks, this may be undesirable as it isn't actually "streaming" the data.
6
-
7
- ```ts
8
- const arr = new Uint8Array(64);
9
- const stream = new ReadableStream({
10
- start(controller) {
11
- controller.enqueue(arr);
12
- controller.close();
13
- },
14
- });
15
- ```
16
-
17
- ---
18
-
19
- To stream the data in smaller chunks, first create a `Blob` instance from the `Uint8Array`. Then use the [`Blob.stream()`](https://developer.mozilla.org/en-US/docs/Web/API/Blob/stream) method to create a `ReadableStream` that streams the data in chunks of a specified size.
20
-
21
- ```ts
22
- const arr = new Uint8Array(64);
23
- const blob = new Blob([arr]);
24
- const stream = blob.stream();
25
- ```
26
-
27
- ---
28
-
29
- The chunk size can be set by passing a number to the `.stream()` method.
30
-
31
- ```ts
32
- const arr = new Uint8Array(64);
33
- const blob = new Blob([arr]);
34
-
35
- // set chunk size of 1024 bytes
36
- const stream = blob.stream(1024);
37
- ```
38
-
39
- ---
40
-
41
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.
@@ -1,16 +0,0 @@
1
- ---
2
- name: Convert a Uint8Array to a string
3
- ---
4
-
5
- Bun implements the Web-standard [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder) class for converting from binary data types like `Uint8Array` and strings.
6
-
7
- ```ts
8
- const arr = new Uint8Array([104, 101, 108, 108, 111]);
9
- const decoder = new TextDecoder();
10
- const str = decoder.decode(arr);
11
- // => "hello"
12
- ```
13
-
14
- ---
15
-
16
- See [Docs > API > Binary Data](https://bun.com/docs/api/binary-data#conversion) for complete documentation on manipulating binary data with Bun.