/* Metro module 5271; source: unknown; dependencies: [31, 27, 33, 5272, 5273] */ function _fun46873(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#46873, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:6, offset: 0x011b1af8, size: 302 bytes, params: 8, frame: 20 const value = this; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const value2 = require(31) /* metro dependency 31 */; let env0_2 = value2.useCallback; const env0_3 = value2.useMemo; const env0_4 = value2.useRef; const env0_5 = value2.useState; importDefault(31) /* metro dependency 31 */; const value3 = require(27) /* metro dependency 27 */; const env0_6 = value3.Linking; const env0_7 = value3.View; const env0_8 = value3.ActivityIndicator; const env0_9 = value3.Text; value3.Platform; const value4 = require(33) /* metro dependency 33 */; const env0_10 = value4.jsx; const env0_11 = value4.jsxs; if (value && value.__spreadArray) { } const closure = function(a0, a1, a2) { var env0_0 = a0; var env0_1 = a1; var env0_2 = a2; return _fun46877; }; exports.defaultOriginWhitelist = ['http://*', 'https://*']; exports.createOnShouldStartLoadWithRequest = closure; exports.defaultRenderLoading = defaultRenderLoading; exports.defaultRenderError = defaultRenderError; exports.useWebWiewLogic = useWebWiewLogic; } function originWhitelistToRegex(a0) { // fn#46875, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:496, offset: 0x011b1c26, size: 80 bytes, params: 2, frame: 15 const concat = '^'.concat; let value = importDefault(5272) /* metro dependency 5272 */; value = value(a0); return Reflect.apply(concat, '^', [value.replace(RegExp('\\\\\\*', 'g'), '.*')]); } function createOnShouldStartLoadWithRequest(a0, a1, a2) { // fn#46876, offset: 0x011b1c76, size: 30 bytes, params: 4, frame: 2 const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; return _fun46877; } function defaultRenderLoading() { // fn#46882, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:1302, offset: 0x011b1e2e, size: 69 bytes, params: 1, frame: 16 return ( ); } function defaultRenderError(a0, a1, a2) { // fn#46883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:1422, offset: 0x011b1e73, size: 272 bytes, params: 4, frame: 23 return ( {'Error loading page'} {'Domain: '.concat(a0)} {'Error Code: '.concat(a1)} {'Description: '.concat(a2)} ); } function useWebWiewLogic({startInLoadingState, onNavigationStateChange, onLoadStart, onLoad, onLoadProgress, onLoadEnd, onError, onHttpErrorProp, onMessageProp, onRenderProcessGoneProp, onContentProcessDidTerminateProp, originWhitelist, onShouldStartLoadWithRequestProp, onShouldStartLoadWithRequestCallback}) { // fn#46884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:1798, offset: 0x011b1f83, size: 511 bytes, params: 2, frame: 31 var object2; const [property, property2] = useState(startInLoadingState ? 'LOADING' : 'IDLE'); const [property3, env0_14] = useState(null); const env0_15 = useRef(null); const value6 = useCallback(function(a0) { if (onNavigationStateChange != null) { onNavigationStateChange(a0.nativeEvent); } }, [onNavigationStateChange]); const value7 = useCallback(_fun46886, [onLoadStart, value6]); const value8 = useCallback(_fun46887, [onError, onLoadEnd]); const value9 = useCallback(function(a0) { if (onHttpErrorProp != null) { onHttpErrorProp(a0); } }, [onHttpErrorProp]); const value10 = useCallback(function(a0) { if (onRenderProcessGoneProp != null) { onRenderProcessGoneProp(a0); } }, [onRenderProcessGoneProp]); const value11 = useCallback(function(a0) { if (onContentProcessDidTerminateProp != null) { onContentProcessDidTerminateProp(a0); } }, [onContentProcessDidTerminateProp]); const value12 = useCallback(_fun46891, [onLoad, onLoadEnd, value6]); const value13 = useCallback(function(a0) { if (onMessageProp != null) { onMessageProp(a0); } }, [onMessageProp]); const value14 = useCallback(_fun46893, [onLoadProgress]); object2 = {}; object2.onShouldStartLoadWithRequest = useMemo(function() { return createOnShouldStartLoadWithRequest(onShouldStartLoadWithRequestCallback, originWhitelist, onShouldStartLoadWithRequestProp); }, [originWhitelist, onShouldStartLoadWithRequestProp, onShouldStartLoadWithRequestCallback]); object2.onLoadingStart = value7; object2.onLoadingProgress = value14; object2.onLoadingError = value8; object2.onLoadingFinish = value12; object2.onHttpError = value9; object2.onRenderProcessGone = value10; object2.onContentProcessDidTerminate = value11; object2.onMessage = value13; object2.viewState = property; object2.setViewState = property2; object2.lastErrorEvent = property3; return object2; } function _fun46877({nativeEvent}) { // fn#46877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:644, offset: 0x011b1c94, size: 179 bytes, params: 2, frame: 21 var r2; const url = nativeEvent.url; let env0_0 = url; const lockIdentifier = nativeEvent.lockIdentifier; const value4 = env1_12(['about:blank'], require || [], true); if (((a0, a1) => { var value = RegExp('^[A-Za-z][A-Za-z0-9+\\-.]+:(\\/\\/)?[^/]*', '').exec(a1); var env0_0 = value === null ? '' : value[0]; return a0.some(_fun46879); })(value4.map(originWhitelistToRegex), url)) { r2 = !importDefault || importDefault(nativeEvent); } else { Linking.canOpenURL(url).then(_fun46880).catch(function(a0) { global.console.warn('Error opening URL: ', a0); }); r2 = false; } env0_0(r2, url, lockIdentifier); } function _fun46886(a0) { // fn#46886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:2282, offset: 0x011b21a7, size: 61 bytes, params: 2, frame: 12 env0_15.current = a0.nativeEvent.url; if (onLoadStart != null) { onLoadStart(a0); } env0_16(a0); } function _fun46887(a0) { // fn#46887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:2355, offset: 0x011b21e4, size: 135 bytes, params: 2, frame: 15 var console; a0.persist(); if (onError) { onError(a0); } else { console = global.console; console.warn('Encountered an error loading page', a0.nativeEvent); } if (onLoadEnd != null) { onLoadEnd(a0); } if (!a0.isDefaultPrevented()) { env0_13('ERROR'); env0_14(a0.nativeEvent); } } function _fun46891(a0) { // fn#46891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:2646, offset: 0x011b22c8, size: 98 bytes, params: 2, frame: 13 if (onLoad != null) { onLoad(a0); } if (onLoadEnd != null) { onLoadEnd(a0); } if (a0.nativeEvent.url === env0_15.current) { env0_13('IDLE'); } env0_16(a0); } function _fun46893(a0) { // fn#46893, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:2786, offset: 0x011b2349, size: 71 bytes, params: 2, frame: 12 if (a0.nativeEvent.progress === 1) { env0_13(function(a0) { var value = a0; return value === 'LOADING' ? 'IDLE' : value; }); } if (onLoadProgress != null) { onLoadProgress(a0); } } function passesWhitelist(a0, a1) { // fn#46878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:709, offset: 0x011b1d47, size: 71 bytes, params: 3, frame: 13 const value = RegExp('^[A-Za-z][A-Za-z0-9+\\-.]+:(\\/\\/)?[^/]*', '').exec(a1); const env0_0 = value === null ? '' : value[0]; return a0.some(_fun46879); } function _fun46880(a0) { // fn#46880, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:1015, offset: 0x011b1dc0, size: 78 bytes, params: 2, frame: 13 var value; if (a0) { value = environment.__proto__.__proto__; return Linking.openURL(url); } const console = global.console; console.warn("Can't open url: ".concat(url)); } function _fun46879(a0) { // fn#46879, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5449:869, offset: 0x011b1d8e, size: 50 bytes, params: 2, frame: 11 const RegExp = global.RegExp; return new RegExp(a0).test(env0_0); }