mirror of
https://github.com/LukeHagar/crossws.git
synced 2025-12-06 04:19:26 +00:00
refactor: import bun types from @types/bun
Co-authored-by: Divyansh Singh <40380293+brc-dd@users.noreply.github.com>
This commit is contained in:
@@ -6,7 +6,7 @@ export default defineBuildConfig({
|
||||
rollup: {
|
||||
inlineDependencies: true,
|
||||
},
|
||||
externals: ["@cloudflare/workers-types", "bun-types"],
|
||||
externals: ["@cloudflare/workers-types", "bun"],
|
||||
hooks: {
|
||||
async "build:done"(ctx) {
|
||||
const entries = Object.keys(ctx.pkg.exports || {})
|
||||
|
||||
@@ -74,10 +74,10 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20240117.0",
|
||||
"@types/bun": "^1.0.4",
|
||||
"@types/node": "^20.11.10",
|
||||
"@types/web": "^0.0.135",
|
||||
"@types/ws": "^8.5.10",
|
||||
"bun-types": "^1.0.25",
|
||||
"changelogen": "^0.5.5",
|
||||
"consola": "^3.2.3",
|
||||
"eslint": "^8.56.0",
|
||||
|
||||
12
pnpm-lock.yaml
generated
12
pnpm-lock.yaml
generated
@@ -8,6 +8,9 @@ devDependencies:
|
||||
'@cloudflare/workers-types':
|
||||
specifier: ^4.20240117.0
|
||||
version: 4.20240117.0
|
||||
'@types/bun':
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4
|
||||
'@types/node':
|
||||
specifier: ^20.11.10
|
||||
version: 20.11.10
|
||||
@@ -17,9 +20,6 @@ devDependencies:
|
||||
'@types/ws':
|
||||
specifier: ^8.5.10
|
||||
version: 8.5.10
|
||||
bun-types:
|
||||
specifier: ^1.0.25
|
||||
version: 1.0.25
|
||||
changelogen:
|
||||
specifier: ^0.5.5
|
||||
version: 0.5.5
|
||||
@@ -967,6 +967,12 @@ packages:
|
||||
engines: {node: '>=10.13.0'}
|
||||
dev: true
|
||||
|
||||
/@types/bun@1.0.4:
|
||||
resolution: {integrity: sha512-2DO7sqwtpko3d3XP2kLpJsOkV12sSRt8cFR955JVB60m1DiXE56T+gJq+DcCczQ5khxgCDQKkyBRlgg5VH33Dw==}
|
||||
dependencies:
|
||||
bun-types: 1.0.25
|
||||
dev: true
|
||||
|
||||
/@types/estree@1.0.5:
|
||||
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
|
||||
dev: true
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// https://bun.sh/docs/api/websockets
|
||||
|
||||
// @ts-expect-error
|
||||
import type {} from "bun-types";
|
||||
import type { WebSocketHandler, ServerWebSocket } from "bun";
|
||||
|
||||
import { WebSocketMessage } from "../message";
|
||||
import { WebSocketError } from "../error";
|
||||
@@ -12,20 +11,13 @@ export interface AdapterOptions {}
|
||||
|
||||
type ContextData = { _peer?: WebSocketPeer };
|
||||
|
||||
type WebSocketHooks = Extract<
|
||||
Parameters<typeof Bun.serve<ContextData>>[0],
|
||||
{ websocket: any }
|
||||
>["websocket"];
|
||||
|
||||
type ServerWebSocket = Parameters<WebSocketHooks["message"]>[0];
|
||||
|
||||
export interface Adapter {
|
||||
websocket: WebSocketHooks;
|
||||
websocket: WebSocketHandler<ContextData>;
|
||||
}
|
||||
|
||||
export default defineWebSocketAdapter<Adapter, AdapterOptions>(
|
||||
(hooks, opts = {}) => {
|
||||
const getPeer = (ws: ServerWebSocket) => {
|
||||
const getPeer = (ws: ServerWebSocket<ContextData>) => {
|
||||
if (ws.data?._peer) {
|
||||
return ws.data._peer;
|
||||
}
|
||||
@@ -76,7 +68,7 @@ export default defineWebSocketAdapter<Adapter, AdapterOptions>(
|
||||
);
|
||||
|
||||
class WebSocketPeer extends WebSocketPeerBase<{
|
||||
bun: { ws: ServerWebSocket };
|
||||
bun: { ws: ServerWebSocket<ContextData> };
|
||||
}> {
|
||||
get id() {
|
||||
let addr = this.ctx.bun.ws.remoteAddress;
|
||||
|
||||
Reference in New Issue
Block a user