bun-types 1.3.2-canary.20251105T140650 → 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.
- package/docs/README.md +28 -0
- package/package.json +1 -1
- package/docs/api/binary-data.md +0 -1038
- package/docs/api/cc.md +0 -197
- package/docs/api/color.md +0 -262
- package/docs/api/console.md +0 -57
- package/docs/api/cookie.md +0 -449
- package/docs/api/dns.md +0 -110
- package/docs/api/fetch.md +0 -463
- package/docs/api/ffi.md +0 -557
- package/docs/api/file-io.md +0 -366
- package/docs/api/file-system-router.md +0 -112
- package/docs/api/file.md +0 -19
- package/docs/api/glob.md +0 -178
- package/docs/api/globals.md +0 -387
- package/docs/api/hashing.md +0 -319
- package/docs/api/html-rewriter.md +0 -334
- package/docs/api/http.md +0 -1408
- package/docs/api/import-meta.md +0 -69
- package/docs/api/node-api.md +0 -14
- package/docs/api/redis.md +0 -597
- package/docs/api/s3.md +0 -850
- package/docs/api/secrets.md +0 -319
- package/docs/api/semver.md +0 -52
- package/docs/api/spawn.md +0 -582
- package/docs/api/sql.md +0 -1374
- package/docs/api/sqlite.md +0 -694
- package/docs/api/streams.md +0 -230
- package/docs/api/tcp.md +0 -221
- package/docs/api/transpiler.md +0 -276
- package/docs/api/udp.md +0 -123
- package/docs/api/utils.md +0 -891
- package/docs/api/websockets.md +0 -573
- package/docs/api/workers.md +0 -322
- package/docs/api/yaml.md +0 -668
- package/docs/benchmarks.md +0 -120
- package/docs/bun-flavored-toml.md +0 -42
- package/docs/bundler/css.md +0 -1028
- package/docs/bundler/css_modules.md +0 -145
- package/docs/bundler/executables.md +0 -626
- package/docs/bundler/fullstack.md +0 -418
- package/docs/bundler/hmr.md +0 -234
- package/docs/bundler/html.md +0 -349
- package/docs/bundler/index.md +0 -1735
- package/docs/bundler/intro.md +0 -75
- package/docs/bundler/loaders.md +0 -410
- package/docs/bundler/macros.md +0 -329
- package/docs/bundler/plugins.md +0 -449
- package/docs/bundler/vs-esbuild.md +0 -1127
- package/docs/cli/add.md +0 -173
- package/docs/cli/bun-completions.md +0 -3
- package/docs/cli/bun-create.md +0 -338
- package/docs/cli/bun-install.md +0 -349
- package/docs/cli/bun-upgrade.md +0 -39
- package/docs/cli/bunx.md +0 -89
- package/docs/cli/filter.md +0 -90
- package/docs/cli/info.md +0 -65
- package/docs/cli/init.md +0 -85
- package/docs/cli/install.md +0 -344
- package/docs/cli/link.md +0 -40
- package/docs/cli/outdated.md +0 -90
- package/docs/cli/patch-commit.md +0 -11
- package/docs/cli/pm.md +0 -285
- package/docs/cli/publish.md +0 -120
- package/docs/cli/remove.md +0 -7
- package/docs/cli/run.md +0 -261
- package/docs/cli/test.md +0 -397
- package/docs/cli/unlink.md +0 -9
- package/docs/cli/update.md +0 -129
- package/docs/cli/why.md +0 -67
- package/docs/contributing/upgrading-webkit.md +0 -57
- package/docs/ecosystem/elysia.md +0 -24
- package/docs/ecosystem/express.md +0 -37
- package/docs/ecosystem/hono.md +0 -18
- package/docs/ecosystem/react.md +0 -65
- package/docs/ecosystem/stric.md +0 -38
- package/docs/guides/binary/arraybuffer-to-array.md +0 -27
- package/docs/guides/binary/arraybuffer-to-blob.md +0 -24
- package/docs/guides/binary/arraybuffer-to-buffer.md +0 -25
- package/docs/guides/binary/arraybuffer-to-string.md +0 -15
- package/docs/guides/binary/arraybuffer-to-typedarray.md +0 -39
- package/docs/guides/binary/blob-to-arraybuffer.md +0 -14
- package/docs/guides/binary/blob-to-dataview.md +0 -14
- package/docs/guides/binary/blob-to-stream.md +0 -14
- package/docs/guides/binary/blob-to-string.md +0 -15
- package/docs/guides/binary/blob-to-typedarray.md +0 -14
- package/docs/guides/binary/buffer-to-arraybuffer.md +0 -14
- package/docs/guides/binary/buffer-to-blob.md +0 -14
- package/docs/guides/binary/buffer-to-readablestream.md +0 -41
- package/docs/guides/binary/buffer-to-string.md +0 -25
- package/docs/guides/binary/buffer-to-typedarray.md +0 -14
- package/docs/guides/binary/dataview-to-string.md +0 -15
- package/docs/guides/binary/typedarray-to-arraybuffer.md +0 -25
- package/docs/guides/binary/typedarray-to-blob.md +0 -16
- package/docs/guides/binary/typedarray-to-buffer.md +0 -14
- package/docs/guides/binary/typedarray-to-dataview.md +0 -14
- package/docs/guides/binary/typedarray-to-readablestream.md +0 -41
- package/docs/guides/binary/typedarray-to-string.md +0 -16
- package/docs/guides/deployment/railway.md +0 -157
- package/docs/guides/ecosystem/astro.md +0 -72
- package/docs/guides/ecosystem/discordjs.md +0 -77
- package/docs/guides/ecosystem/docker.md +0 -140
- package/docs/guides/ecosystem/drizzle.md +0 -185
- package/docs/guides/ecosystem/edgedb.md +0 -228
- package/docs/guides/ecosystem/elysia.md +0 -31
- package/docs/guides/ecosystem/express.md +0 -40
- package/docs/guides/ecosystem/hono.md +0 -39
- package/docs/guides/ecosystem/mongoose.md +0 -87
- package/docs/guides/ecosystem/neon-drizzle.md +0 -220
- package/docs/guides/ecosystem/neon-serverless-postgres.md +0 -55
- package/docs/guides/ecosystem/nextjs.md +0 -49
- package/docs/guides/ecosystem/nuxt.md +0 -56
- package/docs/guides/ecosystem/pm2.md +0 -57
- package/docs/guides/ecosystem/prisma.md +0 -141
- package/docs/guides/ecosystem/qwik.md +0 -107
- package/docs/guides/ecosystem/react.md +0 -50
- package/docs/guides/ecosystem/remix.md +0 -78
- package/docs/guides/ecosystem/render.md +0 -79
- package/docs/guides/ecosystem/sentry.md +0 -52
- package/docs/guides/ecosystem/solidstart.md +0 -58
- package/docs/guides/ecosystem/ssr-react.md +0 -51
- package/docs/guides/ecosystem/stric.md +0 -55
- package/docs/guides/ecosystem/sveltekit.md +0 -125
- package/docs/guides/ecosystem/systemd.md +0 -113
- package/docs/guides/ecosystem/vite.md +0 -71
- package/docs/guides/html-rewriter/extract-links.md +0 -68
- package/docs/guides/html-rewriter/extract-social-meta.md +0 -93
- package/docs/guides/http/cluster.md +0 -66
- package/docs/guides/http/fetch-unix.md +0 -33
- package/docs/guides/http/fetch.md +0 -24
- package/docs/guides/http/file-uploads.md +0 -94
- package/docs/guides/http/hot.md +0 -26
- package/docs/guides/http/proxy.md +0 -24
- package/docs/guides/http/server.md +0 -46
- package/docs/guides/http/simple.md +0 -18
- package/docs/guides/http/stream-file.md +0 -48
- package/docs/guides/http/stream-iterator.md +0 -47
- package/docs/guides/http/stream-node-streams-in-bun.md +0 -20
- package/docs/guides/http/tls.md +0 -30
- package/docs/guides/install/add-dev.md +0 -26
- package/docs/guides/install/add-git.md +0 -36
- package/docs/guides/install/add-optional.md +0 -25
- package/docs/guides/install/add-peer.md +0 -43
- package/docs/guides/install/add-tarball.md +0 -33
- package/docs/guides/install/add.md +0 -42
- package/docs/guides/install/azure-artifacts.md +0 -73
- package/docs/guides/install/cicd.md +0 -41
- package/docs/guides/install/custom-registry.md +0 -30
- package/docs/guides/install/from-npm-install-to-bun-install.md +0 -214
- package/docs/guides/install/git-diff-bun-lockfile.md +0 -44
- package/docs/guides/install/jfrog-artifactory.md +0 -28
- package/docs/guides/install/npm-alias.md +0 -23
- package/docs/guides/install/registry-scope.md +0 -38
- package/docs/guides/install/trusted.md +0 -46
- package/docs/guides/install/workspaces.md +0 -70
- package/docs/guides/install/yarnlock.md +0 -44
- package/docs/guides/process/argv.md +0 -58
- package/docs/guides/process/ctrl-c.md +0 -16
- package/docs/guides/process/ipc.md +0 -66
- package/docs/guides/process/nanoseconds.md +0 -13
- package/docs/guides/process/os-signals.md +0 -39
- package/docs/guides/process/spawn-stderr.md +0 -31
- package/docs/guides/process/spawn-stdout.md +0 -26
- package/docs/guides/process/spawn.md +0 -41
- package/docs/guides/process/stdin.md +0 -54
- package/docs/guides/read-file/arraybuffer.md +0 -28
- package/docs/guides/read-file/buffer.md +0 -19
- package/docs/guides/read-file/exists.md +0 -16
- package/docs/guides/read-file/json.md +0 -17
- package/docs/guides/read-file/mime.md +0 -20
- package/docs/guides/read-file/stream.md +0 -26
- package/docs/guides/read-file/string.md +0 -22
- package/docs/guides/read-file/uint8array.md +0 -21
- package/docs/guides/read-file/watch.md +0 -68
- package/docs/guides/runtime/build-time-constants.md +0 -293
- package/docs/guides/runtime/cicd.md +0 -43
- package/docs/guides/runtime/codesign-macos-executable.md +0 -56
- package/docs/guides/runtime/define-constant.md +0 -145
- package/docs/guides/runtime/delete-directory.md +0 -37
- package/docs/guides/runtime/delete-file.md +0 -19
- package/docs/guides/runtime/heap-snapshot.md +0 -26
- package/docs/guides/runtime/import-html.md +0 -15
- package/docs/guides/runtime/import-json.md +0 -44
- package/docs/guides/runtime/import-toml.md +0 -30
- package/docs/guides/runtime/import-yaml.md +0 -102
- package/docs/guides/runtime/read-env.md +0 -32
- package/docs/guides/runtime/set-env.md +0 -47
- package/docs/guides/runtime/shell.md +0 -40
- package/docs/guides/runtime/timezone.md +0 -35
- package/docs/guides/runtime/tsconfig-paths.md +0 -29
- package/docs/guides/runtime/typescript.md +0 -49
- package/docs/guides/runtime/vscode-debugger.md +0 -47
- package/docs/guides/runtime/web-debugger.md +0 -82
- package/docs/guides/streams/node-readable-to-arraybuffer.md +0 -11
- package/docs/guides/streams/node-readable-to-blob.md +0 -11
- package/docs/guides/streams/node-readable-to-json.md +0 -12
- package/docs/guides/streams/node-readable-to-string.md +0 -12
- package/docs/guides/streams/node-readable-to-uint8array.md +0 -11
- package/docs/guides/streams/to-array.md +0 -14
- package/docs/guides/streams/to-arraybuffer.md +0 -14
- package/docs/guides/streams/to-blob.md +0 -14
- package/docs/guides/streams/to-buffer.md +0 -15
- package/docs/guides/streams/to-json.md +0 -14
- package/docs/guides/streams/to-string.md +0 -14
- package/docs/guides/streams/to-typedarray.md +0 -22
- package/docs/guides/test/bail.md +0 -22
- package/docs/guides/test/coverage-threshold.md +0 -60
- package/docs/guides/test/coverage.md +0 -44
- package/docs/guides/test/happy-dom.md +0 -68
- package/docs/guides/test/migrate-from-jest.md +0 -143
- package/docs/guides/test/mock-clock.md +0 -48
- package/docs/guides/test/mock-functions.md +0 -68
- package/docs/guides/test/rerun-each.md +0 -14
- package/docs/guides/test/run-tests.md +0 -111
- package/docs/guides/test/skip-tests.md +0 -39
- package/docs/guides/test/snapshot.md +0 -95
- package/docs/guides/test/spy-on.md +0 -46
- package/docs/guides/test/svelte-test.md +0 -120
- package/docs/guides/test/testing-library.md +0 -92
- package/docs/guides/test/timeout.md +0 -15
- package/docs/guides/test/todo-tests.md +0 -67
- package/docs/guides/test/update-snapshots.md +0 -46
- package/docs/guides/test/watch-mode.md +0 -19
- package/docs/guides/util/base64.md +0 -15
- package/docs/guides/util/deep-equals.md +0 -39
- package/docs/guides/util/deflate.md +0 -18
- package/docs/guides/util/detect-bun.md +0 -23
- package/docs/guides/util/entrypoint.md +0 -17
- package/docs/guides/util/escape-html.md +0 -22
- package/docs/guides/util/file-url-to-path.md +0 -14
- package/docs/guides/util/gzip.md +0 -18
- package/docs/guides/util/hash-a-password.md +0 -54
- package/docs/guides/util/import-meta-dir.md +0 -13
- package/docs/guides/util/import-meta-file.md +0 -13
- package/docs/guides/util/import-meta-path.md +0 -13
- package/docs/guides/util/javascript-uuid.md +0 -23
- package/docs/guides/util/main.md +0 -32
- package/docs/guides/util/path-to-file-url.md +0 -14
- package/docs/guides/util/sleep.md +0 -22
- package/docs/guides/util/version.md +0 -21
- package/docs/guides/util/which-path-to-executable-bin.md +0 -15
- package/docs/guides/websocket/compression.md +0 -31
- package/docs/guides/websocket/context.md +0 -77
- package/docs/guides/websocket/pubsub.md +0 -41
- package/docs/guides/websocket/simple.md +0 -33
- package/docs/guides/write-file/append.md +0 -52
- package/docs/guides/write-file/basic.md +0 -44
- package/docs/guides/write-file/blob.md +0 -28
- package/docs/guides/write-file/cat.md +0 -17
- package/docs/guides/write-file/file-cp.md +0 -16
- package/docs/guides/write-file/filesink.md +0 -52
- package/docs/guides/write-file/response.md +0 -17
- package/docs/guides/write-file/stdout.md +0 -21
- package/docs/guides/write-file/stream.md +0 -17
- package/docs/guides/write-file/unlink.md +0 -16
- package/docs/index.md +0 -77
- package/docs/install/audit.md +0 -57
- package/docs/install/cache.md +0 -59
- package/docs/install/catalogs.md +0 -298
- package/docs/install/index.md +0 -248
- package/docs/install/isolated.md +0 -197
- package/docs/install/lifecycle.md +0 -46
- package/docs/install/lockfile.md +0 -58
- package/docs/install/npmrc.md +0 -105
- package/docs/install/overrides.md +0 -73
- package/docs/install/patch.md +0 -59
- package/docs/install/registries.md +0 -30
- package/docs/install/security-scanner-api.md +0 -81
- package/docs/install/workspaces.md +0 -114
- package/docs/installation.md +0 -327
- package/docs/project/asan.md +0 -124
- package/docs/project/benchmarking.md +0 -203
- package/docs/project/bindgen.md +0 -225
- package/docs/project/building-windows.md +0 -162
- package/docs/project/contributing.md +0 -347
- package/docs/project/internals/build-process-for-ci.md +0 -75
- package/docs/project/licensing.md +0 -73
- package/docs/project/roadmap.md +0 -87
- package/docs/quickstart.md +0 -157
- package/docs/runtime/autoimport.md +0 -94
- package/docs/runtime/bun-apis.md +0 -207
- package/docs/runtime/bunfig.md +0 -772
- package/docs/runtime/debugger.md +0 -325
- package/docs/runtime/env.md +0 -253
- package/docs/runtime/hot.md +0 -145
- package/docs/runtime/index.md +0 -312
- package/docs/runtime/jsx.md +0 -385
- package/docs/runtime/loaders.md +0 -130
- package/docs/runtime/modules.md +0 -320
- package/docs/runtime/nodejs-apis.md +0 -463
- package/docs/runtime/plugins.md +0 -561
- package/docs/runtime/shell.md +0 -605
- package/docs/runtime/typescript.md +0 -139
- package/docs/runtime/web-apis.md +0 -128
- package/docs/test/configuration.md +0 -154
- package/docs/test/coverage.md +0 -142
- package/docs/test/discovery.md +0 -85
- package/docs/test/dom.md +0 -75
- package/docs/test/examples/concurrent-test-glob.md +0 -132
- package/docs/test/hot.md +0 -15
- package/docs/test/lifecycle.md +0 -81
- package/docs/test/mocks.md +0 -313
- package/docs/test/reporters.md +0 -117
- package/docs/test/runtime-behavior.md +0 -95
- package/docs/test/snapshots.md +0 -68
- package/docs/test/time.md +0 -126
- package/docs/test/writing.md +0 -825
- 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
|
-
```
|
package/docs/ecosystem/hono.md
DELETED
|
@@ -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
|
-
```
|
package/docs/ecosystem/react.md
DELETED
|
@@ -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.
|
package/docs/ecosystem/stric.md
DELETED
|
@@ -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.
|