export class PollConverter { static encode(p, noteId, emojis) { const now = new Date(); const count = p.choices.reduce((sum, choice)=>sum + choice.votes, 0); return { id: noteId, expires_at: p.expiresAt?.toISOString() ?? null, expired: p.expiresAt == null ? false : now > p.expiresAt, multiple: p.multiple, votes_count: count, options: p.choices.map((c)=>this.encodeChoice(c)), emojis: emojis, voted: p.choices.some((c)=>c.isVoted), own_votes: p.choices.filter((c)=>c.isVoted).map((c)=>p.choices.indexOf(c)) }; } static encodeChoice(c) { return { title: c.text, votes_count: c.votes }; } }