OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-indexing / plugins / kv-store / apply.js

24 lines · javascript ref:
const e = require("sub-encoder"),
  t = require("compact-encoding"),
  { PluginSchema: i } = require("@holepunchto/keet-core-schemas"),
  { PluginOperation: r } = i.Operations
module.exports = class {
  static PLUGIN_NAME = "@holepunchto/kv-store"
  constructor(i, r) {
    ;((this.view = i),
      (this.prefix = r),
      (this._enc = { keyEncoding: new e(r, t.raw.string), valueEncoding: t.raw.string }))
  }
  _put(e, t) {
    return this.view.bee.put(e, t, this._enc)
  }
  _del(e) {
    return this.view.bee.del(e, this._enc)
  }
  apply(e) {
    if (e.type !== r.TYPE || e.value.name !== this.constructor.PLUGIN_NAME) return
    const { type: t, key: i, value: n } = e.value.value
    return "put" === t ? this._put(i, n) : "del" === t ? this._del(i, n) : void 0
  }
}