325 lines
9.3 KiB
TypeScript
325 lines
9.3 KiB
TypeScript
// Metro module 13520 (f13521).
|
|
import { MAX_FAVORITES, MAX_FAVORITE_GIFS_SIZE } from "./UserSettingsConstants";
|
|
import { ID_REGEX } from "../../Constants";
|
|
import Module589 from "../../_bundle/Module589";
|
|
import * as _Module1341 from "../../_bundle/Module1341";
|
|
import { FavoriteGIF, GIFType, FavoriteGIFs, FavoriteStickers, StickerFrecency, FavoriteEmojis, EmojiFrecency, FavoriteSoundboardSounds, GuildAndChannelFrecency } from "../../_bundle/Module1341";
|
|
import Module12 from "../../_bundle/Module12";
|
|
import { serializeUsageHistory } from "./UserSettingsUtils";
|
|
import { Storage } from "../../_bundle/Module595";
|
|
import SnowflakeUtils from "../../utils/SnowflakeUtils";
|
|
import { $forInKeys } from "../../_hermes/prelude";
|
|
let c9384_6;
|
|
const readFavoriteGIFs = function readFavoriteGIFs(a0) {
|
|
let c20507_0 = 1;
|
|
let c20507_1 = {
|
|
IMAGE: "IMAGE",
|
|
VIDEO: "VIDEO"
|
|
};
|
|
const state = Module589.PersistedStore.migrateAndReadStoreState("GIFFavoritesStore", [(a0) => a0 == null ? {
|
|
favorites: [],
|
|
timesFavorited: 0
|
|
} : Array.isArray(a0) ? {
|
|
favorites: a0,
|
|
timesFavorited: 0
|
|
} : a0, (a0) => Array.isArray(a0.favorites) ? a0 : {
|
|
favorites: [],
|
|
timesFavorited: 0
|
|
}]).state;
|
|
return state != null && state.favorites.length !== 0 ? state.favorites.map((a0, index) => {
|
|
let IMAGE;
|
|
const favorite = FavoriteGIF.create();
|
|
const format = a0.format;
|
|
if (c20507_1.IMAGE === format) {
|
|
IMAGE = GIFType.IMAGE;
|
|
} else if (c20507_1.VIDEO === format) {
|
|
IMAGE = GIFType.VIDEO;
|
|
} else {
|
|
a0.format;
|
|
IMAGE = GIFType.NONE;
|
|
}
|
|
favorite.format = IMAGE;
|
|
favorite.src = a0.src;
|
|
favorite.width = a0.width;
|
|
favorite.height = a0.height;
|
|
favorite.order = state.favorites.length - index + c20507_0;
|
|
return {
|
|
url: a0.url,
|
|
favorite
|
|
};
|
|
}) : [];
|
|
};
|
|
c9384_6 = "selectedChannelGuildFrecency";
|
|
const r24 = [{
|
|
version: 2,
|
|
run: (a0) => {
|
|
const r19 = readFavoriteGIFs(1);
|
|
if (r19.length === 0) {
|
|
return false;
|
|
}
|
|
if (a0.favoriteGifs == null) {
|
|
a0.favoriteGifs = FavoriteGIFs.create();
|
|
}
|
|
a0.favoriteGifs.gifs = {};
|
|
for (const item of r19) {
|
|
a0.favoriteGifs.gifs[item.url] = item.favorite;
|
|
}
|
|
a0.favoriteGifs.hideTooltip = r19.length > 2;
|
|
return true;
|
|
},
|
|
cleanup: () => {}
|
|
}, {
|
|
version: 3,
|
|
run: (a0) => {
|
|
const state3 = Module589.PersistedStore.migrateAndReadStoreState("StickersPersistedStore", [(a0) => a0 != null && Object.keys(a0).length !== 0 ? a0 : {
|
|
usageHistory: {},
|
|
favorites: []
|
|
}, (a0) => {
|
|
let r9;
|
|
L5: {
|
|
if (a0 != null && Object.keys(a0).length !== 0) {
|
|
const favorites = a0.favorites;
|
|
r9 = a0;
|
|
if (favorites != null) {
|
|
break L5;
|
|
}
|
|
a0.favorites = [];
|
|
r9 = a0;
|
|
} else {
|
|
r9 = {
|
|
usageHistory: {},
|
|
favorites: []
|
|
};
|
|
}
|
|
}
|
|
return r9;
|
|
}]).state;
|
|
if (state3 == null) {
|
|
return false;
|
|
}
|
|
const r3 = state3.favorites.length > 0;
|
|
let r22 = false;
|
|
if (r3) {
|
|
a0.favoriteStickers = FavoriteStickers.create();
|
|
a0.favoriteStickers.stickerIds = Module12.uniq(state3.favorites).slice(0, MAX_FAVORITES);
|
|
r22 = true;
|
|
}
|
|
if (Module12.size(state3.usageHistory) > 0) {
|
|
a0.stickerFrecency = StickerFrecency.create();
|
|
a0.stickerFrecency.stickers = serializeUsageHistory(state3.usageHistory, 100);
|
|
r22 = true;
|
|
}
|
|
return r22;
|
|
},
|
|
cleanup: () => {
|
|
Storage.remove("StickersPersistedStore");
|
|
}
|
|
}, {
|
|
version: 4,
|
|
run: (a0) => {
|
|
const state3 = Module589.PersistedStore.migrateAndReadStoreState("EmojiStore", [() => ({
|
|
usageHistory: Storage.get("EmojiUsageHistory") || {}
|
|
})]).state;
|
|
if (state3 == null) {
|
|
return false;
|
|
}
|
|
const r2 = state3.favorites != null && state3.favorites.length > 0;
|
|
let r22 = false;
|
|
if (r2) {
|
|
a0.favoriteEmojis = FavoriteEmojis.create();
|
|
a0.favoriteEmojis.emojis = Module12.uniq(state3.favorites).slice(0, MAX_FAVORITES);
|
|
r22 = true;
|
|
}
|
|
if (Module12.size(state3.usageHistory) > 0) {
|
|
a0.emojiFrecency = EmojiFrecency.create();
|
|
a0.emojiFrecency.emojis = serializeUsageHistory(state3.usageHistory, 100);
|
|
r22 = true;
|
|
}
|
|
return r22;
|
|
},
|
|
cleanup: () => {
|
|
Storage.remove("EmojiStore");
|
|
Storage.remove("EmojiUsageHistory");
|
|
Storage.remove("EmojiDiversitySurrogate");
|
|
}
|
|
}, {
|
|
version: 6,
|
|
run: (a0) => {
|
|
if (a0.favoriteGifs == null) {
|
|
a0.favoriteGifs = FavoriteGIFs.create();
|
|
}
|
|
if (a0.favoriteGifs.gifs == null) {
|
|
a0.favoriteGifs.gifs = {};
|
|
}
|
|
const r9 = readFavoriteGIFs(1);
|
|
let c20508_0 = r9;
|
|
if (r9.length === 0) {
|
|
return false;
|
|
}
|
|
Module12(a0.favoriteGifs.gifs).values().sortBy("order").forEach((item, index) => {
|
|
const order = c20508_0.length + 1 + index;
|
|
item.order = order;
|
|
return order;
|
|
});
|
|
let length2 = FavoriteGIFs.toBinary(a0.favoriteGifs).length;
|
|
let r63 = 0;
|
|
for (const item of r9) {
|
|
const { url, favorite } = item;
|
|
const length = r9.length;
|
|
const r74 = r63;
|
|
favorite.order = length - r74;
|
|
r63 = r74 + 1;
|
|
if (url in a0.favoriteGifs.gifs) {
|
|
a0.favoriteGifs.gifs[url].order = favorite.order;
|
|
} else {
|
|
const r91 = FavoriteGIF.toBinary(favorite).length + url.length + 7;
|
|
if (!(length2 + r91 > MAX_FAVORITE_GIFS_SIZE)) {
|
|
length2 = length2 + r91;
|
|
a0.favoriteGifs.gifs[url] = favorite;
|
|
}
|
|
}
|
|
}
|
|
while (FavoriteGIFs.toBinary(a0.favoriteGifs).length > MAX_FAVORITE_GIFS_SIZE) {
|
|
const gifs = a0.favoriteGifs.gifs;
|
|
let r123 = 0;
|
|
const r124 = $forInKeys(gifs);
|
|
let r125 = 0;
|
|
const length3 = r124.length;
|
|
if (r124 !== void 0) {
|
|
do {
|
|
const r127 = r123;
|
|
const r128 = r125 < length3 ? r124[r125++] : void 0;
|
|
if (r128 === void 0) {
|
|
break;
|
|
}
|
|
delete a0.favoriteGifs.gifs[r128];
|
|
r123 = r127 + 1;
|
|
} while (!(10 <= r123));
|
|
}
|
|
}
|
|
return true;
|
|
},
|
|
cleanup: () => {}
|
|
}, {
|
|
version: 7,
|
|
run: (a0) => {
|
|
const state3 = Module589.PersistedStore.migrateAndReadStoreState("ApplicationCommandFrecency", []).state;
|
|
if (state3 == null) {
|
|
return false;
|
|
}
|
|
const r3 = Module12.size(state3.usageHistory) > 0;
|
|
let r20 = false;
|
|
if (r3) {
|
|
a0.applicationCommandFrecency = _Module1341.ApplicationCommandFrecency.create();
|
|
a0.applicationCommandFrecency.applicationCommands = serializeUsageHistory(state3.usageHistory, 500);
|
|
r20 = true;
|
|
}
|
|
return r20;
|
|
},
|
|
cleanup: () => {
|
|
Storage.remove("ApplicationCommandFrecency");
|
|
}
|
|
}, {
|
|
version: 8,
|
|
run: (a0) => {
|
|
const state2 = Module589.PersistedStore.migrateAndReadStoreState("SoundboardFavoriteStore", []).state;
|
|
if (state2 == null) {
|
|
return false;
|
|
}
|
|
const r3 = Module12.size(state2.favoriteSounds) > 0;
|
|
let r22 = false;
|
|
if (r3) {
|
|
a0.favoriteSoundboardSounds = FavoriteSoundboardSounds.create();
|
|
SnowflakeUtils.keys(state2.favoriteSounds).forEach((item) => {
|
|
new Set(state2.favoriteSounds[item]).forEach((item) => {
|
|
const favoriteSoundboardSounds = a0.favoriteSoundboardSounds;
|
|
if (favoriteSoundboardSounds != null) {
|
|
favoriteSoundboardSounds.soundIds.push(item);
|
|
}
|
|
});
|
|
});
|
|
r22 = true;
|
|
}
|
|
return r22;
|
|
},
|
|
cleanup: () => {
|
|
Storage.remove("SoundboardFavoriteStore");
|
|
}
|
|
}, {
|
|
version: 9,
|
|
run: (a0) => {
|
|
const r16 = Storage.get(c9384_6);
|
|
if (r16 == null) {
|
|
return false;
|
|
}
|
|
for (const key in r16) {
|
|
if (!ID_REGEX.test(key)) {
|
|
delete r16[key];
|
|
}
|
|
}
|
|
a0.guildAndChannelFrecency = GuildAndChannelFrecency.create();
|
|
a0.guildAndChannelFrecency.guildAndChannels = serializeUsageHistory(r16, 100);
|
|
return true;
|
|
},
|
|
cleanup: () => {
|
|
Storage.remove(c9384_6);
|
|
}
|
|
}, {
|
|
version: 10,
|
|
run: (a0) => {
|
|
if (a0.emojiFrecency == null) {
|
|
return false;
|
|
}
|
|
let emojis = a0.emojiFrecency.emojis;
|
|
if (emojis == null) {
|
|
emojis = {};
|
|
}
|
|
const r3 = Module12.size(emojis) > 0;
|
|
let r1 = false;
|
|
if (r3) {
|
|
const emojiReactionFrecency = EmojiFrecency.create();
|
|
EmojiFrecency.mergePartial(emojiReactionFrecency, a0.emojiFrecency);
|
|
if (a0.emojiReactionFrecency != null) {
|
|
EmojiFrecency.mergePartial(emojiReactionFrecency, a0.emojiReactionFrecency);
|
|
}
|
|
a0.emojiReactionFrecency = emojiReactionFrecency;
|
|
r1 = true;
|
|
}
|
|
return r1;
|
|
},
|
|
cleanup: () => {}
|
|
}, {
|
|
version: 11,
|
|
run: (a0) => {
|
|
let r2;
|
|
if (a0.favoriteGifs != null && a0.favoriteGifs.gifs != null) {
|
|
const gifs = a0.favoriteGifs.gifs;
|
|
let r3 = false;
|
|
let r6 = false;
|
|
for (const key in gifs) {
|
|
r2 = r3;
|
|
r6 = r2;
|
|
const r28 = a0.favoriteGifs.gifs[key];
|
|
r3 = r2;
|
|
if (r28 != null) {
|
|
if (r28.src.startsWith("//")) {
|
|
r28.src = `https:${r28.src}`;
|
|
r2 = true;
|
|
}
|
|
if (r28.format !== GIFType.IMAGE && /\.(webp|avif|gif)(\?|$)/i.test(r28.src)) {
|
|
r28.format = GIFType.IMAGE;
|
|
r2 = true;
|
|
}
|
|
r3 = r2;
|
|
}
|
|
}
|
|
r2 = r3;
|
|
r6 = r2;
|
|
return r6;
|
|
}
|
|
return false;
|
|
},
|
|
cleanup: () => {}
|
|
}];
|
|
export default r24;
|