OverviewFilesCommitsIssuesDocsReleasesPeers

keet-cli / keet-core-4.14.4-pretty / lib / core / hyperdb / local / local.js

48 lines · javascript ref:
const e = require("hypercore-crypto")
function t(e) {
  return e.status.isRemoved || e.identity || (e.dm && !e.config.title)
    ? 0
    : e.timestamps.latestChatMessage || e.timestamps.latestSync
}
function o(t) {
  return e.discoveryKey(t)
}
;((module.exports.roomMigrationsTrigger = async function (e, t, o) {}),
  (module.exports.roomsTrigger = async function (e, t, o) {}),
  (module.exports.writersByRoomKeyMap = function (e) {
    return e.roomKey ? [{ roomKey: e.roomKey }] : []
  }),
  (module.exports.writersByWakeupTopicMap = function (e) {
    return [{ wakeupTopic: o(e.mailbox) }]
  }),
  (module.exports.roomsByTimestampMap = function (e) {
    const o = t(e)
    return 0 === o ? [] : [{ timestamp: o }]
  }),
  (module.exports.roomsByTypeAndTimestampMap = function (e) {
    const o = t(e)
    return 0 === o ? [] : [{ type: e.digest.settings.roomType, timestamp: o }]
  }),
  (module.exports.roomsByMailboxMap = function (e) {
    return e.mailbox ? [{ mailbox: e.mailbox }] : []
  }),
  (module.exports.roomsByWakeupMap = function (t) {
    return [{ discoveryKey: e.discoveryKey(t.mailbox) }]
  }),
  (module.exports.membersByDeviceKeyMap = function (e) {
    return e.devices.map((e) => ({ key: e }))
  }),
  (module.exports.blockedContactsMap = function (e) {
    return e.status.isBlocked ? [{ memberKey: e.memberKey }] : []
  }),
  (module.exports.dirtyByTimestampMap = function (e) {
    return e.dirty ? [{ timestamp: e.timestamp }] : []
  }),
  (module.exports.roomsByContactMap = function (e) {
    return t(e) ? (!e.dm || e.dm.length > 1 ? [] : [{ contact: e.dm[0] }]) : []
  }),
  (module.exports.roomsByFavoriteAndTimestampMap = function (e) {
    const o = t(e)
    return 0 === o ? [] : e.preferences?.isFavorite ? [{ timestamp: o }] : []
  }))