OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-store / store / chat / message / message-create-author.js

25 lines · javascript ref:
import t from "ms"
const e = t("5min"),
  o = (t) => {
    for (const e of t) {
      const t = e.length - 1,
        o = e[t]
      o && !o.isHead && (e[t] = { ...o, isHead: !0 })
      let s = t - 1
      for (; s >= 0; ) {
        const t = e[s]
        ;(t.isHead && (e[s] = { ...t, isHead: !1 }), (s -= 1))
      }
    }
  }
export function groupByAuthor(t = []) {
  const s = []
  let n,
    m = []
  for (const o of t)
    !o.event?.type && n && o.memberId === n.memberId && n.timestamp - o.timestamp < e
      ? (m.push(o), (n = o))
      : (m.length > 0 && s.push(m), (m = [o]), (n = o))
  return (m.length > 0 && s.push(m), o(s), s)
}