UNPKG

@aws-amplify/core

Version:
63 lines (60 loc) 1.97 kB
import { Dimensions, Platform } from 'react-native'; import { ConsoleLogger } from '../../Logger/ConsoleLogger.mjs'; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 const logger = new ConsoleLogger('getClientInfo'); const getClientInfo = () => { const dim = Dimensions.get('screen'); logger.debug(Platform, dim); const OS = 'ios'; const { Version } = Platform; const { make, model } = dimToMake(dim); return { platform: OS, version: String(Version), appVersion: [OS, String(Version)].join('/'), make, model, }; }; function dimToMake(dim) { let { height, width } = dim; if (height < width) { const tmp = height; height = width; width = tmp; } if (width === 320 && height === 568) { return { make: 'iPhone', model: 'iPhone 5' }; } if (width === 375 && height === 667) { return { make: 'iPhone', model: 'iPhone 6/7/8' }; } if (width === 414 && height === 736) { return { make: 'iPhone', model: 'iPhone 6/7/8 plus' }; } if (width === 375 && height === 812) { return { make: 'iPhone', model: 'iPhone X' }; } if (width === 414 && height === 896) { return { make: 'iPhone', model: 'iPhone XR' }; } if (width === 768 && height === 1024) { return { make: 'iPad', model: 'iPad Mini/Air' }; } if (width === 834 && height === 1112) { return { make: 'iPad', model: 'iPad Pro' }; } if (width === 1024 && height === 1366) { return { make: 'iPad', model: 'iPad Pro' }; } if (width === 272 && height === 340) { return { make: 'Watch', model: 'Watch 38mm' }; } if (width === 312 && height === 390) { return { make: 'Watch', model: 'Watch 42mm' }; } return { make: null, model: null }; } export { getClientInfo }; //# sourceMappingURL=getClientInfo.ios.mjs.map