Files
discord-decomp/modules/vibegrations/stores/VibegrationsProjectStore.tsx
T
2026-11-01 12:12:55 +02:00

115 lines
3.0 KiB
TypeScript

// Metro module 5683 (f5684).
import _slicedToArray from "../../../_bundle/_slicedToArray";
import Module589 from "../../../_bundle/Module589";
import Dispatcher from "../../../Dispatcher";
let c3519_1, c3519_2, c3519_3, c3519_4, c3519_5;
const handleProjectUpsert = function handleProjectUpsert({ project }) {
c3519_1.set(project.id, project);
};
c3519_1 = new Map();
c3519_2 = new Map();
c3519_3 = null;
c3519_4 = [];
c3519_5 = new Map();
class VibegrationsProjectStore extends Module589.Store {
getAllProjects() {
return Array.from(c3519_1.values());
}
getProject(a0) {
let r5 = c3519_1.get(a0);
if (r5 == null) {
r5 = null;
}
return r5;
}
getSelectedProjectId(a0) {
let r5 = c3519_2.get(a0);
if (r5 == null) {
r5 = null;
}
return r5;
}
getLogs(a0) {
let r5 = c3519_5.get(a0);
if (r5 == null) {
r5 = c3519_4;
}
return r5;
}
getProjectsFetchState() {
return c3519_3;
}
}
const vibegrationsProjectStore = new VibegrationsProjectStore(Dispatcher, {
LOGOUT: function handleLogout() {
if (c3519_1.size === 0 && c3519_2.size === 0 && c3519_5.size === 0 && c3519_3 == null) {
return false;
}
c3519_1.clear();
c3519_2.clear();
c3519_5.clear();
c3519_3 = null;
},
VIBEGRATIONS_PROJECTS_FETCH_START: function handleProjectsFetchStart() {
c3519_3 = {
type: "loading"
};
},
VIBEGRATIONS_PROJECTS_FETCH_SUCCESS: function handleProjectsFetchSuccess({ projects }) {
c3519_1.clear();
for (const item of projects) {
c3519_1.set(item.id, item);
}
for (const item2 of c3519_2) {
const r41 = _slicedToArray(item2, 2);
const r42 = r41[0];
if (!c3519_1.has(r41[1])) {
c3519_2.delete(r42);
}
}
c3519_3 = {
type: "success",
fetchedAt: Date.now()
};
},
VIBEGRATIONS_PROJECTS_FETCH_FAIL: function handleProjectsFetchFail() {
c3519_3 = {
type: "error",
fetchedAt: Date.now()
};
},
VIBEGRATIONS_PROJECT_CREATE_SUCCESS: handleProjectUpsert,
VIBEGRATIONS_PROJECT_UPDATE_SUCCESS: handleProjectUpsert,
VIBEGRATIONS_PROJECT_DELETE_SUCCESS: function handleProjectDeleteSuccess({ projectId }) {
c3519_1.delete(projectId);
c3519_5.delete(projectId);
for (const item of c3519_2) {
const r33 = _slicedToArray(item, 2);
const r34 = r33[0];
if (r33[1] === projectId) {
c3519_2.delete(r34);
}
}
},
VIBEGRATIONS_PROJECT_SELECT: function handleProjectSelect({ guildId, projectId }) {
let r7 = c3519_2.get(guildId);
if (r7 == null) {
r7 = null;
}
if (r7 === projectId) {
return false;
}
if (projectId == null) {
c3519_2.delete(guildId);
} else {
c3519_2.set(guildId, projectId);
}
},
VIBEGRATIONS_LOG_APPEND: function handleLogAppend({ projectId, log }) {
const r6 = c3519_5.get(projectId);
const r7 = r6 == null ? [log] : r6.concat(log);
c3519_5.set(projectId, r7.length > 500 ? r7.slice(-500) : r7);
}
});
export default vibegrationsProjectStore;