decord/source/utils/native/CaptchaUtils.tsx

308 lines
14 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 16629
// Function ID: 16630
2026-07-29 08:29:29 +00:00
// Name: CaptchaManager
2026-08-25 06:04:03 +00:00
// Dependencies: [19, 17, 1996, 1302, 676, 21, 698, 7208, 7213, 589, 514, 585, 16630, 10534, 4611, 16631, 2009, 2]
2026-07-20 16:05:17 +00:00
// Exports: InlineHcaptcha
2026-08-25 06:04:03 +00:00
// Module 16629 (CaptchaManager)
2026-08-24 06:08:38 +00:00
import convertStringArrayToSkemaErrorItems from "convertStringArrayToSkemaErrorItems" /* 585 */;
import expandEventPropertiesDefault from "expandEventProperties" /* 698 */;
2026-08-25 06:04:03 +00:00
import siteKeyDefault from "siteKey" /* 16630 */;
2026-08-24 06:08:38 +00:00
import closure_3 from "noop" /* 19 */;
import get_ActivityIndicator from "get ActivityIndicator" /* 17 */;
2026-08-25 06:04:03 +00:00
import closure_5 from "_getSystemLocale" /* 1996 */;
2026-08-24 06:08:38 +00:00
import closure_6 from "handleThemeChange" /* 1302 */;
import ME from "ME" /* 676 */;
import { jsx } from "jsxProd" /* 21 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-29 08:29:29 +00:00
({ Keyboard: c4, NativeModules, NativeEventEmitter } = get_ActivityIndicator);
2026-08-24 06:08:38 +00:00
({ CaptchaEvent: error, RECAPTCHA_SITE_KEY: closure_8, AnalyticEvents: c9 } = ME);
2026-07-29 08:29:29 +00:00
const CaptchaManager = NativeModules.CaptchaManager;
2026-07-20 16:05:17 +00:00
const nativeEventEmitter = new NativeEventEmitter(CaptchaManager);
2026-08-24 06:08:38 +00:00
const result = require("set").fileFinishedImporting("utils/native/CaptchaUtils.tsx");
2026-07-23 10:11:24 +00:00
export default {
2026-07-20 16:05:17 +00:00
showCaptcha() {
let RECAPTCHA = arg0;
if (arg0 === undefined) {
2026-08-24 06:08:38 +00:00
RECAPTCHA = convertStringArrayToSkemaErrorItems.CaptchaTypes.RECAPTCHA;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const self = this;
2026-07-20 16:05:17 +00:00
closure_4.dismiss();
2026-08-24 06:08:38 +00:00
expandEventPropertiesDefault.track(constants.OPEN_MODAL, { type: "CAPTCHA" });
if (RECAPTCHA === convertStringArrayToSkemaErrorItems.CaptchaTypes.HCAPTCHA) {
2026-07-20 16:05:17 +00:00
if (null != arg1) {
let showHcaptchaResult = self.showHcaptcha(arg1, arg2);
}
return showHcaptchaResult;
}
showHcaptchaResult = self.showRecaptcha();
},
closeCaptcha() {
CaptchaManager.closeCaptcha();
},
showHcaptcha(arg0, arg1) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
closure_1 = arg1;
2026-07-20 16:05:17 +00:00
return new Promise((arg0, arg1) => {
2026-07-23 10:11:24 +00:00
const callback = arg0;
const callback2 = arg1;
2026-08-24 06:08:38 +00:00
let obj = callback(closure_1_2[10]);
2026-07-20 16:05:17 +00:00
const v4Result = obj.v4();
2026-08-24 06:08:38 +00:00
closure_2 = v4Result;
let HCAPTCHA = callback(closure_1_2[11]).CaptchaTypes.HCAPTCHA;
obj1 = callback2(closure_1_2[6]);
2026-07-29 08:29:29 +00:00
obj = { captcha_event_name: "initial-load", captcha_service: HCAPTCHA, sitekey: callback, captcha_flow_key: v4Result };
2026-08-24 06:08:38 +00:00
obj1.track(closure_1_9.CAPTCHA_EVENT, obj);
obj = { name: callback(closure_1_2[8]).MetricEvents.CAPTCHA_EVENT, tags: null };
2026-07-29 08:29:29 +00:00
let items = ["event_name:" + "initial-load", "captcha_service:" + HCAPTCHA];
obj[1] = items;
2026-08-24 06:08:38 +00:00
callback2(closure_1_2[7]).increment(obj);
const obj4 = callback2(closure_1_2[7]);
2026-07-29 08:29:29 +00:00
obj1 = {
2026-07-23 10:11:24 +00:00
siteKey: callback,
2026-07-20 16:05:17 +00:00
onMessage(nativeEvent) {
let data;
2026-07-29 08:29:29 +00:00
if (nativeEvent != null) {
2026-07-20 16:05:17 +00:00
data = nativeEvent.nativeEvent.data;
}
if (null != data) {
data = nativeEvent.nativeEvent.data;
2026-08-24 06:08:38 +00:00
if (data !== callback(closure_2_2[13]).CaptchaError.CANCEL) {
if (data !== tmp17(closure_2_2[13]).CaptchaError.ERROR) {
if (data !== tmp17(closure_2_2[13]).CaptchaError.EXPIRED) {
const HCAPTCHA2 = tmp17(closure_2_2[11]).CaptchaTypes.HCAPTCHA;
2026-07-29 08:29:29 +00:00
let obj = { captcha_event_name: "verify", captcha_service: null, sitekey: null, captcha_flow_key: null };
obj[1] = HCAPTCHA2;
obj[2] = callback;
obj[3] = closure_2;
2026-08-24 06:08:38 +00:00
callback2(closure_2_2[6]).track(closure_2_9.CAPTCHA_EVENT, obj);
const obj7 = callback2(closure_2_2[6]);
2026-07-29 08:29:29 +00:00
obj = { name: null, tags: null };
2026-08-24 06:08:38 +00:00
obj[0] = tmp17(closure_2_2[8]).MetricEvents.CAPTCHA_EVENT;
2026-07-29 08:29:29 +00:00
const _HermesInternal3 = HermesInternal;
const items = ["event_name:" + "verify", ];
const _HermesInternal4 = HermesInternal;
items[1] = "captcha_service:" + HCAPTCHA2;
obj[1] = items;
2026-08-24 06:08:38 +00:00
callback2(closure_2_2[7]).increment(obj);
2026-07-23 10:11:24 +00:00
callback(data);
2026-08-24 06:08:38 +00:00
const obj9 = callback2(closure_2_2[7]);
2026-07-20 16:05:17 +00:00
}
}
}
2026-08-24 06:08:38 +00:00
const HCAPTCHA = tmp17(closure_2_2[11]).CaptchaTypes.HCAPTCHA;
obj = callback2(closure_2_2[6]);
obj1 = { captcha_event_name: null, captcha_service: null, sitekey: null, captcha_flow_key: null };
2026-07-29 08:29:29 +00:00
obj1[0] = data;
obj1[1] = HCAPTCHA;
obj1[2] = callback;
obj1[3] = closure_2;
2026-08-24 06:08:38 +00:00
obj.track(closure_2_9.CAPTCHA_EVENT, obj1);
let obj2 = callback2(closure_2_2[7]);
2026-07-29 08:29:29 +00:00
obj2 = { name: null, tags: null };
2026-08-24 06:08:38 +00:00
obj2[0] = callback(closure_2_2[8]).MetricEvents.CAPTCHA_EVENT;
2026-07-29 08:29:29 +00:00
const _HermesInternal = HermesInternal;
const items1 = ["event_name:" + data, ];
const _HermesInternal2 = HermesInternal;
items1[1] = "captcha_service:" + HCAPTCHA;
obj2[1] = items1;
obj2.increment(obj2);
const obj3 = { reason: null };
obj3[0] = data;
2026-08-24 06:08:38 +00:00
callback2(closure_2_2[6]).track(closure_2_9.CAPTCHA_FAILED, obj3);
2026-07-23 10:11:24 +00:00
callback2(data);
2026-08-24 06:08:38 +00:00
const obj5 = callback2(closure_2_2[6]);
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
callback2(closure_2_2[14]).pop();
2026-07-20 16:05:17 +00:00
},
2026-07-23 10:11:24 +00:00
rqdata: callback2
2026-07-20 16:05:17 +00:00
};
2026-08-24 06:08:38 +00:00
callback2(closure_1_2[14]).pushLazy(callback(closure_1_2[16])(closure_1_2[15], closure_1_2.paths), obj1, "hcaptcha");
2026-07-20 16:05:17 +00:00
});
},
showRecaptcha() {
2026-07-23 10:11:24 +00:00
const self = this;
2026-07-20 16:05:17 +00:00
return new Promise((arg0, arg1) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
closure_1 = arg1;
let obj = self(closure_1_2[10]);
2026-07-29 08:29:29 +00:00
const v4Result = obj.v4();
2026-08-24 06:08:38 +00:00
closure_2 = v4Result;
const HCAPTCHA = self(closure_1_2[11]).CaptchaTypes.HCAPTCHA;
obj = { captcha_event_name: "initial-load", captcha_service: HCAPTCHA, sitekey: closure_1_8, captcha_flow_key: v4Result };
closure_1_1(closure_1_2[6]).track(closure_1_9.CAPTCHA_EVENT, obj);
const obj2 = closure_1_1(closure_1_2[6]);
obj = { name: self(closure_1_2[8]).MetricEvents.CAPTCHA_EVENT, tags: null };
2026-07-29 08:29:29 +00:00
let items = ["event_name:" + "initial-load", "captcha_service:" + HCAPTCHA];
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[7]).increment(obj);
closure_1_11.showCaptcha(closure_1_8, closure_1_6.theme, "https://cdn.discordapp.com/recaptcha/ios.html");
closure_1_12.addListener(closure_1_7.SOLVED, (arg0) => {
2026-07-23 10:11:24 +00:00
lib.closeCaptcha();
2026-08-24 06:08:38 +00:00
const RECAPTCHA = self(closure_2_2[11]).CaptchaTypes.RECAPTCHA;
let obj = closure_2_1(closure_2_2[6]);
obj = { captcha_event_name: "verify", captcha_service: RECAPTCHA, sitekey: closure_2_8, captcha_flow_key: closure_2 };
obj.track(closure_2_9.CAPTCHA_EVENT, obj);
obj = { name: self(closure_2_2[8]).MetricEvents.CAPTCHA_EVENT, tags: null };
2026-07-29 08:29:29 +00:00
const items = ["event_name:" + "verify", "captcha_service:" + RECAPTCHA];
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_2_1(closure_2_2[7]).increment(obj);
2026-07-23 10:11:24 +00:00
lib(arg0);
2026-07-20 16:05:17 +00:00
});
2026-08-24 06:08:38 +00:00
closure_1_12.addListener(closure_1_7.EXPIRED, () => {
2026-07-23 10:11:24 +00:00
lib.closeCaptcha();
2026-08-24 06:08:38 +00:00
const EXPIRED = self(closure_2_2[13]).CaptchaError.EXPIRED;
const RECAPTCHA = self(closure_2_2[11]).CaptchaTypes.RECAPTCHA;
let obj = closure_2_1(closure_2_2[6]);
obj = { captcha_event_name: EXPIRED, captcha_service: RECAPTCHA, sitekey: closure_2_8, captcha_flow_key: closure_2 };
obj.track(closure_2_9.CAPTCHA_EVENT, obj);
obj = { name: self(closure_2_2[8]).MetricEvents.CAPTCHA_EVENT, tags: null };
2026-07-29 08:29:29 +00:00
const items = ["event_name:" + EXPIRED, "captcha_service:" + RECAPTCHA];
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_2_1(closure_2_2[7]).increment(obj);
const obj3 = closure_2_1(closure_2_2[7]);
closure_2_1(closure_2_2[6]).track(closure_2_9.CAPTCHA_FAILED, { reason: "expired" });
callback(self(closure_2_2[13]).CaptchaError.EXPIRED);
2026-07-20 16:05:17 +00:00
});
});
}
};
export const InlineHcaptcha = function InlineHcaptcha(siteKey) {
siteKey = siteKey.siteKey;
2026-07-23 10:11:24 +00:00
({ onVerify: importDefault, onError: dependencyMap } = siteKey);
2026-07-29 08:29:29 +00:00
const merged = Object.assign(siteKey, Object.create(null));
let React;
let obj = siteKey(589);
2026-08-24 06:08:38 +00:00
let items = [closure_5];
2026-07-29 08:29:29 +00:00
const stateFromStores = obj.useStateFromStores(items, () => locale.locale);
const v4Result = siteKey(514).v4();
React = v4Result;
let items1 = [v4Result, siteKey];
const effect = React.useEffect(() => {
2026-08-24 06:08:38 +00:00
const HCAPTCHA = siteKey(closure_1_2[11]).CaptchaTypes.HCAPTCHA;
let obj = closure_1_1(closure_1_2[6]);
2026-07-29 08:29:29 +00:00
obj = { captcha_event_name: "initial-load", captcha_service: HCAPTCHA, sitekey: siteKey, captcha_flow_key: c3 };
2026-08-24 06:08:38 +00:00
obj.track(closure_1_9.CAPTCHA_EVENT, obj);
obj = { name: siteKey(closure_1_2[8]).MetricEvents.CAPTCHA_EVENT, tags: null };
2026-07-29 08:29:29 +00:00
const items = ["event_name:" + "initial-load", "captcha_service:" + HCAPTCHA];
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[7]).increment(obj);
2026-07-20 16:05:17 +00:00
}, items1);
obj = {
siteKey,
onMessage(nativeEvent) {
if (null != nativeEvent.nativeEvent.data) {
const data = nativeEvent.nativeEvent.data;
2026-08-24 06:08:38 +00:00
if (data !== siteKey(closure_1_2[13]).CaptchaError.CANCEL) {
2026-07-29 08:29:29 +00:00
if (data !== tmp10(tmp11[13]).CaptchaError.ERROR) {
if (data !== tmp10(tmp11[13]).CaptchaError.EXPIRED) {
const HCAPTCHA2 = tmp10(tmp11[11]).CaptchaTypes.HCAPTCHA;
let obj = { captcha_event_name: "verify", captcha_service: null, sitekey: null, captcha_flow_key: null };
obj[1] = HCAPTCHA2;
obj[2] = siteKey;
obj[3] = c3;
2026-08-24 06:08:38 +00:00
closure_1_1(tmp11[6]).track(closure_1_9.CAPTCHA_EVENT, obj);
const obj7 = closure_1_1(tmp11[6]);
2026-07-29 08:29:29 +00:00
obj = { name: null, tags: null };
obj[0] = tmp10(tmp11[8]).MetricEvents.CAPTCHA_EVENT;
const _HermesInternal3 = HermesInternal;
const items = ["event_name:" + "verify", ];
const _HermesInternal4 = HermesInternal;
items[1] = "captcha_service:" + HCAPTCHA2;
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_1_1(tmp11[7]).increment(obj);
2026-07-20 16:05:17 +00:00
callback(data);
2026-08-24 06:08:38 +00:00
const obj9 = closure_1_1(tmp11[7]);
2026-07-20 16:05:17 +00:00
}
}
}
2026-07-29 08:29:29 +00:00
const HCAPTCHA = tmp10(tmp11[11]).CaptchaTypes.HCAPTCHA;
2026-08-24 06:08:38 +00:00
obj = closure_1_1(tmp11[6]);
obj1 = { captcha_event_name: null, captcha_service: null, sitekey: null, captcha_flow_key: null };
2026-07-29 08:29:29 +00:00
obj1[0] = data;
obj1[1] = HCAPTCHA;
obj1[2] = siteKey;
obj1[3] = c3;
2026-08-24 06:08:38 +00:00
obj.track(closure_1_9.CAPTCHA_EVENT, obj1);
let obj2 = closure_1_1(tmp11[7]);
2026-07-29 08:29:29 +00:00
obj2 = { name: null, tags: null };
2026-08-24 06:08:38 +00:00
obj2[0] = siteKey(closure_1_2[8]).MetricEvents.CAPTCHA_EVENT;
2026-07-29 08:29:29 +00:00
const _HermesInternal = HermesInternal;
const items1 = ["event_name:" + data, ];
const _HermesInternal2 = HermesInternal;
items1[1] = "captcha_service:" + HCAPTCHA;
obj2[1] = items1;
obj2.increment(obj2);
const obj3 = { reason: null };
obj3[0] = data;
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[6]).track(closure_1_9.CAPTCHA_FAILED, obj3);
2026-07-29 08:29:29 +00:00
if (callback2 != null) {
2026-07-20 16:05:17 +00:00
callback2(data);
}
2026-08-24 06:08:38 +00:00
const obj5 = closure_1_1(closure_1_2[6]);
2026-07-20 16:05:17 +00:00
}
},
languageCode: stateFromStores
};
2026-07-29 08:29:29 +00:00
let obj2 = siteKey(514);
2026-07-20 16:05:17 +00:00
const merged1 = Object.assign(merged);
2026-08-24 06:08:38 +00:00
return jsx(siteKeyDefault, {
2026-07-23 10:11:24 +00:00
siteKey,
onMessage(nativeEvent) {
if (null != nativeEvent.nativeEvent.data) {
const data = nativeEvent.nativeEvent.data;
2026-08-24 06:08:38 +00:00
if (data !== siteKey(closure_1_2[13]).CaptchaError.CANCEL) {
2026-07-29 08:29:29 +00:00
if (data !== tmp10(tmp11[13]).CaptchaError.ERROR) {
if (data !== tmp10(tmp11[13]).CaptchaError.EXPIRED) {
const HCAPTCHA2 = tmp10(tmp11[11]).CaptchaTypes.HCAPTCHA;
let obj = { captcha_event_name: "verify", captcha_service: null, sitekey: null, captcha_flow_key: null };
obj[1] = HCAPTCHA2;
obj[2] = siteKey;
obj[3] = c3;
2026-08-24 06:08:38 +00:00
closure_1_1(tmp11[6]).track(closure_1_9.CAPTCHA_EVENT, obj);
const obj7 = closure_1_1(tmp11[6]);
2026-07-29 08:29:29 +00:00
obj = { name: null, tags: null };
obj[0] = tmp10(tmp11[8]).MetricEvents.CAPTCHA_EVENT;
const _HermesInternal3 = HermesInternal;
const items = ["event_name:" + "verify", ];
const _HermesInternal4 = HermesInternal;
items[1] = "captcha_service:" + HCAPTCHA2;
obj[1] = items;
2026-08-24 06:08:38 +00:00
closure_1_1(tmp11[7]).increment(obj);
2026-07-23 10:11:24 +00:00
callback(data);
2026-08-24 06:08:38 +00:00
const obj9 = closure_1_1(tmp11[7]);
2026-07-23 10:11:24 +00:00
}
}
}
2026-07-29 08:29:29 +00:00
const HCAPTCHA = tmp10(tmp11[11]).CaptchaTypes.HCAPTCHA;
2026-08-24 06:08:38 +00:00
obj = closure_1_1(tmp11[6]);
obj1 = { captcha_event_name: null, captcha_service: null, sitekey: null, captcha_flow_key: null };
2026-07-29 08:29:29 +00:00
obj1[0] = data;
obj1[1] = HCAPTCHA;
obj1[2] = siteKey;
obj1[3] = c3;
2026-08-24 06:08:38 +00:00
obj.track(closure_1_9.CAPTCHA_EVENT, obj1);
let obj2 = closure_1_1(tmp11[7]);
2026-07-29 08:29:29 +00:00
obj2 = { name: null, tags: null };
2026-08-24 06:08:38 +00:00
obj2[0] = siteKey(closure_1_2[8]).MetricEvents.CAPTCHA_EVENT;
2026-07-29 08:29:29 +00:00
const _HermesInternal = HermesInternal;
const items1 = ["event_name:" + data, ];
const _HermesInternal2 = HermesInternal;
items1[1] = "captcha_service:" + HCAPTCHA;
obj2[1] = items1;
obj2.increment(obj2);
const obj3 = { reason: null };
obj3[0] = data;
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[6]).track(closure_1_9.CAPTCHA_FAILED, obj3);
2026-07-29 08:29:29 +00:00
if (callback2 != null) {
2026-07-23 10:11:24 +00:00
callback2(data);
}
2026-08-24 06:08:38 +00:00
const obj5 = closure_1_1(closure_1_2[6]);
2026-07-23 10:11:24 +00:00
}
},
languageCode: stateFromStores
});
2026-07-20 16:05:17 +00:00
};