Skip to content

Commit

Permalink
Make the "WebSocketAdapter.removeEventListener" optional to ensure th…
Browse files Browse the repository at this point in the history
…at a builder's subclass does not get broken
  • Loading branch information
simmkyu committed Feb 8, 2022
1 parent 1e3237d commit 29ad75b
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/interfaces/websocketadapter.html
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ <h4 class="tsd-returns-title">Returns <a href="../enums/websocketreadystate.html
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="removeeventlistener" class="tsd-anchor"></a>
<h3>remove<wbr>Event<wbr>Listener</h3>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> remove<wbr>Event<wbr>Listener</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">remove<wbr>Event<wbr>Listener<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, eventListener<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EventListener</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
Expand Down
4 changes: 2 additions & 2 deletions src/signalingclient/DefaultSignalingClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -220,13 +220,13 @@ export default class DefaultSignalingClient implements SignalingClient {
DefaultSignalingClient.CLOSE_EVENT_TIMEOUT_MS
);
const handler = (event: CloseEvent): void => {
this.webSocket.removeEventListener('close', handler);
this.webSocket?.removeEventListener('close', handler);
scheduler.stop();
this.closeEventHandler(event);
};

// Remove the existing close handler to prevent SDK from opening a new connection.
this.webSocket.removeEventListener('close', this.closeEventHandler);
this.webSocket?.removeEventListener('close', this.closeEventHandler);
this.webSocket.addEventListener('close', handler);
scheduler.start(() => {
handler(
Expand Down
2 changes: 1 addition & 1 deletion src/websocketadapter/WebSocketAdapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export default interface WebSocketAdapter {
* @param handler The handler being assigned.
* @param eventListener The event listener to add.
*/
removeEventListener(handler: string, eventListener: EventListener): void;
removeEventListener?(handler: string, eventListener: EventListener): void;

/**
* Returns the ready state.
Expand Down

0 comments on commit 29ad75b

Please sign in to comment.