Files
2026-07-28 01:06:53 +03:00

271 lines
16 KiB
TypeScript

/* Metro module 15638; source: utils/native/CaptchaUtils.tsx; dependencies: [31, 27, 1949, 1310, 661, 33, 683, 4826, 4831, 566, 491, 562, 15639, 9486, 5080, 15640, 1962, 2] */
import AnalyticsUtils from '../AnalyticsUtils.tsx'; /* Metro dependency 683 */
import ThemeStore from '../../modules/user_settings/ThemeStore.tsx'; /* Metro dependency 1310 */
import LocaleStore from '../../modules/user_settings/LocaleStore.tsx'; /* Metro dependency 1949 */
import MonitoringAgent from '../../modules/monitoring/MonitoringAgent.tsx'; /* Metro dependency 4826 */
import ModalActionCreators from '../../actions/ModalActionCreators.tsx'; /* Metro dependency 5080 */
import Module15639 from '../../by-id/module-15639.jsx'; /* Metro dependency 15639 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as Module00491Module from '../../by-id/module-00491.js'; /* Metro dependency 491 */
import * as V8APIErrorModule from '../../external/discord_common/js/packages/http-utils/V8APIError.tsx'; /* Metro dependency 562 */
import * as MetricEventsModule from '../../external/discord_common/js/shared/shared-constants/MetricEvents.tsx'; /* Metro dependency 4831 */
import * as SharedCaptchaUtilsModule from '../../modules/captcha/SharedCaptchaUtils.tsx'; /* Metro dependency 9486 */
function _fun119750(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#119750, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:6, offset: 0x02517eb5, size: 358 bytes, params: 8, frame: 19
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactNativeModule;
const NativeModules = value.NativeModules;
const NativeEventEmitter = value.NativeEventEmitter;
const env0_4 = value.Keyboard;
value = require(661) /* metro dependency 661: Constants */;
const env0_7 = value.CaptchaEvent;
const env0_8 = value.RECAPTCHA_SITE_KEY;
const env0_9 = value.AnalyticEvents;
const CaptchaManager = NativeModules.CaptchaManager;
const nativeEventEmitter = new NativeEventEmitter(CaptchaManager);
object = {showCaptcha: showCaptcha_119752, closeCaptcha: function() {
CaptchaManager.closeCaptcha();
}, showHcaptcha: function(a0, a1) {
var env0_0 = a0;
var env0_1 = a1;
var Promise = global.Promise;
var value = Object.create(Promise.prototype, {constructor: {value: Promise}});
var value2 = new Promise(_fun119755);
return value2 instanceof Object ? value2 : value;
}, showRecaptcha: function() {
var env0_0 = this;
var Promise = global.Promise;
var value = Object.create(Promise.prototype, {constructor: {value: Promise}});
var value2 = new Promise(_fun119758);
return value2 instanceof Object ? value2 : value;
}};
(FileImportTrackerModule).fileFinishedImporting('utils/native/CaptchaUtils.tsx');
exports.default = object;
exports.InlineHcaptcha = InlineHcaptcha;
function trackCaptchaEvent(a0, a1, a2, a3) { // fn#119751, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:305, offset: 0x0251801b, size: 206 bytes, params: 5, frame: 20
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
let CAPTCHA_EVENT = AnalyticEvents.CAPTCHA_EVENT;
Reflect.apply(track, defaultImport, [CAPTCHA_EVENT, {captcha_event_name: a0, captcha_service: a3, sitekey: a2,
captcha_flow_key: a1}]);
const defaultImport2 = MonitoringAgent;
const increment = defaultImport2.increment;
const MetricEvents = (MetricEventsModule).MetricEvents;
CAPTCHA_EVENT = MetricEvents.CAPTCHA_EVENT;
Reflect.apply(increment, defaultImport2, [{name: CAPTCHA_EVENT, tags: ['event_name:' + a0,
'captcha_service:' + a3]}]);
}
function showCaptcha_119752() { // fn#119752, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:558, offset: 0x025180e9, size: 185 bytes, params: 1, frame: 20
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
const value = a0;
const r1 = value !== undefined ? value : CaptchaTypes.RECAPTCHA;
Keyboard.dismiss();
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const OPEN_MODAL = AnalyticEvents.OPEN_MODAL;
Reflect.apply(track, defaultImport, [OPEN_MODAL, {type: 'CAPTCHA'}]);
const HCAPTCHA = CaptchaTypes.HCAPTCHA;
return r1 !== HCAPTCHA ? this.showRecaptcha() : a1 != null ? this.showHcaptcha(a1, a2) : this.showRecaptcha();
}
function showHcaptcha(a0, a1) { // fn#119754, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:808, offset: 0x025181b7, size: 53 bytes, params: 3, frame: 11
const env0_0 = a0;
const env0_1 = a1;
const Promise = global.Promise;
const value = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(_fun119755);
return promise instanceof Object ? promise : value;
function _fun119755(a0, a1) { // fn#119755, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:828, offset: 0x025181ec, size: 203 bytes, params: 3, frame: 22
var environment;
const env0_0 = a0;
const env0_1 = a1;
let value = environment.__proto__;
const value2 = require(dependencyMap[10]).v4();
const trackCaptchaEventBinding = trackCaptchaEvent;
const binding = env0_0;
const CaptchaTypes = require(dependencyMap[11]).CaptchaTypes;
const HCAPTCHA = CaptchaTypes.HCAPTCHA;
trackCaptchaEventBinding('initial-load', value2, binding, HCAPTCHA);
value = importDefault(dependencyMap[14]);
value.pushLazy(require(dependencyMap[16])(dependencyMap[15], dependencyMap.paths), {siteKey: binding,
onMessage: onMessage_119756, rqdata: require}, 'hcaptcha');
function onMessage_119756(a0) { // fn#119756, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:988, offset: 0x025182b7, size: 371 bytes, params: 2, frame: 21
var value2;
const CaptchaError = (SharedCaptchaUtilsModule).CaptchaError;
var trackCaptchaEventBinding;
var binding;
var value4;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
var value6;
var defaultImport;
const value = undefined;
let data = a0 == null ? value : a0.nativeEvent.data;
if (data != null) {
data = a0.nativeEvent.data;
value2 = environment.__proto__.__proto__;
if (data === CaptchaError.CANCEL) {
trackCaptchaEventBinding = trackCaptchaEvent;
binding = env0_2;
value6 = environment.__proto__;
trackCaptchaEventBinding(data, binding, env1_0, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
require(data);
} else if (data === CaptchaError.ERROR) {
trackCaptchaEventBinding = trackCaptchaEvent;
binding = env0_2;
value6 = environment.__proto__;
trackCaptchaEventBinding(data, binding, env1_0, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
require(data);
} else if (data === CaptchaError.EXPIRED) {
trackCaptchaEventBinding = trackCaptchaEvent;
binding = env0_2;
value6 = environment.__proto__;
trackCaptchaEventBinding(data, binding, env1_0, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
require(data);
} else {
trackCaptchaEventBinding = trackCaptchaEvent;
binding = env0_2;
value4 = environment.__proto__;
trackCaptchaEventBinding('verify', binding, env1_0, CaptchaTypes.HCAPTCHA);
env0_0(data);
}
}
(ModalActionCreators).pop();
return value;
}
}
}
function showRecaptcha() { // fn#119757, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:1389, offset: 0x0251842a, size: 46 bytes, params: 1, frame: 11
const Promise = global.Promise;
const value = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(_fun119758);
return promise instanceof Object ? promise : value;
function _fun119758(a0, a1) { // fn#119758, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:1425, offset: 0x02518458, size: 198 bytes, params: 3, frame: 20
const env0_0 = a0;
const env0_1 = a1;
const value2 = (Module00491Module).v4();
const trackCaptchaEventBinding = trackCaptchaEvent;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
const HCAPTCHA = CaptchaTypes.HCAPTCHA;
trackCaptchaEventBinding('initial-load', value2, RECAPTCHA_SITE_KEY, HCAPTCHA);
CaptchaManager.showCaptcha(RECAPTCHA_SITE_KEY, ThemeStore.theme, 'https://cdn.discordapp.com/recaptcha/ios.html');
const binding = env1_12;
let addListener = binding.addListener;
const SOLVED = CaptchaEvent.SOLVED;
Reflect.apply(addListener, binding, [SOLVED, _fun119759]);
addListener = binding.addListener;
const EXPIRED = CaptchaEvent.EXPIRED;
Reflect.apply(addListener, binding, [EXPIRED, _fun119760]);
function _fun119759(a0) { // fn#119759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:1619, offset: 0x0251851e, size: 93 bytes, params: 2, frame: 18
let binding = env1_0;
binding.closeCaptcha();
const trackCaptchaEventBinding = trackCaptchaEvent;
binding = env0_2;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
const RECAPTCHA = CaptchaTypes.RECAPTCHA;
trackCaptchaEventBinding('verify', binding, RECAPTCHA_SITE_KEY, RECAPTCHA);
env0_0(a0);
}
function _fun119760() { // fn#119760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:1740, offset: 0x0251857b, size: 184 bytes, params: 1, frame: 22
let binding = env1_0;
binding.closeCaptcha();
const trackCaptchaEventBinding = trackCaptchaEvent;
const CaptchaError = (SharedCaptchaUtilsModule).CaptchaError;
let EXPIRED = CaptchaError.EXPIRED;
binding = env0_2;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
const RECAPTCHA = CaptchaTypes.RECAPTCHA;
trackCaptchaEventBinding(EXPIRED, binding, RECAPTCHA_SITE_KEY, RECAPTCHA);
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const CAPTCHA_FAILED = AnalyticEvents.CAPTCHA_FAILED;
Reflect.apply(track, defaultImport, [CAPTCHA_FAILED, {reason: 'expired'}]);
EXPIRED = CaptchaError.EXPIRED;
require(EXPIRED);
}
}
}
function InlineHcaptcha(a0) { // fn#119761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:2037, offset: 0x02518633, size: 247 bytes, params: 2, frame: 21
const siteKey = a0.siteKey;
const env0_1 = a0.onVerify;
const env0_2 = a0.onError;
const object = {'siteKey': 0, 'onVerify': 0, 'onError': 0};
silentSetPrototypeOf(object, null, undefined);
const value = copyDataProperties({}, a0, object, undefined);
const locale = (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() {
return LocaleStore.locale;
});
const value3 = (Module00491Module).v4();
value3.useEffect(_fun119763, [value3, siteKey]);
return ((Component) => <Component siteKey={siteKey} onMessage={onMessage_119764} languageCode={locale} {...value} />)(Module15639);
function _fun119763() { // fn#119763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:2189, offset: 0x0251872a, size: 66 bytes, params: 1, frame: 17
const trackCaptchaEventBinding = trackCaptchaEvent;
const siteKeyBinding = siteKey;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
const HCAPTCHA = CaptchaTypes.HCAPTCHA;
trackCaptchaEventBinding('initial-load', ReactModule, siteKeyBinding, HCAPTCHA);
}
function InlineHcaptchaOnMessage(a0) { // fn#119764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15846:2304, owner: InlineHcaptcha.onMessage, offset: 0x0251876c, size: 333 bytes, params: 2, frame: 22
var value;
const CaptchaError = (SharedCaptchaUtilsModule).CaptchaError;
const CaptchaTypes = (V8APIErrorModule).CaptchaTypes;
var defaultImport;
let data = a0.nativeEvent.data;
if (data != null) {
data = a0.nativeEvent.data;
value = environment.__proto__;
if (data === CaptchaError.CANCEL) {
trackCaptchaEvent(data, ReactModule, siteKey, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
if (onError != null) {
onError(data);
}
} else if (data === CaptchaError.ERROR) {
trackCaptchaEvent(data, ReactModule, siteKey, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
if (onError != null) {
onError(data);
}
} else if (data === CaptchaError.EXPIRED) {
trackCaptchaEvent(data, ReactModule, siteKey, CaptchaTypes.HCAPTCHA);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CAPTCHA_FAILED, {reason: data});
if (onError != null) {
onError(data);
}
} else {
trackCaptchaEvent('verify', ReactModule, siteKey, CaptchaTypes.HCAPTCHA);
onVerify(data);
}
}
}
}
}
global.__d(_fun119750, 15638, [31, 27, 1949, 1310, 661, 33, 683, 4826, 4831, 566, 491, 562, 15639, 9486, 5080,
15640, 1962,
2]) /* metro module 15638, dependencies: [31, 27, 1949, 1310, 661, 33, 683, 4826, 4831, 566, 491, 562, 15639, 9486, 5080, 15640, 1962, 2] */;