UNPKG

expo-splash-screen

Version:

Provides a module to allow keeping the native Splash Screen visible until you choose to hide it.

63 lines (57 loc) 1.88 kB
import { UnavailabilityError } from 'expo-modules-core'; import ExpoSplashScreen from './ExpoSplashScreen'; // @needsAudit /** * Makes the native splash screen (configured in `app.json`) remain visible until `hideAsync` is called. * * > **Important note**: It is recommended to call this in global scope without awaiting, rather than * > inside React components or hooks, because otherwise this might be called too late, * > when the splash screen is already hidden. * * @example * ```ts * import * as SplashScreen from 'expo-splash-screen'; * * SplashScreen.preventAutoHideAsync(); * * export default function App() { * // ... * } * ``` */ export async function preventAutoHideAsync(): Promise<boolean> { if (!ExpoSplashScreen.preventAutoHideAsync) { throw new UnavailabilityError('expo-splash-screen', 'preventAutoHideAsync'); } return await ExpoSplashScreen.preventAutoHideAsync(); } // @needsAudit /** * Hides the native splash screen immediately. Be careful to ensure that your app has content ready * to display when you hide the splash screen, or you may see a blank screen briefly. See the * ["Usage"](#usage) section for an example. */ export async function hideAsync(): Promise<boolean> { if (!ExpoSplashScreen.hideAsync) { throw new UnavailabilityError('expo-splash-screen', 'hideAsync'); } return await ExpoSplashScreen.hideAsync(); } /** * @deprecated Use `SplashScreen.hideAsync()` instead * @ignore */ export function hide(): void { console.warn('SplashScreen.hide() is deprecated in favour of SplashScreen.hideAsync()'); hideAsync(); } /** * @deprecated Use `SplashScreen.preventAutoHideAsync()` instead * @ignore */ export function preventAutoHide(): void { console.warn( 'SplashScreen.preventAutoHide() is deprecated in favour of SplashScreen.preventAutoHideAsync()' ); preventAutoHideAsync(); }