from
RxJS 5 from
by Echyzen
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.2.1/rxjs.umd.js"></script>
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
function exclude(predicate) {
return rxjs.Observable.create(subscriber => {
let source = this;
return source.subscribe(value => {
try {
if(!predicate(value)) {
subscriber.next(value)
}
} catch(err) {
subscriber.error(value)
}
},
err => subscriber.error(err),
() => { if(subscriber.complete) subscriber.complete()})
})
}
rxjs.Observable.prototype.exclude = exclude
const even = (value) => (value % 2 === 0)
rxjs.from([1,2,3,4,5])
.exclude(even)
.subscribe((el) => console.log(el))