import { AndroidManifest, AppOwnership, IOSManifest, PlatformManifest, NativeConstants, UserInterfaceIdiom, WebManifest, } from './Constants.types'; import ExponentConstants from './ExponentConstants'; export { AppOwnership, UserInterfaceIdiom, PlatformManifest, NativeConstants, IOSManifest, AndroidManifest, WebManifest, }; if (!ExponentConstants) { console.warn( "No native ExponentConstants module found, are you sure the expo-constants's module is linked properly?" ); } // On Android we pass the manifest in JSON form so this step is necessary let manifest = null; if (ExponentConstants && ExponentConstants.manifest) { manifest = ExponentConstants.manifest; if (typeof manifest === 'string') { manifest = JSON.parse(manifest); } } const { name, ...constants } = (ExponentConstants || {}) as any; export interface Constants extends NativeConstants { deviceId?: string; linkingUrl?: string; } export default { ...constants, manifest, // Legacy aliases deviceId: constants.installationId, linkingUrl: constants.linkingUri, } as Constants;