import React, { useEffect } from 'react'; import ExpoKeepAwake from './ExpoKeepAwake'; // NOTE(brentvatne): in tests this value won't be reset because we can render a component and never // unmount it. let __keepAwakeMountedCount = 0; const ExpoKeepAwakeTag = 'ExpoKeepAwakeDefaultTag'; export default class KeepAwake extends React.PureComponent { componentDidMount() { console.warn(`The KeepAwake component has been deprecated in favor of the useKeepAwake hook and will be removed in SDK 35`); __keepAwakeMountedCount++; if (__keepAwakeMountedCount === 1) { activateKeepAwake(); } } componentWillUnmount() { __keepAwakeMountedCount--; if (__keepAwakeMountedCount === 0) { deactivateKeepAwake(); } } render() { return null; } } KeepAwake.activate = (tag) => { console.warn(`The "KeepAwake.activate" static method has been deprecated in favor of the "activateKeepAwake" function exported from expo-keep-awake and will be removed in SDK 35`); activateKeepAwake(tag); }; KeepAwake.deactivate = (tag) => { console.warn(`The "KeepAwake.deactivate" static method has been deprecated in favor of the "deactivateKeepAwake" function exported from expo-keep-awake and will be removed in SDK 35`); deactivateKeepAwake(tag); }; export function useKeepAwake(tag = ExpoKeepAwakeTag) { useEffect(() => { activateKeepAwake(tag); return () => deactivateKeepAwake(tag); }, [tag]); } export function activateKeepAwake(tag = ExpoKeepAwakeTag) { ExpoKeepAwake.activate(tag); } export function deactivateKeepAwake(tag = ExpoKeepAwakeTag) { ExpoKeepAwake.deactivate(tag); } export function activate(tag) { console.warn(`"activate" from expo-keep-awake has been deprecated in favor of "activateKeepAwake" and will be removed in SDK 35`); activateKeepAwake(tag); } export function deactivate(tag) { console.warn(`"deactivate" from expo-keep-awake has been deprecated in favor of "deactivateKeepAwake" and will be removed in SDK 35`); deactivateKeepAwake(tag); } //# sourceMappingURL=index.js.map