Private events
events: Observable<any> = new Observable((emitter: Subscriber<string>) => {const socket = this.webSocketFactory();socket.onopen = () => {this.logger.debug("RxWebSocket_socket: #onopen");this.webSocketAsync!.next(socket);this.webSocketAsync!.complete();};socket.onclose = (event: CloseEvent) => {this.logger.debug(`RxWebSocket_socket: #onclose {wasClean:${event.wasClean}, code: ${event.code}, reason: ${event.reason}}`);if (event.wasClean) {emitter.complete();} else {emitter.error(Error(event.reason));}};socket.onmessage = (message: MessageEvent) => {this.logger.debug(`RxWebSocket_socket: #onmessage ${message}`);emitter.next(message.data);};socket.onerror = (error: ErrorEvent) => {this.logger.debug(`RxWebSocket_socket: #onerror ${error}`);emitter.error(Error(error.message));};}).pipe(debug("RxWebSocket_events", this.logger))