From 0e8883ac993c890c6b45db374a5e4d1b8a5df467 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 25 Sep 2019 17:00:31 -0700 Subject: [PATCH] Strongly type addSocketListener --- addons/xterm-addon-attach/src/AttachAddon.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/xterm-addon-attach/src/AttachAddon.ts b/addons/xterm-addon-attach/src/AttachAddon.ts index d0bbce16..117b2b58 100644 --- a/addons/xterm-addon-attach/src/AttachAddon.ts +++ b/addons/xterm-addon-attach/src/AttachAddon.ts @@ -25,12 +25,10 @@ export class AttachAddon implements ITerminalAddon { public activate(terminal: Terminal): void { this._disposables.push( - addSocketListener(this._socket, 'message', - (ev: MessageEvent | Event | CloseEvent) => { - const data: ArrayBuffer | string = (ev as any).data; - terminal.write(typeof data === 'string' ? data : new Uint8Array(data)); - } - ) + addSocketListener(this._socket, 'message', ev => { + const data: ArrayBuffer | string = ev.data; + terminal.write(typeof data === 'string' ? data : new Uint8Array(data)); + }) ); if (this._bidirectional) { @@ -55,7 +53,7 @@ export class AttachAddon implements ITerminalAddon { } } -function addSocketListener(socket: WebSocket, type: string, handler: (this: WebSocket, ev: MessageEvent | Event | CloseEvent) => any): IDisposable { +function addSocketListener(socket: WebSocket, type: K, handler: (this: WebSocket, ev: WebSocketEventMap[K]) => any): IDisposable { socket.addEventListener(type, handler); return { dispose: () => {