UNPKG

836 BJavaScriptView Raw
1import { unescape } from 'plug-message-split'
2import { partial, parseDate } from '../util'
3import makeProto from '../wrap'
4
5export default function wrapWaitlistBan (mp, data) {
6 data.username = unescape(data.username)
7 data.moderator = unescape(data.moderator)
8
9 const ban = {
10 user: mp.user(data.id) || mp.wrapUser({ id: data.id, username: data.username }),
11 moderator: mp.user(data.moderatorID) || mp.userByName(data.moderator) ||
12 mp.wrapUser({ id: data.moderatorID, username: data.moderator }),
13 moderatorName: data.moderator,
14 reason: data.reason,
15 duration: data.duration,
16 timestamp: typeof data.timestamp === 'string'
17 ? parseDate(data.timestamp)
18 : data.timestamp
19 }
20 return makeProto(ban, {
21 getUser: partial(mp.getUser, data.id),
22 remove: partial(mp.waitlistUnban, data.id)
23 })
24}