'use strict' const { createJsonExportDualHealMixin } = require('pearcord-json-export-mixin') const emojiJsonMixin = createJsonExportDualHealMixin({ gossipEntries: [ { method: '_shouldGossipEmojiRegistryJson', keysField: '_emojiRegistryJsonGossipKeys', initMethod: '_initEmojiRegistryJsonMixinState' }, { method: '_shouldGossipStickerPackExportJson', gossipHashPrefix: 'effective:', keysField: '_stickerPackRegistryJsonGossipKeys', initMethod: '_initStickerPackJsonMixinState' }, ], heals: [ { watermarkField: '_emojiJsonHealWatermark', shouldGossipMethod: '_shouldGossipEmojiRegistryJson', healMethod: '_healEmojiRegistryExportCursorOnPartition', spanKind: 'emoji.json', healContext: 'heal.emoji', countField: 'guildEmojiJsonCount', bridgeKind: 'emoji.json', listExportsMethod: 'listEmojiRegistryJsonExports' }, { watermarkField: '_stickerPackJsonHealWatermark', shouldGossipMethod: '_shouldGossipStickerPackExportJson', healMethod: '_healStickerPackExportCursorOnPartition', spanKind: 'emoji.json', healContext: 'heal.sticker', countField: 'guildEmojiJsonCount', bridgeKind: 'emoji.json', listExportsMethod: 'listStickerPackExportJsonExports', extraSpanEnd: (rows) => ({ emojiCount: rows[0]?.emojiCount || 0 }) } ] }) module.exports = { emojiJsonMixin }