OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-editor-parser / src / display / to-display-replace.js

23 lines · javascript ref:
const { DISPLAY_TYPES: t, MENTION_PREFIX: e } = require("../constants.js")
function s({ text: s, display: n }, l, r) {
  if (!s) return { text: "", display: n }
  let o
  const a = []
  let i = 0,
    c = !1
  const p = [...n].sort((t, e) => t.start - e.start)
  for (const n of p) {
    const p = n.start + i
    if (n.type === t.MENTION && n.memberId === l) {
      const t = e + r,
        l = t.length
      ;((o = s.slice(0, p) + t + s.slice(p + n.length)),
        a.push({ ...n, start: p, length: l }),
        (i += l - n.length),
        (c = !0))
    } else a.push({ ...n, start: p })
  }
  return c ? { text: o, display: a } : { text: s, display: n }
}
module.exports = { displayReplaceMention: s }