'use strict' const { classifyMessageLayout, LAYOUT } = require('pearcord-message-layout') const { parseHubMirrorJson, hubMirrorFromMessage } = require('pearcord-hub-cards') function messageLayoutKind (m) { const layout = classifyMessageLayout(m) if (layout === LAYOUT.HUB) return 'hub' if (layout === LAYOUT.COMBO) return 'combo' if (layout === LAYOUT.STICKER_ONLY) return 'sticker-only' if (layout === LAYOUT.EMOJI_ONLY) return 'emoji-only' return 'text' } function enrichMessageStickerNames (m) { if (!m) return m if ((m.stickerNames || []).length) return m if (!m.stickerNamesJson) return m try { const parsed = JSON.parse(m.stickerNamesJson) if (Array.isArray(parsed) && parsed.length) { return { ...m, stickerNames: parsed } } } catch { /* ignore */ } return m } function enrichMessageHubMirror (m) { if (!m) return m if (m.hubMirror?.kind === 'hub-mirror') return m if (m.hubMirrorJson) { const card = parseHubMirrorJson(m.hubMirrorJson) if (card) return { ...m, hubMirror: card } } const legacy = hubMirrorFromMessage(m) if (legacy) return { ...m, hubMirror: legacy } return m } function enrichMessageRow (m) { return enrichMessageHubMirror(enrichMessageStickerNames(m)) } module.exports = { messageLayoutKind, enrichMessageStickerNames, enrichMessageHubMirror, enrichMessageRow }