OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-core-schemas / lib / config / messages.js

31 lines · javascript ref:
const e = require("compact-encoding"),
  n = {
    preencode(n, t) {
      let d = 0
      ;(t.type && (d |= 1),
        t.signature && (d |= 2),
        e.uint.preencode(n, d),
        e.fixed32.preencode(n, t.key),
        t.type && e.uint.preencode(n, t.type),
        t.signature && e.buffer.preencode(n, t.signature))
    },
    encode(n, t) {
      let d = 0
      ;(t.type && (d |= 1),
        t.signature && (d |= 2),
        e.uint.encode(n, d),
        e.fixed32.encode(n, t.key),
        t.type && e.uint.encode(n, t.type),
        t.signature && e.buffer.encode(n, t.signature))
    },
    decode(n) {
      const t = e.uint.decode(n)
      return {
        key: e.fixed32.decode(n),
        type: 1 & t ? e.uint.decode(n) : 0,
        signature: 2 & t ? e.buffer.decode(n) : null,
      }
    },
  }
module.exports = { MirrorRecord: n }