1import { CellularGeneration } from './Cellular.types'; 2 3export default { 4 get allowsVoip(): null { 5 return null; 6 }, 7 get carrier(): null { 8 return null; 9 }, 10 get isoCountryCode(): null { 11 return null; 12 }, 13 get mobileCountryCode(): null { 14 return null; 15 }, 16 get mobileNetworkCode(): null { 17 return null; 18 }, 19 async getCellularGenerationAsync(): Promise<CellularGeneration> { 20 const connection = 21 // @ts-expect-error 22 navigator.connection || navigator.mozConnection || navigator.webkitConnection || null; 23 if (connection !== null) { 24 switch (connection.effectiveType) { 25 case 'slow-2g': 26 case '2g': 27 return CellularGeneration.CELLULAR_2G; 28 case '3g': 29 return CellularGeneration.CELLULAR_3G; 30 case '4g': 31 return CellularGeneration.CELLULAR_4G; 32 default: 33 return CellularGeneration.UNKNOWN; 34 } 35 } else { 36 return CellularGeneration.UNKNOWN; 37 } 38 }, 39 40 async allowsVoipAsync(): Promise<boolean | null> { 41 return null; 42 }, 43 async getIsoCountryCodeAsync(): Promise<string | null> { 44 return null; 45 }, 46 async getCarrierNameAsync(): Promise<string | null> { 47 return null; 48 }, 49 async getMobileCountryCodeAsync(): Promise<string | null> { 50 return null; 51 }, 52 async getMobileNetworkCodeAsync(): Promise<string | null> { 53 return null; 54 }, 55}; 56