Skip to content
DocsGuidesReferenceBlog
Install
HomeDocsGuidesReferenceBlog
Install Bun v1.4.0
Reference
Modules/Bun/WebSocketHandler/data
  • Pdata

Modules

  • Bun
  • bun:bundle
  • bun:ffi
  • bun:jsc
  • bun:sqlite
  • bun:test
  • Globals
  • node:assert
  • node:async_hooks
  • node:buffer
  • node:child_process
  • node:cluster
  • node:crypto
  • node:dgram
  • node:diagnostics_channel
  • node:dns
  • node:dns/promises
  • node:events
  • node:ffi
  • node:fs
  • node:fs/promises
  • node:http
  • node:http2
  • node:https
  • node:inspector
  • node:inspector/promises
  • node:module
  • node:net
  • node:os
  • node:path
  • node:perf_hooks
  • node:punycode
  • node:querystring
  • node:quic
  • node:readline
  • node:readline/promises
  • node:stream
  • node:stream/consumers
  • node:stream/iter
  • node:stream/promises
  • node:stream/web
  • node:string_decoder
  • node:test
  • node:test/reporters
  • node:timers/promises
  • node:tls
  • node:trace_events
  • node:tty
  • node:url
  • node:util
  • node:util/types
  • node:v8
  • node:vm
  • node:wasi
  • node:worker_threads
  • node:zlib
  • node:zlib/iter

property

WebSocketHandler.data

data?: T

Specify the type for the ServerWebSocket.data property on connecting websocket clients. You can pass this value when you call Server.upgrade.

This pattern exists in Bun due to a TypeScript limitation (#26242)

Bun.serve({
  websocket: {
    data: {} as { name: string }, // ← Specify the type of `ws.data` like this
    message: (ws, message) => console.log(ws.data.name, 'says:', message);
  },
  // ...
});