254 lines
8.8 KiB
TypeScript
254 lines
8.8 KiB
TypeScript
// Module ID: 12523
|
|
// Function ID: 96152
|
|
// Name: _isNativeReflectConstruct
|
|
// Dependencies: []
|
|
|
|
// Module 12523 (_isNativeReflectConstruct)
|
|
function _isNativeReflectConstruct() {
|
|
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
|
|
|
|
}));
|
|
function _isNativeReflectConstruct() {
|
|
return closure_0;
|
|
}
|
|
const result = _isNativeReflectConstruct();
|
|
}
|
|
function getFastConnectUserId() {
|
|
return arg1(dependencyMap[8]).getLastFastConnectIdentifyUserId();
|
|
}
|
|
function getBaseSwitchAnalytics(id) {
|
|
const obj = { from_user_id: closure_13, to_user_id: closure_14, actual_user_id: id, fast_connect_user_id: getFastConnectUserId() };
|
|
const users = authStore.getUsers();
|
|
obj.linked_user_ids = users.map((id) => id.id);
|
|
obj.has_ever_connected = closure_17;
|
|
obj.switch_origin = closure_15;
|
|
return obj;
|
|
}
|
|
function isDiagnosticsEnabled() {
|
|
let flag = closure_16;
|
|
if (closure_16) {
|
|
flag = true;
|
|
}
|
|
return flag;
|
|
}
|
|
let closure_4 = importDefault(dependencyMap[0]);
|
|
let closure_5 = importDefault(dependencyMap[1]);
|
|
let closure_6 = importDefault(dependencyMap[2]);
|
|
let closure_7 = importDefault(dependencyMap[3]);
|
|
let closure_8 = importDefault(dependencyMap[4]);
|
|
let closure_9 = importDefault(dependencyMap[5]);
|
|
const AnalyticEvents = arg1(dependencyMap[6]).AnalyticEvents;
|
|
let importDefaultResult = importDefault(dependencyMap[7]);
|
|
importDefaultResult = new importDefaultResult("MultiAccountSwitchStore");
|
|
let closure_12 = null;
|
|
let closure_13 = null;
|
|
let closure_14 = null;
|
|
let closure_15 = null;
|
|
let closure_16 = false;
|
|
let closure_17 = false;
|
|
let closure_18 = false;
|
|
let closure_19 = null;
|
|
let tmp4 = (Store) => {
|
|
class MultiAccountSwitchStore {
|
|
constructor() {
|
|
self = this;
|
|
tmp = closure_4(this, MultiAccountSwitchStore);
|
|
obj = closure_7(MultiAccountSwitchStore);
|
|
tmp2 = closure_6;
|
|
if (closure_20()) {
|
|
tmp6 = globalThis;
|
|
_Reflect = Reflect;
|
|
tmp7 = closure_7;
|
|
tmp8 = arguments;
|
|
constructResult = Reflect.construct(obj, arguments, closure_7(self).constructor);
|
|
} else {
|
|
tmp3 = arguments;
|
|
tmp4 = arguments;
|
|
constructResult = obj(...arguments);
|
|
}
|
|
return tmp2(self, constructResult);
|
|
}
|
|
}
|
|
const arg1 = MultiAccountSwitchStore;
|
|
callback2(MultiAccountSwitchStore, Store);
|
|
let obj = {
|
|
key: "initialize",
|
|
value() {
|
|
this.waitFor(closure_9);
|
|
}
|
|
};
|
|
const items = [obj, , ];
|
|
obj = {
|
|
key: "getIsSwitchingAccount",
|
|
value() {
|
|
return closure_16;
|
|
}
|
|
};
|
|
items[1] = obj;
|
|
obj = {
|
|
key: "getSwitchResult",
|
|
value() {
|
|
return closure_19;
|
|
}
|
|
};
|
|
items[2] = obj;
|
|
return callback(MultiAccountSwitchStore, items);
|
|
}(importDefault(dependencyMap[11]).Store);
|
|
tmp4.displayName = "MultiAccountSwitchStore";
|
|
tmp4 = new tmp4(importDefault(dependencyMap[12]), {
|
|
MULTI_ACCOUNT_SWITCH_START: function handleSwitchStart(arg0) {
|
|
({ targetUserId: closure_14, location: closure_15 } = arg0);
|
|
},
|
|
MULTI_ACCOUNT_SWITCH_TIMEOUT: function handleSwitchTimeout() {
|
|
let obj = importDefault(dependencyMap[10]);
|
|
obj = { from_user_id: closure_13, to_user_id: closure_14 };
|
|
const users = authStore.getUsers();
|
|
obj.linked_user_ids = users.map((id) => id.id);
|
|
obj.has_ever_connected = closure_17;
|
|
obj.switch_origin = closure_15;
|
|
obj.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_TIMEOUT, obj);
|
|
return false;
|
|
},
|
|
LOGOUT: function handleLogout(isSwitchingAccount) {
|
|
isSwitchingAccount = isSwitchingAccount.isSwitchingAccount;
|
|
if (isSwitchingAccount.isSwitchingAccount) {
|
|
let closure_13 = closure_12;
|
|
let goHomeAfterSwitching = isSwitchingAccount.goHomeAfterSwitching;
|
|
let obj = { current_user_id: closure_12, expected_user_id: closure_14, fast_connect_user_id: getFastConnectUserId(), switch_origin: closure_15 };
|
|
importDefaultResult.log("logout from account switch", obj);
|
|
} else {
|
|
goHomeAfterSwitching = false;
|
|
obj = importAll(dependencyMap[9]);
|
|
obj.removeToken(closure_12);
|
|
}
|
|
},
|
|
CONNECTION_OPEN: function handleConnectionOpen(user) {
|
|
user = user.user;
|
|
if (closure_16) {
|
|
const id = user.id;
|
|
if (isDiagnosticsEnabled()) {
|
|
let obj = importAll(dependencyMap[9]);
|
|
const token = obj.getToken(id);
|
|
const token1 = importAll(dependencyMap[9]).getToken();
|
|
let tmp10 = null != closure_14;
|
|
if (tmp10) {
|
|
tmp10 = id !== closure_14;
|
|
}
|
|
if (null != token && null != token1 && token !== token1) {
|
|
obj = {};
|
|
const merged = Object.assign(getBaseSwitchAnalytics(id));
|
|
obj["user_token_exists"] = null != token;
|
|
obj["main_token_exists"] = null != token1;
|
|
obj["is_token_mismatch"] = tmp12;
|
|
obj["is_user_mismatch"] = tmp10;
|
|
importDefaultResult.log("Token mismatch on account switch connection open", obj);
|
|
importDefault(dependencyMap[10]).track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_READY_MISMATCH, obj);
|
|
const obj4 = importDefault(dependencyMap[10]);
|
|
}
|
|
const obj2 = importAll(dependencyMap[9]);
|
|
}
|
|
let tmp23 = closure_13 !== user.id;
|
|
const tmp25 = getBaseSwitchAnalytics(user.id);
|
|
let track = importDefault(dependencyMap[10]).track;
|
|
obj = AnalyticEvents;
|
|
if (tmp23) {
|
|
track(obj.MULTI_ACCOUNT_SWITCH_SUCCESS, tmp25);
|
|
if (isDiagnosticsEnabled()) {
|
|
track = importDefaultResult;
|
|
importDefaultResult.log("Account switch success", tmp25);
|
|
}
|
|
} else {
|
|
track(obj.MULTI_ACCOUNT_SWITCH_FAILURE, tmp25);
|
|
if (isDiagnosticsEnabled()) {
|
|
importDefaultResult.log("Account switch failure", tmp25);
|
|
}
|
|
}
|
|
obj = { success: tmp23 };
|
|
tmp23 = closure_18;
|
|
obj.navigateHome = closure_18;
|
|
let closure_19 = obj;
|
|
const tmp28 = importDefault(dependencyMap[10]);
|
|
} else {
|
|
closure_19 = null;
|
|
const token2 = importAll(dependencyMap[9]).getToken();
|
|
let tmp40 = null != token2;
|
|
if (tmp40) {
|
|
tmp40 = "" !== token2;
|
|
}
|
|
if (tmp40) {
|
|
function checkTokenCollisionIntroducedAtWrite(id, token2) {
|
|
if (callback3()) {
|
|
const users = authStore.getUsers();
|
|
const mapped = users.map((id) => id.id);
|
|
const found = mapped.filter((arg0) => {
|
|
let tmp = arg0 !== arg0;
|
|
if (tmp) {
|
|
tmp = callback(closure_3[9]).getToken(arg0) === arg1;
|
|
const obj = callback(closure_3[9]);
|
|
}
|
|
return tmp;
|
|
});
|
|
if (0 !== found.length) {
|
|
let tmp2 = callback(closure_3[9]).getToken(id) === token2;
|
|
let obj = {};
|
|
const merged = Object.assign(callback2(id));
|
|
obj["colliding_user_ids"] = found;
|
|
if (!tmp2) {
|
|
tmp2 = tmp11;
|
|
}
|
|
obj["is_already_corrupted"] = tmp2;
|
|
closure_11.log("setToken about to introduce per-user token collision", obj);
|
|
obj = token2(closure_3[10]);
|
|
obj.track(constants.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION_WRITE, obj);
|
|
const obj2 = callback(closure_3[9]);
|
|
const tmp11 = found.length >= 2;
|
|
}
|
|
}
|
|
}(user.id, token2);
|
|
importAll(dependencyMap[9]).setToken(token2, user.id);
|
|
const obj7 = importAll(dependencyMap[9]);
|
|
}
|
|
function checkGeneralTokenCollision(id) {
|
|
if (callback3()) {
|
|
const _Map = Map;
|
|
const map = new Map();
|
|
const users = authStore.getUsers();
|
|
const item = users.forEach((id) => {
|
|
id = id.id;
|
|
const token = callback(closure_3[9]).getToken(id);
|
|
if (null != token) {
|
|
if ("" !== token) {
|
|
let items = map.get(token);
|
|
if (null == items) {
|
|
items = [];
|
|
}
|
|
items.push(id);
|
|
const result = map.set(token, items);
|
|
}
|
|
}
|
|
});
|
|
const item1 = map.forEach((arg0) => {
|
|
if (arg0.length >= 2) {
|
|
const obj = {};
|
|
const merged = Object.assign(callback2(arg0));
|
|
obj["colliding_user_ids"] = arg0;
|
|
closure_11.log("Per-user token collision detected", obj);
|
|
map(closure_3[10]).track(constants.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION, obj);
|
|
const obj2 = map(closure_3[10]);
|
|
}
|
|
});
|
|
}
|
|
}(user.id);
|
|
closure_13 = null;
|
|
closure_14 = null;
|
|
let closure_15 = null;
|
|
closure_16 = false;
|
|
closure_18 = false;
|
|
let closure_17 = true;
|
|
const id2 = user.id;
|
|
}
|
|
}
|
|
});
|
|
const result = arg1(dependencyMap[13]).fileFinishedImporting("modules/multi_account/MultiAccountSwitchStore.tsx");
|
|
|
|
export default tmp4;
|