186 lines
6.7 KiB
TypeScript
186 lines
6.7 KiB
TypeScript
// Module ID: 5817
|
|
// Function ID: 5818
|
|
// Name: StickersPackStore
|
|
// Dependencies: [32, 2067, 2074, 1103, 5582, 2]
|
|
|
|
// Module 5817 (StickersPackStore)
|
|
import DurationsDefault from "Durations" /* 1103 */;
|
|
import js_shim_PlainRecord from "js_shim/PlainRecord" /* 2067 */;
|
|
import LibdiscoreStore2 from "LibdiscoreStore" /* 2074 */;
|
|
import StickersTypes from "StickersTypes" /* 5582 */;
|
|
import _slicedToArray from "_slicedToArray" /* 32 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
let map;
|
|
|
|
function parsePackStickers(stickers) {
|
|
const obj = {};
|
|
const iter = stickers[Symbol.iterator]();
|
|
const nextResult = iter.next();
|
|
while (iter !== undefined) {
|
|
obj[nextResult.id] = parseServerPackSticker(nextResult);
|
|
continue;
|
|
}
|
|
return obj;
|
|
}
|
|
function parseServerPackSticker(id) {
|
|
const obj = { id: id.id, tags: id.tags, type: id.type, name: id.name, description: id.description, format_type: id.format_type, pack_id: id.pack_id };
|
|
obj[TypeTag] = "PackSticker";
|
|
return obj;
|
|
}
|
|
function deriveStickerMetadata(name, name2) {
|
|
let trimmed;
|
|
const items = [];
|
|
const obj = { type: StickersTypes.StickerMetadataTypes.STICKER_NAME, value: trimmed.toLocaleLowerCase() };
|
|
const str = name.name;
|
|
trimmed = str.trim();
|
|
items.push(obj);
|
|
if (null != name2) {
|
|
const push = items.push;
|
|
const obj2 = { type: StickersTypes.StickerMetadataTypes.PACK_NAME, value: name2.name };
|
|
push(obj2);
|
|
}
|
|
return items;
|
|
}
|
|
function ingestStickerPack(item10017, packStickersDatabase, packsDatabase, premiumPacksDatabase, arg4) {
|
|
const result = packsDatabase.set(item10017.id, item10017);
|
|
const result1 = premiumPacksDatabase.set(item10017.id, item10017);
|
|
packStickersDatabase.setPartition(item10017.id, parsePackStickers(item10017.stickers));
|
|
}
|
|
const TypeTag = js_shim_PlainRecord.TypeTag;
|
|
const LibdiscoreStore = LibdiscoreStore2.LibdiscoreStore;
|
|
let c4 = false;
|
|
let closure_5 = null;
|
|
const HOUR = DurationsDefault.Millis.HOUR;
|
|
class StickersPackStore extends LibdiscoreStore {
|
|
constructor() {
|
|
const applyArgumentsResult = HermesBuiltin.applyArguments(this, new.target);
|
|
require = applyArgumentsResult;
|
|
applyArgumentsResult.packsDatabase = applyArgumentsResult.addKVDatabase("stickerPacks");
|
|
applyArgumentsResult.packStickersDatabase = applyArgumentsResult.addKKVDatabase("packStickers");
|
|
const packStickersDatabase = applyArgumentsResult.packStickersDatabase;
|
|
applyArgumentsResult.packStickerByIdIndex = packStickersDatabase.addSecondaryKVIndex("id");
|
|
applyArgumentsResult.premiumPacksDatabase = applyArgumentsResult.addKVDatabase("premiumPacks");
|
|
const packStickersDatabase2 = applyArgumentsResult.packStickersDatabase;
|
|
applyArgumentsResult.getAllPackStickers = packStickersDatabase2.memoized((obj) => {
|
|
map = new Map();
|
|
for (const key10009 in obj) {
|
|
let _Object = Object;
|
|
let result = map.set(key10009, Object.values(obj[key10009].root));
|
|
continue;
|
|
}
|
|
return map;
|
|
});
|
|
const packStickersDatabase3 = applyArgumentsResult.packStickersDatabase;
|
|
applyArgumentsResult.getStickerMetadataMap = packStickersDatabase3.memoized((obj) => {
|
|
let tmp4;
|
|
let tmp5;
|
|
map = new Map();
|
|
for (const key10012 in obj) {
|
|
let _Object = Object;
|
|
let entries = Object.entries(obj[key10012].root);
|
|
for (const item10014 of entries) {
|
|
let tmp3 = _slicedToArray(item10014, 2);
|
|
let packsDatabase = require.packsDatabase;
|
|
[tmp4, tmp5] = tmp3;
|
|
let result = map.set(tmp4, deriveStickerMetadata(tmp5, packsDatabase.get(key10012)));
|
|
continue;
|
|
}
|
|
}
|
|
return map;
|
|
});
|
|
const premiumPacksDatabase = applyArgumentsResult.premiumPacksDatabase;
|
|
applyArgumentsResult.getPremiumPacks = premiumPacksDatabase.memoized((arg0) => Object.values(arg0));
|
|
return applyArgumentsResult;
|
|
}
|
|
stateWrapper() {
|
|
const self = this;
|
|
return {
|
|
packsDatabase: this.packsDatabase,
|
|
packStickersDatabase: this.packStickersDatabase,
|
|
premiumPacksDatabase: this.premiumPacksDatabase,
|
|
markDirty() {
|
|
return self.markDirty();
|
|
},
|
|
clearAllDBs() {
|
|
return self.clearAllDatabases();
|
|
}
|
|
};
|
|
}
|
|
getStickerById(arg0) {
|
|
const packStickerByIdIndex = this.packStickerByIdIndex;
|
|
return packStickerByIdIndex.get(arg0);
|
|
}
|
|
isPremiumPack(arg0) {
|
|
const premiumPacksDatabase = this.premiumPacksDatabase;
|
|
return null != premiumPacksDatabase.get(arg0);
|
|
}
|
|
getStickerPack(arg0) {
|
|
const packsDatabase = this.packsDatabase;
|
|
return packsDatabase.get(arg0);
|
|
}
|
|
}
|
|
const prototype = StickersPackStore.prototype;
|
|
Object.defineProperty(prototype, "isFetchingStickerPacks", {
|
|
get: function isFetchingStickerPacks() {
|
|
return c4;
|
|
},
|
|
set: undefined
|
|
});
|
|
Object.defineProperty(prototype, "hasLoadedStickerPacks", {
|
|
get: function hasLoadedStickerPacks() {
|
|
let tmp = null != closure_5;
|
|
if (tmp) {
|
|
const _performance = performance;
|
|
const sum = closure_5 + HOUR;
|
|
tmp = sum > performance.now();
|
|
}
|
|
return tmp;
|
|
},
|
|
set: undefined
|
|
});
|
|
StickersPackStore.displayName = "StickersPackStore";
|
|
let obj = {
|
|
LOGOUT(arg0, clearAllDBs) {
|
|
clearAllDBs.clearAllDBs();
|
|
},
|
|
STICKER_PACK_FETCH_SUCCESS(pack, arg1) {
|
|
let packStickersDatabase;
|
|
let packsDatabase;
|
|
let premiumPacksDatabase;
|
|
pack = pack.pack;
|
|
({ packStickersDatabase, packsDatabase, premiumPacksDatabase } = arg1);
|
|
const result = packsDatabase.set(pack.id, pack);
|
|
packStickersDatabase.setPartition(pack.id, parsePackStickers(pack.stickers));
|
|
},
|
|
STICKER_PACKS_FETCH_START(arg0, markDirty) {
|
|
c4 = true;
|
|
markDirty.markDirty();
|
|
},
|
|
STICKER_PACKS_FETCH_SUCCESS(packs, markDirty) {
|
|
let packStickersDatabase;
|
|
let packsDatabase;
|
|
let premiumPacksDatabase;
|
|
packs = packs.packs;
|
|
({ packStickersDatabase, packsDatabase, premiumPacksDatabase } = markDirty);
|
|
c4 = false;
|
|
markDirty.markDirty();
|
|
closure_5 = performance.now();
|
|
for (const item10017 of packs) {
|
|
let flag = true;
|
|
let tmp7 = ingestStickerPack(item10017, packStickersDatabase, packsDatabase, premiumPacksDatabase, true);
|
|
continue;
|
|
}
|
|
},
|
|
PACK_STICKER_FETCH_SUCCESS(sticker, packStickersDatabase) {
|
|
sticker = sticker.sticker;
|
|
packStickersDatabase = packStickersDatabase.packStickersDatabase;
|
|
const obj = { id: sticker.id, tags: sticker.tags, type: sticker.type, name: sticker.name, description: sticker.description, format_type: sticker.format_type, pack_id: sticker.pack_id };
|
|
obj[TypeTag] = "PackSticker";
|
|
packStickersDatabase.setRecord(sticker.pack_id, sticker.id, obj);
|
|
}
|
|
};
|
|
const stickersPackStore = new StickersPackStore(obj);
|
|
let result = size.fileFinishedImporting("modules/stickers/StickersPackStore.tsx");
|
|
|
|
export default stickersPackStore;
|