OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-registry / spec / hyperdb / index.js

415 lines · javascript ref:
const { IndexEncoder: e, c: n, b4a: t } = require("hyperdb/runtime"),
  { version: r, getEncoding: o, setVersion: c } = require("./messages.js"),
  d = { schema: r, db: 1 },
  l = require("../../lib/db-actions.js"),
  s = new e([e.STRING], { prefix: 0 })
function u(e) {
  const n = e.name
  return void 0 === n ? [] : [n]
}
const i = o("@keet-registry/identity/hyperdb#0")
function a(e, n, t) {
  const r = s.decode(n)
  c(e)
  const o = { start: 0, end: t.byteLength, buffer: t },
    d = i.decode(o)
  return ((d.name = r[0]), d)
}
function y(e) {
  return { name: s.decode(e)[0] }
}
const f = {
    name: "@keet-registry/identity",
    id: 0,
    version: 0,
    encodeKey(e) {
      const n = [e.name]
      return s.encode(n)
    },
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      s.encodeRange({
        gt: e ? u(e) : null,
        lt: n ? u(n) : null,
        gte: t ? u(t) : null,
        lte: r ? u(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 0, buffer: null }
      return (i.preencode(o, r), (o.buffer = t.allocUnsafe(o.end)), i.encode(o, r), o.buffer)
    },
    trigger: null,
    reconstruct: a,
    reconstructKey: y,
    indexes: [],
    decodedVersion: 0,
  },
  g = new e([e.BUFFER, e.STRING], { prefix: 1 })
function b(e) {
  const n = [],
    t = e.publicKey
  if (void 0 === t) return n
  n.push(t)
  const r = e.name
  return (void 0 === r || n.push(r), n)
}
const m = {
  name: "@keet-registry/identity-by-key",
  version: 0,
  id: 1,
  encodeKey: (e) => g.encode(b(e)),
  encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
    g.encodeRange({
      gt: e ? b(e) : null,
      lt: n ? b(n) : null,
      gte: t ? b(t) : null,
      lte: r ? b(r) : null,
    }),
  encodeValue: (e) => m.collection.encodeKey(e),
  encodeIndexKeys: (e, n) => [g.encode([e.publicKey, e.name])],
  reconstruct: (e, n) => n,
  offset: f.indexes.length,
  collection: f,
}
f.indexes.push(m)
const v = new e([e.STRING], { prefix: 2 }),
  K = l.mapByDeleted
function p(e) {
  const n = e.name
  return void 0 === n ? [] : [n]
}
const k = {
  name: "@keet-registry/identity-by-deleted",
  version: 0,
  id: 2,
  encodeKey: (e) => v.encode(p(e)),
  encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
    v.encodeRange({
      gt: e ? p(e) : null,
      lt: n ? p(n) : null,
      gte: t ? p(t) : null,
      lte: r ? p(r) : null,
    }),
  encodeValue: (e) => k.collection.encodeKey(e),
  encodeIndexKeys(e, n) {
    const t = K(e, n),
      r = new Array(t.length)
    for (let e = 0; e < t.length; e++) {
      const n = t[e]
      r[e] = v.encode([n.name])
    }
    return r
  },
  reconstruct: (e, n) => n,
  offset: f.indexes.length,
  collection: f,
}
f.indexes.push(k)
const x = new e([e.STRING], { prefix: 3 })
function R(e) {
  const n = e.profile?.username
  return void 0 === n ? [] : [n]
}
const h = o("@keet-registry-v3/identity/hyperdb#3")
function V(e, n, t) {
  const r = x.decode(n)
  c(e)
  const o = { start: 0, end: t.byteLength, buffer: t },
    d = h.decode(o)
  return ((d.profile.username = r[0]), d)
}
function w(e) {
  return { profile: { username: x.decode(e)[0] } }
}
const I = {
    name: "@keet-registry-v3/identity",
    id: 3,
    version: 0,
    encodeKey(e) {
      const n = [e.profile.username]
      return x.encode(n)
    },
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      x.encodeRange({
        gt: e ? R(e) : null,
        lt: n ? R(n) : null,
        gte: t ? R(t) : null,
        lte: r ? R(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 0, buffer: null }
      return (h.preencode(o, r), (o.buffer = t.allocUnsafe(o.end)), h.encode(o, r), o.buffer)
    },
    trigger: null,
    reconstruct: V,
    reconstructKey: w,
    indexes: [],
    decodedVersion: 0,
  },
  U = new e([e.STRING], { prefix: 4 })
function F(e) {
  const n = e.username
  return void 0 === n ? [] : [n]
}
const E = o("@keet-registry-v3/reserved/hyperdb#4")
function B(e, n, t) {
  const r = U.decode(n)
  c(e)
  const o = { start: 0, end: t.byteLength, buffer: t },
    d = E.decode(o)
  return ((d.username = r[0]), d)
}
function G(e) {
  return { username: U.decode(e)[0] }
}
const L = {
    name: "@keet-registry-v3/reserved",
    id: 4,
    version: 0,
    encodeKey(e) {
      const n = [e.username]
      return U.encode(n)
    },
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      U.encodeRange({
        gt: e ? F(e) : null,
        lt: n ? F(n) : null,
        gte: t ? F(t) : null,
        lte: r ? F(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 0, buffer: null }
      return (E.preencode(o, r), (o.buffer = t.allocUnsafe(o.end)), E.encode(o, r), o.buffer)
    },
    trigger: null,
    reconstruct: B,
    reconstructKey: G,
    indexes: [],
    decodedVersion: 0,
  },
  N = new e([], { prefix: 5 })
function S(e) {
  return []
}
const T = o("@keet-registry-v3/manifest")
function q(e, n, t) {
  c(e)
  const r = { start: 0, end: t.byteLength, buffer: t }
  return T.decode(r)
}
function j(e) {
  return {}
}
const A = {
    name: "@keet-registry-v3/manifest",
    id: 5,
    version: 0,
    encodeKey: (e) => N.encode([]),
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      N.encodeRange({
        gt: e ? S(e) : null,
        lt: n ? S(n) : null,
        gte: t ? S(t) : null,
        lte: r ? S(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 0, buffer: null }
      return (T.preencode(o, r), (o.buffer = t.allocUnsafe(o.end)), T.encode(o, r), o.buffer)
    },
    trigger: null,
    reconstruct: q,
    reconstructKey: j,
    indexes: [],
    decodedVersion: 0,
  },
  C = new e([e.BUFFER], { prefix: 6 })
function D(e) {
  const n = e.memberKey
  return void 0 === n ? [] : [n]
}
const z = o("@keet/identity-attestation/hyperdb#6")
function H(e, n, t) {
  const r = C.decode(n)
  c(e)
  const o = { start: 0, end: t.byteLength, buffer: t },
    d = z.decode(o)
  return ((d.memberKey = r[0]), d)
}
function J(e) {
  return { memberKey: C.decode(e)[0] }
}
const M = {
    name: "@keet-registry-v3/attestation",
    id: 6,
    version: 0,
    encodeKey(e) {
      const n = [e.memberKey]
      return C.encode(n)
    },
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      C.encodeRange({
        gt: e ? D(e) : null,
        lt: n ? D(n) : null,
        gte: t ? D(t) : null,
        lte: r ? D(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 0, buffer: null }
      return (z.preencode(o, r), (o.buffer = t.allocUnsafe(o.end)), z.encode(o, r), o.buffer)
    },
    trigger: null,
    reconstruct: H,
    reconstructKey: J,
    indexes: [],
    decodedVersion: 0,
  },
  O = new e([e.BUFFER], { prefix: 7 })
function P(e) {
  const n = e.attestation?.memberKey
  return void 0 === n ? [] : [n]
}
const Q = {
  name: "@keet-registry-v3/identity-by-key",
  version: 0,
  id: 7,
  encodeKey: (e) => O.encode(P(e)),
  encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
    O.encodeRange({
      gt: e ? P(e) : null,
      lt: n ? P(n) : null,
      gte: t ? P(t) : null,
      lte: r ? P(r) : null,
    }),
  encodeValue: (e) => Q.collection.encodeKey(e),
  encodeIndexKeys: (e, n) => [O.encode([e.attestation.memberKey])],
  reconstruct: (e, n) => n,
  offset: I.indexes.length,
  collection: I,
}
I.indexes.push(Q)
const W = new e([e.BUFFER, e.STRING], { prefix: 8 })
function X(e) {
  const n = [],
    t = e.memberKey
  if (void 0 === t) return n
  n.push(t)
  const r = e.username
  return (void 0 === r || n.push(r), n)
}
const Y = {
  name: "@keet-registry-v3/reserved-by-key",
  version: 0,
  id: 8,
  encodeKey: (e) => W.encode(X(e)),
  encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
    W.encodeRange({
      gt: e ? X(e) : null,
      lt: n ? X(n) : null,
      gte: t ? X(t) : null,
      lte: r ? X(r) : null,
    }),
  encodeValue: (e) => Y.collection.encodeKey(e),
  encodeIndexKeys: (e, n) => [W.encode([e.memberKey, e.username])],
  reconstruct: (e, n) => n,
  offset: L.indexes.length,
  collection: L,
}
L.indexes.push(Y)
const Z = new e([e.BUFFER], { prefix: 9 })
function $(e) {
  const n = e.memberKey
  return void 0 === n ? [] : [n]
}
const _ = o("@keet-registry-v3/blocked/hyperdb#9")
function ee(e, t, r) {
  const o = Z.decode(t)
  c(e)
  const d = { start: 0, end: r.byteLength, buffer: r },
    l = n.uint.decode(d)
  if (0 !== l) throw new Error("Unknown collection type: " + l)
  te.decodedVersion = n.uint.decode(d)
  const s = _.decode(d)
  return ((s.memberKey = o[0]), s)
}
function ne(e) {
  return { memberKey: Z.decode(e)[0] }
}
const te = {
    name: "@keet-registry-v3/blocked",
    id: 9,
    version: 1,
    encodeKey(e) {
      const n = [e.memberKey]
      return Z.encode(n)
    },
    encodeKeyRange: ({ gt: e, lt: n, gte: t, lte: r } = {}) =>
      Z.encodeRange({
        gt: e ? $(e) : null,
        lt: n ? $(n) : null,
        gte: t ? $(t) : null,
        lte: r ? $(r) : null,
      }),
    encodeValue(e, n, r) {
      c(e)
      const o = { start: 0, end: 2, buffer: null }
      return (
        _.preencode(o, r),
        (o.buffer = t.allocUnsafe(o.end)),
        (o.buffer[o.start++] = 0),
        (o.buffer[o.start++] = n),
        _.encode(o, r),
        o.buffer
      )
    },
    trigger: null,
    reconstruct: ee,
    reconstructKey: ne,
    indexes: [],
    decodedVersion: 0,
  },
  re = [f, I, L, A, M, te],
  oe = [m, k, Q, Y]
function ce(e) {
  switch (e) {
    case "@keet-registry/identity":
      return f
    case "@keet-registry-v3/identity":
      return I
    case "@keet-registry-v3/reserved":
      return L
    case "@keet-registry-v3/manifest":
      return A
    case "@keet-registry-v3/attestation":
      return M
    case "@keet-registry-v3/blocked":
      return te
    default:
      return null
  }
}
function de(e) {
  switch (e) {
    case "@keet-registry/identity-by-key":
      return m
    case "@keet-registry/identity-by-deleted":
      return k
    case "@keet-registry-v3/identity-by-key":
      return Q
    case "@keet-registry-v3/reserved-by-key":
      return Y
    default:
      return null
  }
}
module.exports = {
  versions: d,
  collections: re,
  indexes: oe,
  resolveCollection: ce,
  resolveIndex: de,
}