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

219 lines
6.3 KiB
TypeScript

// Module ID: 11441
// Function ID: 89064
// Name: _isNativeReflectConstruct
// Dependencies: []
// Module 11441 (_isNativeReflectConstruct)
function _isNativeReflectConstruct() {
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
}));
function _isNativeReflectConstruct() {
return closure_0;
}
const result = _isNativeReflectConstruct();
}
function removeAccountById(userId) {
const arg1 = userId;
const arr = arr.filter((id) => id.id !== id);
importAll(dependencyMap[7]).removeToken(userId);
}
function setTokenStatus(userId, INVALID) {
INVALID = userId;
const substr = arr.slice();
const found = substr.find((id) => id.id === id);
if (null != found) {
found.tokenStatus = INVALID;
const arr = substr;
}
}
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]);
const MAX_ACCOUNTS = arg1(dependencyMap[5]).MAX_ACCOUNTS;
let obj = { INVALID: 0, [0]: "INVALID", VALIDATING: 1, [1]: "VALIDATING", VALID: 2, [2]: "VALID" };
let closure_13 = [];
let tmp2 = (PersistedStore) => {
class MultiAccountStore {
constructor() {
self = this;
tmp = closure_4(this, MultiAccountStore);
obj = closure_7(MultiAccountStore);
tmp2 = closure_6;
if (closure_14()) {
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 = MultiAccountStore;
callback2(MultiAccountStore, PersistedStore);
let obj = {
key: "initialize",
value(users) {
if (null != users) {
users = users.users;
if (null == users) {
users = [];
}
const canUseMultiAccountMobile = users.canUseMultiAccountMobile;
}
}
};
const items = [obj, , , , , , , ];
obj = {
key: "getCanUseMultiAccountMobile",
value() {
return closure_11;
}
};
items[1] = obj;
obj = {
key: "getState",
value() {
return { users: closure_13, canUseMultiAccountMobile: closure_11 };
}
};
items[2] = obj;
items[3] = {
key: "getUsers",
value() {
return closure_13;
}
};
items[4] = {
key: "getValidUsers",
value() {
return closure_13.filter((tokenStatus) => tokenStatus.tokenStatus !== constants.INVALID);
}
};
items[5] = {
key: "getHasLoggedInAccounts",
value() {
return closure_13.length > 0;
}
};
items[6] = {
key: "getIsValidatingUsers",
value() {
return closure_13.some((tokenStatus) => tokenStatus.tokenStatus === constants.VALIDATING);
}
};
items[7] = {
key: "canUseMultiAccountNotifications",
get() {
return this.getCanUseMultiAccountMobile();
}
};
return callback(MultiAccountStore, items);
}(importDefault(dependencyMap[9]).PersistedStore);
tmp2.displayName = "MultiAccountStore";
tmp2.persistKey = "MultiAccountStore";
const items = [
(users) => {
if (null != users) {
let obj = {};
users = users.users;
if (null == users) {
users = [];
}
obj.users = users;
obj.canUseMultiAccountMobile = false;
} else {
obj = { users: [], canUseMultiAccountMobile: false };
}
return obj;
}
];
tmp2.migrations = items;
obj = {
CONNECTION_OPEN: function handleConnectionOpen(user) {
user = user.user;
const arg1 = user;
const id = user.id;
let tmp = !closure_11;
if (tmp) {
tmp = importDefault(dependencyMap[6])(user);
}
if (tmp) {
closure_11 = true;
}
const substr = arr.slice();
const findIndexResult = substr.findIndex((id) => id.id === user.id);
if (findIndexResult > -1) {
arr[findIndexResult].avatar = user.avatar;
arr[findIndexResult].username = user.username;
arr[findIndexResult].discriminator = user.discriminator;
arr[findIndexResult].tokenStatus = obj.VALID;
let arr = substr;
} else {
const obj = {};
({ id: obj.id, avatar: obj.avatar, username: obj.username, discriminator: obj.discriminator } = user);
obj.tokenStatus = obj.VALID;
obj.pushSyncToken = null;
arr = substr.push(obj);
arr = substr;
}
if (arr.length > MAX_ACCOUNTS) {
const item = arr.splice(MAX_ACCOUNTS).forEach((id) => {
callback(id.id);
});
const spliceResult = arr.splice(MAX_ACCOUNTS);
}
},
LOGOUT: function handleLogout(isSwitchingAccount) {
if (!isSwitchingAccount.isSwitchingAccount) {
const arr = arr.filter((id) => id.id !== closure_10);
}
let closure_10 = null;
},
MULTI_ACCOUNT_VALIDATE_TOKEN_REQUEST(userId) {
setTokenStatus(userId.userId, obj.VALIDATING);
},
MULTI_ACCOUNT_VALIDATE_TOKEN_SUCCESS(userId) {
setTokenStatus(userId.userId, obj.VALID);
},
MULTI_ACCOUNT_VALIDATE_TOKEN_FAILURE(userId) {
setTokenStatus(userId.userId, obj.INVALID);
},
MULTI_ACCOUNT_REMOVE_ACCOUNT(userId) {
removeAccountById(userId.userId);
},
MULTI_ACCOUNT_MOVE_ACCOUNT: function handleMoveAccount(arg0) {
let from;
let to;
({ from, to } = arg0);
closure_13 = arg1(dependencyMap[8]).moveItemFromTo(closure_13, from, to);
},
CURRENT_USER_UPDATE: function handleCurrentUserUpdate(user) {
user = user.user;
const arg1 = user;
const substr = arr.slice();
const found = substr.find((id) => id.id === user.id);
if (null != found) {
({ avatar: tmp.avatar, username: tmp.username, discriminator: tmp.discriminator } = user);
const arr = substr;
}
},
MULTI_ACCOUNT_UPDATE_PUSH_SYNC_TOKEN: function handleUpdatePushSyncToken(arg0) {
({ userId: closure_0, pushSyncToken: closure_1 } = arg0);
},
MULTI_ACCOUNT_INVALIDATE_PUSH_SYNC_TOKENS: function handleInvalidatePushSyncTokens(invalidPushSyncTokens) {
const arg1 = invalidPushSyncTokens.invalidPushSyncTokens;
}
};
tmp2 = new tmp2(importDefault(dependencyMap[10]), obj);
const result = arg1(dependencyMap[11]).fileFinishedImporting("modules/multi_account/MultiAccountStore.tsx");
export default tmp2;
export const MultiAccountTokenStatus = obj;