{"version":3,"file":"Reachability.mjs","sources":["../../../src/Reachability/Reachability.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Observable, from } from 'rxjs';\nimport { isWebWorker } from '../utils';\nexport class Reachability {\n    networkMonitor(_) {\n        const globalObj = isWebWorker()\n            ? self\n            : typeof window !== 'undefined' && window;\n        if (!globalObj) {\n            return from([{ online: true }]);\n        }\n        return new Observable(observer => {\n            observer.next({ online: globalObj.navigator.onLine });\n            const notifyOnline = () => {\n                observer.next({ online: true });\n            };\n            const notifyOffline = () => {\n                observer.next({ online: false });\n            };\n            globalObj.addEventListener('online', notifyOnline);\n            globalObj.addEventListener('offline', notifyOffline);\n            Reachability._observers.push(observer);\n            return () => {\n                globalObj.removeEventListener('online', notifyOnline);\n                globalObj.removeEventListener('offline', notifyOffline);\n                Reachability._observers = Reachability._observers.filter(_observer => _observer !== observer);\n            };\n        });\n    }\n    // expose observers to simulate offline mode for integration testing\n    static _observerOverride(status) {\n        for (const observer of this._observers) {\n            if (observer.closed) {\n                this._observers = this._observers.filter(_observer => _observer !== observer);\n                continue;\n            }\n            observer?.next && observer.next(status);\n        }\n    }\n}\nReachability._observers = [];\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AAGO,MAAM,YAAY,CAAC;AAC1B,IAAI,cAAc,CAAC,CAAC,EAAE;AACtB,QAAQ,MAAM,SAAS,GAAG,WAAW;AACrC,cAAc;AACd,cAAc,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM;AACrD,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,YAAY,OAAO,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,QAAQ;AACR,QAAQ,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAI;AAC1C,YAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AACjE,YAAY,MAAM,YAAY,GAAG,MAAM;AACvC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAY,CAAC;AACb,YAAY,MAAM,aAAa,GAAG,MAAM;AACxC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAChD,YAAY,CAAC;AACb,YAAY,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC9D,YAAY,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;AAChE,YAAY,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClD,YAAY,OAAO,MAAM;AACzB,gBAAgB,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACrE,gBAAgB,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACvE,gBAAgB,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,QAAQ,CAAC;AAC7G,YAAY,CAAC;AACb,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA,IAAI,OAAO,iBAAiB,CAAC,MAAM,EAAE;AACrC,QAAQ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAChD,YAAY,IAAI,QAAQ,CAAC,MAAM,EAAE;AACjC,gBAAgB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,QAAQ,CAAC;AAC7F,gBAAgB;AAChB,YAAY;AACZ,YAAY,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AACnD,QAAQ;AACR,IAAI;AACJ;AACA,YAAY,CAAC,UAAU,GAAG,EAAE;;;;"}