mirror of
https://github.com/zoriya/elysia.git
synced 2026-08-15 18:44:25 +00:00
26 lines
648 B
TypeScript
26 lines
648 B
TypeScript
import type { Server } from 'bun'
|
|
|
|
export const newWebsocket = (server: Server<any>, path = '/ws') =>
|
|
new WebSocket(`ws://${server.hostname}:${server.port}${path}`, {})
|
|
|
|
export const wsOpen = (ws: WebSocket) =>
|
|
new Promise((resolve) => {
|
|
ws.onopen = resolve
|
|
})
|
|
|
|
export const wsClose = async (ws: WebSocket) =>
|
|
new Promise<CloseEvent>((resolve) => {
|
|
ws.onclose = resolve
|
|
})
|
|
|
|
export const wsClosed = async (ws: WebSocket) => {
|
|
const closed = wsClose(ws)
|
|
ws.close()
|
|
await closed
|
|
}
|
|
|
|
export const wsMessage = (ws: WebSocket) =>
|
|
new Promise<MessageEvent<string | Buffer>>((resolve) => {
|
|
ws.onmessage = resolve
|
|
})
|