decord/source/modules/multi_account/MultiAccountSwitchStore.tsx
2026-07-21 06:55:02 +00:00

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;