170 lines
6 KiB
TypeScript
170 lines
6 KiB
TypeScript
// Module ID: 12502
|
|
// Function ID: 95806
|
|
// Name: _isNativeReflectConstruct
|
|
// Dependencies: []
|
|
|
|
// Module 12502 (_isNativeReflectConstruct)
|
|
function _isNativeReflectConstruct() {
|
|
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
|
|
|
|
}));
|
|
function _isNativeReflectConstruct() {
|
|
return closure_0;
|
|
}
|
|
const result = _isNativeReflectConstruct();
|
|
}
|
|
function recordRequestRevision(arg0) {
|
|
closure_14.revision = 1;
|
|
const Storage = arg1(dependencyMap[17]).Storage;
|
|
const result = Storage.set(closure_13, closure_14);
|
|
}
|
|
function delayShowReviewRequestModal() {
|
|
cancelExistingTimeout();
|
|
const RequestReviewNoTTIExperiment = arg1(dependencyMap[9]).RequestReviewNoTTIExperiment;
|
|
let skipTTICheck = RequestReviewNoTTIExperiment.getConfig({ location: "RequestReviewStore" }).skipTTICheck;
|
|
let tmp2 = closure_15;
|
|
if (closure_15) {
|
|
if (!skipTTICheck) {
|
|
let tmp4 = undefined !== closure_12;
|
|
if (tmp4) {
|
|
tmp4 = closure_12 < 2300;
|
|
}
|
|
skipTTICheck = tmp4;
|
|
}
|
|
tmp2 = skipTTICheck;
|
|
}
|
|
if (tmp2) {
|
|
const _setTimeout = setTimeout;
|
|
const timeout = setTimeout(showReviewRequestModal, arg1(dependencyMap[10]).MS_PER_MINUTE);
|
|
}
|
|
}
|
|
function showReviewRequestModal() {
|
|
let obj = arg1(dependencyMap[12]);
|
|
const rootNavigationRef = obj.getRootNavigationRef();
|
|
obj = {};
|
|
let tmp = null != rootNavigationRef && rootNavigationRef.isReady();
|
|
if (tmp) {
|
|
tmp = null != arg1(dependencyMap[13]).coerceGuildsRoute(rootNavigationRef.getCurrentRoute());
|
|
const obj4 = arg1(dependencyMap[13]);
|
|
}
|
|
obj.isViewingChat = tmp;
|
|
obj.isKeyboardOpen = arg1(dependencyMap[14]).getKeyboardIsOpen();
|
|
obj.isInVoice = null != voiceChannelId.getVoiceChannelId();
|
|
if (obj.isViewingChat) {
|
|
if (!obj.isKeyboardOpen) {
|
|
if (!obj.isInVoice) {
|
|
importDefault(dependencyMap[18]).track(AnalyticEvents.REVIEW_REQUEST_SHOW_ATTEMPTED);
|
|
recordRequestRevision(1);
|
|
importDefault(dependencyMap[11])();
|
|
let closure_15 = false;
|
|
const obj6 = importDefault(dependencyMap[18]);
|
|
}
|
|
}
|
|
}
|
|
const obj5 = arg1(dependencyMap[14]);
|
|
obj = { is_keyboard_open: obj.isKeyboardOpen, is_in_voice: obj.isInVoice, is_viewing_chat: obj.isViewingChat };
|
|
importDefault(dependencyMap[18]).track(AnalyticEvents.REVIEW_REQUEST_DEFERRED, obj);
|
|
delayShowReviewRequestModal();
|
|
}
|
|
function handleConnectionClosedOrInterrupted() {
|
|
cancelExistingTimeout();
|
|
}
|
|
function cancelExistingTimeout() {
|
|
if (-1 !== closure_16) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(closure_16);
|
|
closure_16 = -1;
|
|
}
|
|
}
|
|
let closure_3 = importDefault(dependencyMap[0]);
|
|
let closure_4 = importDefault(dependencyMap[1]);
|
|
let closure_5 = importDefault(dependencyMap[2]);
|
|
let closure_6 = importDefault(dependencyMap[3]);
|
|
let closure_7 = importDefault(dependencyMap[4]);
|
|
let closure_8 = importDefault(dependencyMap[5]);
|
|
let closure_9 = importDefault(dependencyMap[6]);
|
|
let closure_10 = importDefault(dependencyMap[7]);
|
|
const AnalyticEvents = arg1(dependencyMap[8]).AnalyticEvents;
|
|
let closure_13 = "RequestReviewStore";
|
|
let closure_14 = { revision: 0 };
|
|
let closure_15 = false;
|
|
let closure_16 = -1;
|
|
let tmp2 = (Store) => {
|
|
class RequestReviewStore {
|
|
constructor() {
|
|
self = this;
|
|
tmp = closure_3(this, RequestReviewStore);
|
|
obj = closure_6(RequestReviewStore);
|
|
tmp2 = closure_5;
|
|
if (closure_17()) {
|
|
tmp6 = globalThis;
|
|
_Reflect = Reflect;
|
|
tmp7 = closure_6;
|
|
tmp8 = arguments;
|
|
constructResult = Reflect.construct(obj, arguments, closure_6(self).constructor);
|
|
} else {
|
|
tmp3 = arguments;
|
|
tmp4 = arguments;
|
|
constructResult = obj(...arguments);
|
|
}
|
|
return tmp2(self, constructResult);
|
|
}
|
|
}
|
|
const arg1 = RequestReviewStore;
|
|
callback2(RequestReviewStore, Store);
|
|
const items = [
|
|
{
|
|
key: "initialize",
|
|
value() {
|
|
const self = this;
|
|
const Storage = RequestReviewStore(closure_2[17]).Storage;
|
|
let value = Storage.get(closure_13);
|
|
if (null == value) {
|
|
const obj = { revision: 0 };
|
|
value = obj;
|
|
}
|
|
self.waitFor(closure_9, closure_8, closure_10);
|
|
}
|
|
}
|
|
];
|
|
return callback(RequestReviewStore, items);
|
|
}(importDefault(dependencyMap[19]).Store);
|
|
tmp2.displayName = "RequestReviewStore";
|
|
tmp2 = new tmp2(importDefault(dependencyMap[20]), {
|
|
CONNECTION_OPEN: function handleConnectionOpen(guilds) {
|
|
guilds = guilds.guilds;
|
|
let obj = {};
|
|
obj = { from: "authed", unit: arg1(dependencyMap[10]).TimeUnits.DAYS };
|
|
obj.isInstallOldEnough = arg1(dependencyMap[15]).getFirstInstallTimeElapsed(obj) >= 10;
|
|
obj.isInLargeEnoughGuild = guilds.some((member_count) => member_count.member_count >= 5);
|
|
obj.isAccountVerified = true === guilds.user.verified;
|
|
obj.isNewRevision = revision.revision < 1;
|
|
if (obj.isNewRevision) {
|
|
obj = { is_hfu: true };
|
|
({ isInstallOldEnough: obj5.is_install_old_enough, isInLargeEnoughGuild: obj5.is_in_large_enough_guild, isAccountVerified: obj5.is_account_verified } = obj);
|
|
importDefault(dependencyMap[18]).track(AnalyticEvents.REVIEW_REQUEST_ELIGIBILITY_CHECKED, obj);
|
|
const obj4 = importDefault(dependencyMap[18]);
|
|
}
|
|
let closure_15 = obj.isInstallOldEnough && obj.isAccountVerified && obj.isInLargeEnoughGuild && obj.isNewRevision;
|
|
delayShowReviewRequestModal();
|
|
},
|
|
CONNECTION_RESUMED: function handleConnectionResumed() {
|
|
delayShowReviewRequestModal();
|
|
},
|
|
CONNECTION_CLOSED: handleConnectionClosedOrInterrupted,
|
|
CONNECTION_INTERRUPTED: handleConnectionClosedOrInterrupted,
|
|
TTI_RECORDED: function handleTTIRecorded(tti) {
|
|
tti = tti.tti;
|
|
delayShowReviewRequestModal();
|
|
},
|
|
APP_STATE_UPDATE: function handleAppStateUpdate(state) {
|
|
if (state.state === arg1(dependencyMap[16]).AppStates.ACTIVE) {
|
|
delayShowReviewRequestModal();
|
|
} else {
|
|
cancelExistingTimeout();
|
|
}
|
|
}
|
|
});
|
|
const result = arg1(dependencyMap[21]).fileFinishedImporting("modules/feedback/native/RequestReviewStore.tsx");
|
|
|
|
export default tmp2;
|