OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-core-schemas / lib / plugins / ops.js

22 lines · javascript ref:
const e = require("compact-encoding"),
  n = {
    TYPE: 16,
    preencode(n, d) {
      ;(n.end++,
        e.string.preencode(n, d.name),
        d.encoded ? e.buffer.preencode(n, d.value) : e.any.preencode(n, d.value))
    },
    encode(n, d) {
      const o = n.start++
      e.string.encode(n, d.name)
      let c = 0
      ;(d.encoded ? ((c |= 1), e.buffer.encode(n, d.value)) : e.any.encode(n, d.value),
        (n.buffer[o] = c))
    },
    decode(n) {
      const d = e.uint.decode(n)
      return { name: e.string.decode(n), value: 1 & d ? e.buffer.decode(n) : e.any.decode(n) }
    },
  }
module.exports = { PluginOperation: n }