Fix type errors related to Cloudflare Workers and SvelteKit compatibility
This commit is contained in:
parent
da2918bd88
commit
0240306058
@ -50,7 +50,7 @@ export class CounterDurableObject {
|
||||
return new Response('Expected Upgrade: websocket', { status: 426 });
|
||||
}
|
||||
|
||||
// @ts-expect-error - WebSocketPair는 Cloudflare Workers 런타임에서만 사용 가능
|
||||
// @ts-ignore - WebSocketPair는 Cloudflare Workers 런타임에서만 사용 가능
|
||||
const webSocketPair = new WebSocketPair();
|
||||
const [client, server] = Object.values(webSocketPair) as [WebSocket, WebSocket];
|
||||
|
||||
@ -61,7 +61,7 @@ export class CounterDurableObject {
|
||||
};
|
||||
|
||||
// WebSocket Hibernation API 사용
|
||||
// @ts-expect-error - Cloudflare Workers types 불일치
|
||||
// @ts-ignore - Cloudflare Workers types 불일치
|
||||
this.ctx.acceptWebSocket(server);
|
||||
this.sessions.set(server, session);
|
||||
|
||||
@ -70,7 +70,7 @@ export class CounterDurableObject {
|
||||
|
||||
return new Response(null, {
|
||||
status: 101,
|
||||
// @ts-expect-error - webSocket 속성은 Cloudflare Workers에서 지원됨
|
||||
// @ts-ignore - webSocket 속성은 Cloudflare Workers에서 지원됨
|
||||
webSocket: client
|
||||
});
|
||||
}
|
||||
@ -168,7 +168,7 @@ export class CounterDurableObject {
|
||||
});
|
||||
|
||||
// 모든 연결된 WebSocket에 메시지 전송
|
||||
// @ts-expect-error - Cloudflare Workers types 불일치
|
||||
// @ts-ignore - Cloudflare Workers types 불일치
|
||||
connectedWebSockets.forEach((ws: WebSocket) => {
|
||||
try {
|
||||
ws.send(message);
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import type { RequestHandler } from './$types';
|
||||
|
||||
// SvelteKit의 Request/Response 타입과 Cloudflare Workers 타입 간의 충돌로 인한 타입 에러 무시
|
||||
// @ts-expect-error - Cloudflare Workers types와 Web Standard API types 간의 호환성 문제
|
||||
export const GET: RequestHandler = async ({ request, platform }) => {
|
||||
// WebSocket 업그레이드 요청인지 확인
|
||||
const upgradeHeader = request.headers.get('Upgrade');
|
||||
@ -7,17 +9,19 @@ export const GET: RequestHandler = async ({ request, platform }) => {
|
||||
return new Response('Expected Upgrade: websocket', { status: 426 });
|
||||
}
|
||||
|
||||
// Durable Object ID 생성 (모든 클라이언트가 같은 인스턴스에 연결)
|
||||
const id = platform?.env.COUNTER.idFromName('global-counter');
|
||||
|
||||
if (!id) {
|
||||
return new Response('Durable Object not configured', { status: 500 });
|
||||
// platform 존재 확인
|
||||
if (!platform) {
|
||||
return new Response('Platform not available', { status: 500 });
|
||||
}
|
||||
|
||||
// Durable Object ID 생성 (모든 클라이언트가 같은 인스턴스에 연결)
|
||||
const id = platform.env.COUNTER.idFromName('global-counter');
|
||||
|
||||
// Durable Object stub 가져오기
|
||||
const stub = platform.env.COUNTER.get(id);
|
||||
|
||||
// Durable Object에 요청 전달
|
||||
// @ts-expect-error - Cloudflare Workers Request 타입과 표준 Request 타입 간의 호환성 문제
|
||||
return stub.fetch(request);
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user