{"ast":null,"code":"import ReactNativePlatform from \"react-native-web/dist/exports/Platform\";\nimport { isDOMAvailable, canUseEventListeners, canUseViewport, isAsyncDebugging } from \"./environment/browser\";\nif (__DEV__ && typeof \"web\" === 'undefined') {\n  console.warn(`The global process.env.EXPO_OS is not defined. This should be inlined by babel-preset-expo during transformation.`);\n}\nconst nativeSelect = typeof window !== 'undefined' ? ReactNativePlatform.select : function select(specifics) {\n  if (!\"web\") return undefined;\n  if (specifics.hasOwnProperty(\"web\")) {\n    return specifics[\"web\"];\n  } else if (false && specifics.hasOwnProperty('native')) {\n    return specifics.native;\n  } else if (specifics.hasOwnProperty('default')) {\n    return specifics.default;\n  }\n  return undefined;\n};\nconst Platform = {\n  OS: \"web\" || ReactNativePlatform.OS,\n  select: nativeSelect,\n  isDOMAvailable,\n  canUseEventListeners,\n  canUseViewport,\n  isAsyncDebugging\n};\nexport default Platform;","map":{"version":3,"names":["isDOMAvailable","canUseEventListeners","canUseViewport","isAsyncDebugging","__DEV__","console","warn","nativeSelect","window","ReactNativePlatform","select","specifics","undefined","hasOwnProperty","native","default","Platform","OS"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/expo-modules-core/src/Platform.ts"],"sourcesContent":["import { PlatformOSType, Platform as ReactNativePlatform } from 'react-native';\n\nimport {\n  isDOMAvailable,\n  canUseEventListeners,\n  canUseViewport,\n  isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = <T>(specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nif (__DEV__ && typeof process.env.EXPO_OS === 'undefined') {\n  console.warn(\n    `The global process.env.EXPO_OS is not defined. This should be inlined by babel-preset-expo during transformation.`\n  );\n}\n\nconst nativeSelect =\n  typeof window !== 'undefined'\n    ? ReactNativePlatform.select\n    : // process.env.EXPO_OS is injected by `babel-preset-expo` and available in both client and `react-server` environments.\n      // Opt to use the env var when possible, and fallback to the React Native Platform module when it's not (arbitrary bundlers and transformers).\n      function select<T>(specifics: { [platform in PlatformSelectOSType]?: T }): T | undefined {\n        if (!process.env.EXPO_OS) return undefined;\n        if (specifics.hasOwnProperty(process.env.EXPO_OS)) {\n          return specifics[process.env.EXPO_OS as PlatformSelectOSType]!;\n        } else if (process.env.EXPO_OS !== 'web' && specifics.hasOwnProperty('native')) {\n          return specifics.native!;\n        } else if (specifics.hasOwnProperty('default')) {\n          return specifics.default!;\n        }\n        // do nothing...\n        return undefined;\n      };\n\nconst Platform = {\n  /**\n   * Denotes the currently running platform.\n   * Can be one of ios, android, web.\n   */\n  OS: process.env.EXPO_OS || ReactNativePlatform.OS,\n  /**\n   * Returns the value with the matching platform.\n   * Object keys can be any of ios, android, native, web, default.\n   *\n   * @ios ios, native, default\n   * @android android, native, default\n   * @web web, default\n   */\n  select: nativeSelect as PlatformSelect,\n  /**\n   * Denotes if the DOM API is available in the current environment.\n   * The DOM is not available in native React runtimes and Node.js.\n   */\n  isDOMAvailable,\n  /**\n   * Denotes if the current environment can attach event listeners\n   * to the window. This will return false in native React\n   * runtimes and Node.js.\n   */\n  canUseEventListeners,\n  /**\n   * Denotes if the current environment can inspect properties of the\n   * screen on which the current window is being rendered. This will\n   * return false in native React runtimes and Node.js.\n   */\n  canUseViewport,\n  /**\n   * If the JavaScript is being executed in a remote JavaScript environment.\n   * When `true`, synchronous native invocations cannot be executed.\n   */\n  isAsyncDebugging,\n};\n\nexport default Platform;\n"],"mappings":";AAEA,SACEA,cAAc,EACdC,oBAAoB,EACpBC,cAAc,EACdC,gBAAgB;AAOlB,IAAIC,OAAO,IAAI,YAA0B,KAAK,WAAW,EAAE;EACzDC,OAAO,CAACC,IAAI,CACV,mHACF,CAAC;AACH;AAEA,MAAMC,YAAY,GAChB,OAAOC,MAAM,KAAK,WAAW,GACzBC,mBAAmB,CAACC,MAAM,GAG1B,SAASA,MAAMA,CAAIC,SAAqD,EAAiB;EACvF,IAAI,MAAoB,EAAE,OAAOC,SAAS;EAC1C,IAAID,SAAS,CAACE,cAAc,MAAoB,CAAC,EAAE;IACjD,OAAOF,SAAS,OAA6C;EAC/D,CAAC,MAAM,IAAI,SAAiCA,SAAS,CAACE,cAAc,CAAC,QAAQ,CAAC,EAAE;IAC9E,OAAOF,SAAS,CAACG,MAAM;EACzB,CAAC,MAAM,IAAIH,SAAS,CAACE,cAAc,CAAC,SAAS,CAAC,EAAE;IAC9C,OAAOF,SAAS,CAACI,OAAO;EAC1B;EAEA,OAAOH,SAAS;AAClB,CAAC;AAEP,MAAMI,QAAQ,GAAG;EAKfC,EAAE,EAAE,SAAuBR,mBAAmB,CAACQ,EAAE;EASjDP,MAAM,EAAEH,YAA8B;EAKtCP,cAAc;EAMdC,oBAAoB;EAMpBC,cAAc;EAKdC;AACF,CAAC;AAED,eAAea,QAAQ","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}