git ssb

10+

Matt McKegg / patchwork



Tree: 8b3e0bbdac89aa4cd743500d35bbd504bd7a49b7

Files: 8b3e0bbdac89aa4cd743500d35bbd504bd7a49b7 / sbot / progress.js

649 bytesRaw
1var Pushable = require('pull-pushable')
2var deepEqual = require('deep-equal')
3
4module.exports = function (ssb, config) {
5 return {
6 stream: function (opts) {
7 var lastValue = deepClone(ssb.progress())
8
9 var timer = setInterval(() => {
10 var newValue = ssb.progress()
11 if (!deepEqual(newValue, lastValue)) {
12 lastValue = deepClone(newValue)
13 pushable.push(lastValue)
14 }
15 }, 200)
16
17 var pushable = Pushable(() => {
18 clearInterval(timer)
19 })
20
21 pushable.push(lastValue)
22 return pushable
23 }
24 }
25}
26
27function deepClone (obj) {
28 return JSON.parse(JSON.stringify(obj))
29}
30

Built with git-ssb-web