Files: 9de99ae493db260032c0423eedf4a3aa6f5d714f / lib / mutant-to-pull.js
427 bytesRaw
1 | var watch = require('mutant/watch') |
2 | var pushable = require('pull-pushable') |
3 | |
4 | module.exports = function (obs) { |
5 | var releases = [] |
6 | |
7 | // create listener with `onClose` handler |
8 | var listener = pushable(function onClose () { |
9 | // if listener is found, delete from list |
10 | while (releases.length) { |
11 | releases.pop()() |
12 | } |
13 | }) |
14 | |
15 | releases.push(watch(obs, (value) => { |
16 | listener.push(value) |
17 | })) |
18 | |
19 | return listener |
20 | } |
21 |
Built with git-ssb-web