UNPKG

key-collection

Version:
100 lines (85 loc) 2.05 kB
// This file is autogenerated by the hyperschema compiler // Schema Version: 1 /* eslint-disable camelcase */ /* eslint-disable quotes */ const VERSION = 1 const { c } = require('hyperschema/runtime') // eslint-disable-next-line no-unused-vars let version = VERSION // @key-collection/key-entry const encoding0 = { preencode (state, m) { c.fixed32.preencode(state, m.key) c.string.preencode(state, m.name) }, encode (state, m) { c.fixed32.encode(state, m.key) c.string.encode(state, m.name) }, decode (state) { const r0 = c.fixed32.decode(state) const r1 = c.string.decode(state) return { key: r0, name: r1 } } } // @key-collection/key-entry/hyperdb#0 const encoding1 = { preencode (state, m) { c.string.preencode(state, m.name) }, encode (state, m) { c.string.encode(state, m.name) }, decode (state) { const r1 = c.string.decode(state) return { key: null, name: r1 } } } 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 '@key-collection/key-entry': return encoding0 case '@key-collection/key-entry/hyperdb#0': 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 }