git ssb

10+

Matt McKegg / patchwork



Tree: 4cc30d67ab2fb4e8d20b9119e9e8b6a37ef09f81

Files: 4cc30d67ab2fb4e8d20b9119e9e8b6a37ef09f81 / modules / profile / obs / rank.js

789 bytesRaw
1var computed = require('mutant/computed')
2var nest = require('depnest')
3
4exports.needs = nest({
5 'profile.obs.recentlyUpdated': 'first'
6})
7
8exports.gives = nest('profile.obs.rank')
9
10exports.create = function (api) {
11 return nest('profile.obs.rank', function (ids, max) {
12 var recent = api.profile.obs.recentlyUpdated()
13
14 var result = computed([ids, recent], (ids, recent) => {
15 var result = []
16 ids.forEach((id) => {
17 if (recent.includes(id)) {
18 result.push(id)
19 }
20 })
21 ids.forEach((id) => {
22 if (!recent.includes(id)) {
23 result.push(id)
24 }
25 })
26 if (max) {
27 result = result.slice(0, max)
28 }
29 return result
30 }, {nextTick: true})
31
32 result.sync = recent.sync
33
34 return result
35 })
36}
37

Built with git-ssb-web