BREAKING CHANGE(socketconnection): Stricter typings, smartserve hooks, connection fixes, and tag API change
This commit is contained in:
@@ -13,6 +13,29 @@ export namespace ws {
|
||||
export type RawData = wsTypes.RawData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unified WebSocket type supporting both browser and Node.js environments
|
||||
*/
|
||||
export type TWebSocket = WebSocket | ws.WebSocket;
|
||||
|
||||
/**
|
||||
* Message event type for WebSocket messages (browser and Node.js compatible)
|
||||
*/
|
||||
export type TMessageEvent = MessageEvent | { data: string };
|
||||
|
||||
/**
|
||||
* WebSocket-like interface for adapters (e.g., smartserve peer adapter)
|
||||
*/
|
||||
export interface IWebSocketLike {
|
||||
readyState: number;
|
||||
send(data: string): void;
|
||||
close(code?: number, reason?: string): void;
|
||||
addEventListener(event: 'message', listener: (event: TMessageEvent) => void): void;
|
||||
addEventListener(event: 'close', listener: () => void): void;
|
||||
addEventListener(event: 'error', listener: () => void): void;
|
||||
removeEventListener?(event: string, listener: (...args: any[]) => void): void;
|
||||
}
|
||||
|
||||
// smartserve compatibility interface (for setExternalServer)
|
||||
// This mirrors the IWebSocketPeer interface from smartserve
|
||||
export interface ISmartserveWebSocketPeer {
|
||||
|
||||
Reference in New Issue
Block a user