2 var __extends = (this && this.__extends) || (function () {
3 var extendStatics = function (d, b) {
4 extendStatics = Object.setPrototypeOf ||
5 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7 return extendStatics(d, b);
9 return function (d, b) {
11 function __() { this.constructor = d; }
12 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15 Object.defineProperty(exports, "__esModule", { value: true });
16 var Subscriber_1 = require("../Subscriber");
17 function filter(predicate, thisArg) {
18 return function filterOperatorFunction(source) {
19 return source.lift(new FilterOperator(predicate, thisArg));
22 exports.filter = filter;
23 var FilterOperator = (function () {
24 function FilterOperator(predicate, thisArg) {
25 this.predicate = predicate;
26 this.thisArg = thisArg;
28 FilterOperator.prototype.call = function (subscriber, source) {
29 return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));
31 return FilterOperator;
33 var FilterSubscriber = (function (_super) {
34 __extends(FilterSubscriber, _super);
35 function FilterSubscriber(destination, predicate, thisArg) {
36 var _this = _super.call(this, destination) || this;
37 _this.predicate = predicate;
38 _this.thisArg = thisArg;
42 FilterSubscriber.prototype._next = function (value) {
45 result = this.predicate.call(this.thisArg, value, this.count++);
48 this.destination.error(err);
52 this.destination.next(value);
55 return FilterSubscriber;
56 }(Subscriber_1.Subscriber));
57 //# sourceMappingURL=filter.js.map