const { c: e } = require("hyperschema/runtime"),
d = 6
let n = 6
const o = {
preencode(d, o) {
;(e.uint.preencode(d, o.minimum),
d.end++,
o.autoupgrade && e.uint.preencode(d, o.autoupgrade),
n >= 3 && o.forceUpdate && e.uint.preencode(d, o.forceUpdate),
n >= 4 && o.minVersion && R.preencode(d, o.minVersion))
},
encode(d, o) {
const c =
(o.autoupgrade ? 1 : 0) |
(n >= 3 && o.forceUpdate ? 2 : 0) |
(n >= 4 && o.minVersion ? 4 : 0)
;(e.uint.encode(d, o.minimum),
e.uint.encode(d, c),
o.autoupgrade && e.uint.encode(d, o.autoupgrade),
n >= 3 && o.forceUpdate && e.uint.encode(d, o.forceUpdate),
n >= 4 && o.minVersion && R.encode(d, o.minVersion))
},
decode(d) {
const o = e.uint.decode(d),
c = e.uint.decode(d)
return {
minimum: o,
autoupgrade: 1 & c ? e.uint.decode(d) : 0,
forceUpdate: n >= 3 && 2 & c ? e.uint.decode(d) : 0,
minVersion: n >= 4 && 4 & c ? R.decode(d) : null,
}
},
},
c = e.array(e.fixed32),
r = {
preencode(d, n) {
;(e.fixed32.preencode(d, n.db),
e.fixed32.preencode(d, n.reserved),
e.fixed32.preencode(d, n.blobs),
c.preencode(d, n.rpc))
},
encode(d, n) {
;(e.fixed32.encode(d, n.db),
e.fixed32.encode(d, n.reserved),
e.fixed32.encode(d, n.blobs),
c.encode(d, n.rpc))
},
decode: (d) => ({
db: e.fixed32.decode(d),
reserved: e.fixed32.decode(d),
blobs: e.fixed32.decode(d),
rpc: c.decode(d),
}),
},
i = e.array(e.frame(r)),
s = c,
t = c,
u = c,
a = c,
l = {
preencode(d, n) {
;(d.end++,
n.userRegistries && i.preencode(d, n.userRegistries),
n.blindPeers && s.preencode(d, n.blindPeers),
n.blindRelays && t.preencode(d, n.blindRelays),
n.gatekeepers && u.preencode(d, n.gatekeepers),
n.discovery && a.preencode(d, n.discovery),
n.feedback && e.fixed32.preencode(d, n.feedback))
},
encode(d, n) {
const o =
(n.userRegistries ? 1 : 0) |
(n.blindPeers ? 2 : 0) |
(n.blindRelays ? 4 : 0) |
(n.gatekeepers ? 8 : 0) |
(n.discovery ? 16 : 0) |
(n.feedback ? 32 : 0)
;(e.uint.encode(d, o),
n.userRegistries && i.encode(d, n.userRegistries),
n.blindPeers && s.encode(d, n.blindPeers),
n.blindRelays && t.encode(d, n.blindRelays),
n.gatekeepers && u.encode(d, n.gatekeepers),
n.discovery && a.encode(d, n.discovery),
n.feedback && e.fixed32.encode(d, n.feedback))
},
decode(d) {
const n = e.uint.decode(d)
return {
userRegistries: 1 & n ? i.decode(d) : null,
blindPeers: 2 & n ? s.decode(d) : null,
blindRelays: 4 & n ? t.decode(d) : null,
gatekeepers: 8 & n ? u.decode(d) : null,
discovery: 16 & n ? a.decode(d) : null,
feedback: 32 & n ? e.fixed32.decode(d) : null,
}
},
},
p = c,
f = c,
b = {
preencode(e, d) {
;(e.end++,
d.disabled && p.preencode(e, d.disabled),
n >= 6 && d.verified && f.preencode(e, d.verified))
},
encode(d, o) {
const c = (o.disabled ? 1 : 0) | (n >= 6 && o.verified ? 2 : 0)
;(e.uint.encode(d, c),
o.disabled && p.encode(d, o.disabled),
n >= 6 && o.verified && f.encode(d, o.verified))
},
decode(d) {
const o = e.uint.decode(d)
return {
disabled: 1 & o ? p.decode(d) : null,
verified: n >= 6 && 2 & o ? f.decode(d) : null,
}
},
},
m = e.frame(o),
g = e.frame(l),
v = e.frame(b),
k = {
preencode(e, d) {
;(m.preencode(e, d.versions),
e.end++,
d.services && g.preencode(e, d.services),
d.rooms && v.preencode(e, d.rooms),
n >= 2 && d.profile && U.preencode(e, d.profile),
n >= 5 && d.debug && V.preencode(e, d.debug))
},
encode(d, o) {
const c =
(o.services ? 1 : 0) |
(o.rooms ? 2 : 0) |
(n >= 2 && o.profile ? 4 : 0) |
(n >= 5 && o.debug ? 8 : 0)
;(m.encode(d, o.versions),
e.uint.encode(d, c),
o.services && g.encode(d, o.services),
o.rooms && v.encode(d, o.rooms),
n >= 2 && o.profile && U.encode(d, o.profile),
n >= 5 && o.debug && V.encode(d, o.debug))
},
decode(d) {
const o = m.decode(d),
c = e.uint.decode(d)
return {
versions: o,
services: 1 & c ? g.decode(d) : null,
rooms: 2 & c ? v.decode(d) : null,
profile: n >= 2 && 4 & c ? U.decode(d) : null,
debug: n >= 5 && 8 & c ? V.decode(d) : null,
}
},
},
y = {
preencode(e, d) {
e.end++
},
encode(d, o) {
const c = n >= 2 && o.disableUnreadSync ? 1 : 0
e.uint.encode(d, c)
},
decode(d) {
const o = e.uint.decode(d)
return { disableUnreadSync: n >= 2 && !!(1 & o) }
},
},
x = {
preencode(d, n) {
;(e.uint.preencode(d, n.major), e.uint.preencode(d, n.minor), e.uint.preencode(d, n.patch))
},
encode(d, n) {
;(e.uint.encode(d, n.major), e.uint.encode(d, n.minor), e.uint.encode(d, n.patch))
},
decode: (d) => ({ major: e.uint.decode(d), minor: e.uint.decode(d), patch: e.uint.decode(d) }),
},
h = {
preencode(d, o) {
;(d.end++, n >= 5 && o.unlockHash && e.fixed32.preencode(d, o.unlockHash))
},
encode(d, o) {
const c = n >= 5 && o.unlockHash ? 1 : 0
;(e.uint.encode(d, c), n >= 5 && o.unlockHash && e.fixed32.encode(d, o.unlockHash))
},
decode(d) {
const o = e.uint.decode(d)
return { unlockHash: n >= 5 && 1 & o ? e.fixed32.decode(d) : null }
},
},
R = e.frame(x),
U = e.frame(y),
V = e.frame(h)
function E(e) {
n = e
}
function H(d, o, c = 6) {
return ((n = c), e.encode(S(d), o))
}
function P(d, o, c = 6) {
return ((n = c), e.decode(S(d), o))
}
function w(e) {
throw new Error("Enum not found " + e)
}
function S(e) {
switch (e) {
case "@config/versions":
return o
case "@config/user-registry":
return r
case "@config/services":
return l
case "@config/rooms":
return b
case "@config/keet-config":
return k
case "@config/profile":
return y
case "@config/semver":
return x
case "@config/debug":
return h
default:
throw new Error("Encoder not found " + e)
}
}
function j(e, d = 6) {
const o = S(e)
return {
preencode(e, c) {
;((n = d), o.preencode(e, c))
},
encode(e, c) {
;((n = d), o.encode(e, c))
},
decode: (e) => ((n = d), o.decode(e)),
}
}
const q = j
module.exports = {
resolveStruct: q,
getStruct: j,
getEnum: w,
getEncoding: S,
encode: H,
decode: P,
setVersion: E,
version: n,
}