const { c: e } = require("hyperschema/runtime"),
d = 5
let n = 5
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 && h.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 && h.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 ? h.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 = {
preencode(e, d) {
;(e.end++, d.disabled && p.preencode(e, d.disabled))
},
encode(d, n) {
const o = n.disabled ? 1 : 0
;(e.uint.encode(d, o), n.disabled && p.encode(d, n.disabled))
},
decode: (d) => ({ disabled: 1 & e.uint.decode(d) ? p.decode(d) : null }),
},
b = e.frame(o),
m = e.frame(l),
g = e.frame(f),
v = {
preencode(e, d) {
;(b.preencode(e, d.versions),
e.end++,
d.services && m.preencode(e, d.services),
d.rooms && g.preencode(e, d.rooms),
n >= 2 && d.profile && R.preencode(e, d.profile),
n >= 5 && d.debug && U.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)
;(b.encode(d, o.versions),
e.uint.encode(d, c),
o.services && m.encode(d, o.services),
o.rooms && g.encode(d, o.rooms),
n >= 2 && o.profile && R.encode(d, o.profile),
n >= 5 && o.debug && U.encode(d, o.debug))
},
decode(d) {
const o = b.decode(d),
c = e.uint.decode(d)
return {
versions: o,
services: 1 & c ? m.decode(d) : null,
rooms: 2 & c ? g.decode(d) : null,
profile: n >= 2 && 4 & c ? R.decode(d) : null,
debug: n >= 5 && 8 & c ? U.decode(d) : null,
}
},
},
k = {
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) }
},
},
y = {
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) }),
},
x = {
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 }
},
},
h = e.frame(y),
R = e.frame(k),
U = e.frame(x)
function V(e) {
n = e
}
function E(d, o, c = 5) {
return ((n = c), e.encode(w(d), o))
}
function H(d, o, c = 5) {
return ((n = c), e.decode(w(d), o))
}
function P(e) {
throw new Error("Enum not found " + e)
}
function w(e) {
switch (e) {
case "@config/versions":
return o
case "@config/user-registry":
return r
case "@config/services":
return l
case "@config/rooms":
return f
case "@config/keet-config":
return v
case "@config/profile":
return k
case "@config/semver":
return y
case "@config/debug":
return x
default:
throw new Error("Encoder not found " + e)
}
}
function S(e, d = 5) {
const o = w(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 j = S
module.exports = {
resolveStruct: j,
getStruct: S,
getEnum: P,
getEncoding: w,
encode: E,
decode: H,
setVersion: V,
version: n,
}