decord/alpha/source/utils/GuildRoleUtils.tsx

121 lines
3.5 KiB
TypeScript
Raw Normal View History

// Module ID: 2105
// Function ID: 2106
// Name: GuildRoleUtils
// Dependencies: [11, 1092, 2104, 2103, 2]
2026-07-20 16:05:17 +00:00
// Exports: doesRoleSortHigher, filterRoleDeletes, inviteRoleToDisplayData, sortGuildRoleRecords, sortInviteRoles
// Module 2105 (GuildRoleUtils)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
import utils_ColorUtils from "utils/ColorUtils" /* 1092 */;
import GuildRoleRecordUtilsAll from "GuildRoleRecordUtils" /* 2103 */;
import EnhancedRoleColorUtils from "EnhancedRoleColorUtils" /* 2104 */;
import size from "module_2" /* 2 */;
2026-08-24 06:08:38 +00:00
2026-07-20 16:05:17 +00:00
function compareGuildRoles(guildId, id) {
guildId = guildId.guildId;
if (guildId.id === guildId) {
2026-07-29 08:29:29 +00:00
let num2 = 1;
2026-07-20 16:05:17 +00:00
if (id.id === guildId) {
num2 = SnowflakeUtilsDefault.compare(guildId.id, id.id);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let num = num2;
2026-07-20 16:05:17 +00:00
} else {
num = -1;
if (id.id !== guildId) {
if (guildId.position !== id.position) {
let diff = id.position - guildId.position;
} else {
diff = SnowflakeUtilsDefault.compare(guildId.id, id.id);
2026-07-20 16:05:17 +00:00
}
}
}
return num;
}
let result = size.fileFinishedImporting("utils/GuildRoleUtils.tsx");
2026-07-20 16:05:17 +00:00
export const sortGuildRoleRecords = function sortGuildRoleRecords(arr) {
const sorted = arr.sort(compareGuildRoles);
return arr;
};
export { compareGuildRoles };
2026-07-29 08:29:29 +00:00
export const doesRoleSortHigher = function doesRoleSortHigher(guildId, id) {
guildId = guildId.guildId;
if (guildId.id === guildId) {
let num2 = 1;
if (id.id === guildId) {
num2 = SnowflakeUtilsDefault.compare(guildId.id, id.id);
2026-07-29 08:29:29 +00:00
}
let num = num2;
} else {
num = -1;
if (id.id !== guildId) {
if (guildId.position !== id.position) {
let diff = id.position - guildId.position;
} else {
diff = SnowflakeUtilsDefault.compare(guildId.id, id.id);
2026-07-29 08:29:29 +00:00
}
}
}
return num < 0;
2026-07-20 16:05:17 +00:00
};
export const sortInviteRoles = function sortInviteRoles(position, position2) {
if (position.position !== position2.position) {
let diff = position2.position - position.position;
} else {
diff = SnowflakeUtilsDefault.compare(position.id, position2.id);
2026-07-20 16:05:17 +00:00
}
return diff;
};
export const inviteRoleToDisplayData = function inviteRoleToDisplayData(id, id) {
2026-07-29 08:29:29 +00:00
const obj = { id: id.id, name: id.name, guildId: id, colorString: null, colorStrings: null, icon: null, unicodeEmoji: null };
2026-07-20 16:05:17 +00:00
let int2hexResult = null;
if (0 !== id.color) {
int2hexResult = utils_ColorUtils.int2hex(id.color);
2026-07-20 16:05:17 +00:00
}
obj.colorString = int2hexResult;
2026-07-20 16:05:17 +00:00
let result = null;
if (null != id.colors) {
result = EnhancedRoleColorUtils.extractColorStringsFromServerColors(id.colors);
2026-07-20 16:05:17 +00:00
}
obj.colorStrings = result;
2026-07-29 08:29:29 +00:00
let icon = id.icon;
if (icon == null) {
icon = null;
2026-07-20 16:05:17 +00:00
}
obj.icon = icon;
2026-07-29 08:29:29 +00:00
let unicode_emoji = id.unicode_emoji;
if (unicode_emoji == null) {
unicode_emoji = null;
2026-07-20 16:05:17 +00:00
}
obj.unicodeEmoji = unicode_emoji;
2026-07-20 16:05:17 +00:00
return obj;
};
2026-07-29 08:29:29 +00:00
export const filterRoleDeletes = function filterRoleDeletes(id, unsafeMutableRoles, roles, deleted_role_ids) {
2026-07-20 16:05:17 +00:00
let items = roles;
if (roles === undefined) {
items = [];
}
2026-07-29 08:29:29 +00:00
let items1 = deleted_role_ids;
if (deleted_role_ids === undefined) {
2026-07-20 16:05:17 +00:00
items1 = [];
}
if (items1.length + items.length === 0) {
2026-07-29 08:29:29 +00:00
return unsafeMutableRoles;
2026-07-20 16:05:17 +00:00
} else {
const obj2 = {};
2026-07-29 08:29:29 +00:00
const merged = Object.assign(unsafeMutableRoles);
2026-07-20 16:05:17 +00:00
if (null != items1) {
2026-07-29 08:29:29 +00:00
for (const item10012 of items1) {
delete tmp[tmp2];
continue;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
for (const item10018 of items) {
let obj = GuildRoleRecordUtilsAll;
obj2[item10018.id] = obj.fromServer(arg0, item10018);
2026-07-29 08:29:29 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
return obj2;
2026-07-20 16:05:17 +00:00
}
};