This repository was archived by the owner on Dec 7, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +26
-15
lines changed
Expand file tree Collapse file tree 1 file changed +26
-15
lines changed Original file line number Diff line number Diff line change 11import { Linking } from 'react-native' ; // eslint-disable-line import/no-unresolved, max-len
22
3- export const dance = authUrl => Linking . openURL ( authUrl )
4- . then ( ( ) => new Promise ( ( resolve , reject ) => {
5- const handleUrl = ( url ) => {
6- if ( ! url || url . indexOf ( 'fail' ) > - 1 ) {
7- reject ( url ) ;
8- } else {
9- resolve ( url ) ;
10- }
11- } ;
3+ let previousOnLinkChange ;
124
13- const onLinkChange = ( { url } ) => {
14- Linking . removeEventListener ( 'url' , onLinkChange ) ;
15- handleUrl ( url ) ;
16- } ;
5+ export const dance = ( authUrl ) => {
6+ if ( previousOnLinkChange ) {
7+ Linking . removeEventListener ( ' url' , previousOnLinkChange ) ;
8+ }
179
18- Linking . addEventListener ( 'url' , onLinkChange ) ;
19- } ) ) ;
10+ return Linking . openURL ( authUrl )
11+ . then ( ( ) => new Promise ( ( resolve , reject ) => {
12+ const handleUrl = ( url ) => {
13+ if ( ! url || url . indexOf ( 'fail' ) > - 1 ) {
14+ reject ( url ) ;
15+ } else {
16+ resolve ( url ) ;
17+ }
18+ } ;
19+
20+ const onLinkChange = ( { url } ) => {
21+ Linking . removeEventListener ( 'url' , onLinkChange ) ;
22+ previousOnLinkChange = undefined ;
23+ handleUrl ( url ) ;
24+ } ;
25+
26+ Linking . addEventListener ( 'url' , onLinkChange ) ;
27+
28+ previousOnLinkChange = onLinkChange ;
29+ } ) ) ;
30+ } ;
2031
2132export const request = fetch ;
You can’t perform that action at this time.
0 commit comments