UNPKG

blind-peer-encodings

Version:
133 lines (116 loc) 2.83 kB
// This file is autogenerated by the hyperschema compiler // Schema Version: 1 /* eslint-disable camelcase */ /* eslint-disable quotes */ /* eslint-disable space-before-function-paren */ const { c } = require('hyperschema/runtime') const VERSION = 1 // eslint-disable-next-line no-unused-vars let version = VERSION // @blind-peer-admin/top-k-record const encoding0 = { preencode(state, m) { c.string.preencode(state, m.key) c.uint.preencode(state, m.count) }, encode(state, m) { c.string.encode(state, m.key) c.uint.encode(state, m.count) }, decode(state) { const r0 = c.string.decode(state) const r1 = c.uint.decode(state) return { key: r0, count: r1 } } } // @blind-peer-admin/query-top-k-response.ip const encoding1_1 = c.array(c.frame(encoding0)) // @blind-peer-admin/query-top-k-response.referrer const encoding1_2 = encoding1_1 // @blind-peer-admin/query-top-k-response.peerPublicKey const encoding1_3 = encoding1_1 // @blind-peer-admin/query-top-k-response const encoding1 = { preencode(state, m) { c.uint.preencode(state, m.version) encoding1_1.preencode(state, m.ip) encoding1_2.preencode(state, m.referrer) encoding1_3.preencode(state, m.peerPublicKey) }, encode(state, m) { c.uint.encode(state, m.version) encoding1_1.encode(state, m.ip) encoding1_2.encode(state, m.referrer) encoding1_3.encode(state, m.peerPublicKey) }, decode(state) { const r0 = c.uint.decode(state) const r1 = encoding1_1.decode(state) const r2 = encoding1_2.decode(state) const r3 = encoding1_3.decode(state) return { version: r0, ip: r1, referrer: r2, peerPublicKey: r3 } } } function setVersion(v) { version = v } function encode(name, value, v = VERSION) { version = v return c.encode(getEncoding(name), value) } function decode(name, buffer, v = VERSION) { version = v return c.decode(getEncoding(name), buffer) } function getEnum(name) { switch (name) { default: throw new Error('Enum not found ' + name) } } function getEncoding(name) { switch (name) { case '@blind-peer-admin/top-k-record': return encoding0 case '@blind-peer-admin/query-top-k-response': return encoding1 default: throw new Error('Encoder not found ' + name) } } function getStruct(name, v = VERSION) { const enc = getEncoding(name) return { preencode(state, m) { version = v enc.preencode(state, m) }, encode(state, m) { version = v enc.encode(state, m) }, decode(state) { version = v return enc.decode(state) } } } const resolveStruct = getStruct // compat module.exports = { resolveStruct, getStruct, getEnum, getEncoding, encode, decode, setVersion, version }