UNPKG

patchwork-threads

Version:

Library for Patchwork's thread data-structures

74 lines (53 loc) 2.32 kB
# patchwork-threads ```js var threadlib = require('patchwork-threads') // get the ID of the root message of the thread for any given msg id threadlib.fetchThreadRootID (ssb, mid, cb) // get full thread structure // `opts` used in fetchThreadData threadlib.getPostThread (ssb, mid, opts, cb) // get full thread structure, starting possibly from a reply // `opts` used in fetchThreadData threadlib.getParentPostThread (ssb, mid, opts, cb) // get a flattened msg-list of the thread, ready for rendering threadlib.flattenThread (thread) // replace each msg in a flattened thread with its latest revision threadlib.reviseFlatThread(ssb, thread, cb) // get top-level thread structure (no replies of replies) // `opts` used in fetchThreadData threadlib.getPostSummary (ssb, mid, opts, cb) // get top-level thread structure (no replies of replies), starting possibly from a reply // `opts` used in fetchThreadData threadlib.getParentPostSummary (ssb, mid, opts, cb) // fetch & compute data related to the given thread // - opts.isRead: attach isread data // - opts.isBookmarked: attach isBookmarked data // - opts.votes: compute votes data threadlib.fetchThreadData (ssb, thread, opts, cb) // helpers to iterate a thread threadlib.iterateThread (thread, maxDepth, fn) threadlib.iterateThreadAsync (thread, maxDepth, fn, cb) // helpers used in fetchThreadData threadlib.attachThreadIsread (ssb, thread, maxdepth, cb) threadlib.attachThreadIsbookmarked (ssb, thread, maxdepth, cb) threadlib.compileThreadVotes (thread) // mark all unread msgs in the thread as read threadlib.markThreadRead (ssb, thread, cb) // decrypt the msgs in the thread, if not yet decrypted threadlib.decryptThread (ssb, thread, cb) // get the last type:post msg in the thread threadlib.getLastThreadPost (thread) // get messages that were published as revision to an existing message threadlib.getRevisions(ssb, thread, callback) // get the latest revision of an existing message threadlib.getLatestRevision(ssb, msg, callback) // count the number of replies in a thread // - filter(msg): optional additional filter, return bool threadlib.countReplies(thread, [filter]) // is `a` a reply to `b`? threadlib.isaReplyTo(a, b) // does `a` mention `b`? threadlib.isaMentionTo(a, b) // does `a` revise `b`? thread.lib.isaRevisionTo(a, b) ```