export class OnlineStatus extends ObservableValue {
constructor() {
super();
this._onOffline = this._onOffline.bind(this);
this._onOnline = this._onOnline.bind(this);
}
_onOffline() {
this.emit(false);
_onOnline() {
this.emit(true);
get value() {
return navigator.onLine;
onSubscribeFirst() {
window.addEventListener('offline', this._onOffline);
window.addEventListener('online', this._onOnline);
onUnsubscribeLast() {
window.removeEventListener('offline', this._onOffline);
window.removeEventListener('online', this._onOnline);