Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function _openWebBrowserAsync(startUrl, returnUrl) {
// $FlowIssue: Flow thinks the awaited result can be a promise
let result = await openAuthSessionAsync(startUrl, returnUrl);
if (result.type === 'cancel' || result.type === 'dismiss') {
return { type: result.type };
}
return result;
}
function getStartUrl(authUrl, returnUrl) {
async function _openWebBrowserAsync(startUrl, returnUrl) {
// $FlowIssue: Flow thinks the awaited result can be a promise
let result = await openAuthSessionAsync(startUrl, returnUrl);
if (result.type === 'cancel' || result.type === 'dismiss') {
return { type: result.type };
}
return result;
}
function getStartUrl(authUrl, returnUrl) {
async function _openWebBrowserAsync(startUrl, returnUrl) {
// $FlowIssue: Flow thinks the awaited result can be a promise
let result = await openAuthSessionAsync(startUrl, returnUrl);
if (result.type === 'cancel' || result.type === 'dismiss') {
return { type: result.type };
}
return result;
}
} );
// First, determine whether the site is multisite or not.
const multisite = await this.multisiteCheck;
// Prepare the browser.
const baseUrl = url.replace( /\/$/, '' ) + '/wp-admin';
const adminUrl = new URI( multisite ? baseUrl + '/network/plugin-install.php' : url + '/plugin-install.php' );
const installUrl = adminUrl.addQuery( {
tab: 'search',
type: 'term',
s: 'connect'
} );
// Open the browser and wait.
openAuthSessionAsync( '' + installUrl ).then( this.onCheck );
}
if (!url.match(dataRegExp)) return;
// Extract stringified user string out of the URL
const [, data] = url.match(dataRegExp);
const decodedData = JSON.parse(decodeURI(data));
const { client } = this.props;
if (decodedData.tokens) {
await setItem('accessToken', decodedData.tokens.accessToken);
await setItem('refreshToken', decodedData.tokens.refreshToken);
await authentication.doLogin(client);
}
if (Platform.OS === 'ios') {
WebBrowser.dismissBrowser();
}
};
function handleHelpPress() {
WebBrowser.openBrowserAsync(
'https://docs.expo.io/versions/latest/workflow/up-and-running/#cant-see-your-changes',
);
}
switchMap(async url => openBrowserAsync(url.href)),
)
handleOpenWebUrlClicked = async () => {
const args = {
showTitle: this.state.showTitle,
toolbarColor: this.state.toolbarColor && `#${this.state.toolbarColor}`,
controlsColor: this.state.controlsColorText && `#${this.state.controlsColorText}`,
browserPackage: this.state.selectedPackage,
enableBarCollapsing: this.state.barCollapsing,
};
const result = await WebBrowser.openBrowserAsync(url, args);
setTimeout(() => Alert.alert('Result', JSON.stringify(result, null, 2)), 1000);
}
const _handlePressButtonAsync = async () => {
let result = await WebBrowser.openBrowserAsync('https://expo.io');
setResult(result);
};
return (
const openLink = (url, theme = 'light') => WebBrowser.openBrowserAsync(url, {
toolbarColor: themes[theme].headerBackground,
controlsColor: themes[theme].headerTintColor,
collapseToolbar: true,
showTitle: true
});