https://github.com/Gozala/reducers
Tip revision: 291e0255e28ba6c015b69cc8556a287f9c873b9e authored by Irakli Gozalishvili on 25 October 2012, 06:36:51 UTC
Version 0.1.4
Version 0.1.4
Tip revision: 291e025
filter.js
"use strict";
var transform = require("./transform")
function filter(source, predicate) {
/**
Composes filtered version of given `source`, such that only items contained
will be once on which `f(item)` was `true`.
## Example
var digits = filter([ 10, 23, 2, 7, 17 ], function(value) {
return value >= 0 && value <= 9
})
print(digits) // => <stream 2 7 />
**/
return transform(source, function(next, value, accumulated) {
return predicate(value) ? next(value, accumulated) : accumulated
})
}
module.exports = filter