@@ -596,15 +596,42 @@ export class DenoWorker {
596596 /**
597597 * Removes the given listener for the "message" event.
598598 * @param type The type of the event. (Always "message")
599- * @param listener The listener to add for the event.
599+ * @param listener The listener to remove for the event.
600+ */
601+ removeEventListener ( type : 'message' , listener : OnMessageListener ) : void ;
602+
603+ /**
604+ * Removes the given listener for the "exit" event.
605+ * @param type The type of the event. (Always "exit")
606+ * @param listener The listener to remove for the event.
607+ */
608+ removeEventListener ( type : 'exit' , listener : OnExitListener ) : void ;
609+
610+ /**
611+ * Removes the given listener for the "message" or "exit" event.
612+ * @param type The type of the event. (Always either "message" or "exit")
613+ * @param listener The listener to remove for the event.
600614 */
601- removeEventListener ( type : 'message' , listener : OnMessageListener ) : void {
615+ removeEventListener (
616+ type : 'message' | 'exit' ,
617+ listener : OnMessageListener | OnExitListener
618+ ) : void {
602619 if ( type === 'message' ) {
603- const index = this . _onmessageListeners . indexOf ( listener ) ;
620+ const index = this . _onmessageListeners . indexOf (
621+ listener as OnMessageListener
622+ ) ;
604623 if ( index >= 0 ) {
605624 this . _onmessageListeners . splice ( index , 1 ) ;
606625 }
607626 }
627+ if ( type === 'exit' ) {
628+ const index = this . _onexitListeners . indexOf (
629+ listener as OnExitListener
630+ ) ;
631+ if ( index >= 0 ) {
632+ this . _onexitListeners . splice ( index , 1 ) ;
633+ }
634+ }
608635 }
609636
610637 private _postMessage (
0 commit comments