import { FKNavigator } from "./../../interfaces/FKWindow"; import { NativeModule } from "../../managers/NativeModuleHelper"; import { NetworkInfoModule } from "../../interfaces/NetworkInfoModule"; export default class NetworkInfoModuleImpl extends NativeModule implements NetworkInfoModule { public isOnline(): Promise { return new Promise((resolve) => { resolve(navigator.onLine); }) as Promise; } public getNetworkEffectiveType(): Promise { return new Promise((resolve, reject) => { const fkNavigator = navigator as FKNavigator; const connection = fkNavigator.connection || fkNavigator.mozConnection || fkNavigator.webkitConnection; const effectiveType: string | undefined = connection && connection.effectiveType; if (effectiveType) { resolve(effectiveType); } else { reject(undefined); } }) as Promise; } }