class NetworkMonitor { constructor() { this._eventEmitters = []; if (typeof window !== "undefined" && typeof window.addEventListener !== "undefined") { window.addEventListener("online", () => this.trigger("online")); window.addEventListener("offline", () => this.trigger("offline")); } } on(event, callback) { this._eventEmitters.push({ event, callback, }); } trigger(event) { let eventEmitters = []; if (event) { eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === event); } eventEmitters.forEach((eventEmitter) => { eventEmitter.callback(); }); } } export default NetworkMonitor; //# sourceMappingURL=network.js.map