refactor: import bun types from @types/bun

Co-authored-by: Divyansh Singh <40380293+brc-dd@users.noreply.github.com>
This commit is contained in:
Pooya Parsa
2024-01-29 12:50:06 +01:00
parent 6e2b296103
commit ba40b53ae0
4 changed files with 15 additions and 17 deletions

View File

@@ -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 || {})

View File

@@ -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
View File

@@ -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

View File

@@ -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;