Files: 3584caaf3ca81314dcd4b0437ecbf1b538ab973d / throughs / filter.js
488 bytesRaw
1 | |
2 | |
3 | var tester = require('../util/tester') |
4 | |
5 | module.exports = function filter (test) { |
6 | //regexp |
7 | test = tester(test) |
8 | return function (read) { |
9 | return function next (end, cb) { |
10 | var sync, loop = true |
11 | while(loop) { |
12 | loop = false |
13 | sync = true |
14 | read(end, function (end, data) { |
15 | if(!end && !test(data)) |
16 | return sync ? loop = true : next(end, cb) |
17 | cb(end, data) |
18 | }) |
19 | sync = false |
20 | } |
21 | } |
22 | } |
23 | } |
24 | |
25 |
Built with git-ssb-web