const e = require("compact-encoding"),
{ Identity: d } = require("./messages"),
o = {
TYPE: 10,
preencode(d, o) {
;(d.end++, e.string.preencode(d, o.displayName), e.buffer.preencode(d, o.avatar))
},
encode(d, o) {
const n = d.start++
;(e.string.encode(d, o.displayName), e.buffer.encode(d, o.avatar))
let r = 0
;(o.pushNotifications && (r |= 1), (d.buffer[n] = r))
},
decode(d) {
const o = e.uint.decode(d)
return {
displayName: e.string.decode(d),
avatar: e.buffer.decode(d),
pushNotifications: !!(1 & o),
}
},
},
n = {
TYPE: 17,
preencode(o, n) {
let r = 0
;(n.displayName && (r |= 1),
n.avatar && (r |= 2),
n.identity && (r |= 4),
n.isMobile && (r |= 8),
e.uint.preencode(o, r),
n.displayName && e.string.preencode(o, n.displayName),
n.avatar && e.buffer.preencode(o, n.avatar),
n.identity && d.preencode(o, n.identity))
},
encode(o, n) {
let r = 0
;(n.displayName && (r |= 1),
n.avatar && (r |= 2),
n.identity && (r |= 4),
n.isMobile && (r |= 8),
e.uint.encode(o, r),
n.displayName && e.string.encode(o, n.displayName),
n.avatar && e.buffer.encode(o, n.avatar),
n.identity && d.encode(o, n.identity))
},
decode(o) {
const n = e.uint.decode(o)
return {
displayName: 1 & n ? e.string.decode(o) : null,
avatar: 2 & n ? e.buffer.decode(o) : null,
identity: 4 & n ? d.decode(o) : null,
isMobile: !!(8 & n),
}
},
},
r = {
TYPE: 32,
preencode(d, o) {
;(e.fixed32.preencode(d, o.memberKey), e.uint.preencode(d, o.role))
},
encode(d, o) {
;(e.fixed32.encode(d, o.memberKey), e.uint.encode(d, o.role))
},
decode: (d) => ({ memberKey: e.fixed32.decode(d), role: e.uint.decode(d) }),
},
i = {
TYPE: 33,
preencode(d, o) {
e.fixed32.preencode(d, o.memberKey)
},
encode(d, o) {
e.fixed32.encode(d, o.memberKey)
},
decode: (d) => ({ memberKey: e.fixed32.decode(d) }),
},
t = {
TYPE: 38,
preencode(d, o) {
e.fixed32.preencode(d, o.memberKey)
},
encode(d, o) {
e.fixed32.encode(d, o.memberKey)
},
decode: (d) => ({ memberKey: e.fixed32.decode(d) }),
},
a = {
TYPE: 39,
preencode(d, o) {
e.fixed32.preencode(d, o.memberKey)
},
encode(d, o) {
e.fixed32.encode(d, o.memberKey)
},
decode: (d) => ({ memberKey: e.fixed32.decode(d) }),
}
module.exports = {
UpdateMemberOperationV1: o,
UpdateMemberOperationV2: n,
ChangeMemberRoleOperation: r,
RemoveMemberOperation: i,
MuteMemberOperation: t,
UnmuteMemberOperation: a,
}