UNPKG

1.46 kBSource Map (JSON)View Raw
1{"version":3,"sources":["useBackButton.tsx"],"names":["React","BackHandler","useBackButton","ref","useEffect","subscription","addEventListener","navigation","current","canGoBack","goBack","remove"],"mappings":"AAIA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,WAAT,QAA4B,cAA5B;AAEA,eAAe,SAASC,aAAT,CACbC,GADa,EAEb;AACAH,EAAAA,KAAK,CAACI,SAAN,CAAgB,MAAM;AACpB,UAAMC,YAAY,GAAGJ,WAAW,CAACK,gBAAZ,CACnB,mBADmB,EAEnB,MAAM;AACJ,YAAMC,UAAU,GAAGJ,GAAG,CAACK,OAAvB;;AAEA,UAAID,UAAU,IAAI,IAAlB,EAAwB;AACtB,eAAO,KAAP;AACD;;AAED,UAAIA,UAAU,CAACE,SAAX,EAAJ,EAA4B;AAC1BF,QAAAA,UAAU,CAACG,MAAX;AAEA,eAAO,IAAP;AACD;;AAED,aAAO,KAAP;AACD,KAhBkB,CAArB;AAmBA,WAAO,MAAML,YAAY,CAACM,MAAb,EAAb;AACD,GArBD,EAqBG,CAACR,GAAD,CArBH;AAsBD","sourcesContent":["import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\nimport { BackHandler } from 'react-native';\n\nexport default function useBackButton(\n ref: React.RefObject<NavigationContainerRef<ParamListBase>>\n) {\n React.useEffect(() => {\n const subscription = BackHandler.addEventListener(\n 'hardwareBackPress',\n () => {\n const navigation = ref.current;\n\n if (navigation == null) {\n return false;\n }\n\n if (navigation.canGoBack()) {\n navigation.goBack();\n\n return true;\n }\n\n return false;\n }\n );\n\n return () => subscription.remove();\n }, [ref]);\n}\n"]}
\No newline at end of file