Ohm-Management - Projektarbeit B-ME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

filter.js 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  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);
  8. }
  9. return function (d, b) {
  10. extendStatics(d, b);
  11. function __() { this.constructor = d; }
  12. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  13. };
  14. })();
  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));
  20. };
  21. }
  22. exports.filter = filter;
  23. var FilterOperator = (function () {
  24. function FilterOperator(predicate, thisArg) {
  25. this.predicate = predicate;
  26. this.thisArg = thisArg;
  27. }
  28. FilterOperator.prototype.call = function (subscriber, source) {
  29. return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));
  30. };
  31. return FilterOperator;
  32. }());
  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;
  39. _this.count = 0;
  40. return _this;
  41. }
  42. FilterSubscriber.prototype._next = function (value) {
  43. var result;
  44. try {
  45. result = this.predicate.call(this.thisArg, value, this.count++);
  46. }
  47. catch (err) {
  48. this.destination.error(err);
  49. return;
  50. }
  51. if (result) {
  52. this.destination.next(value);
  53. }
  54. };
  55. return FilterSubscriber;
  56. }(Subscriber_1.Subscriber));
  57. //# sourceMappingURL=filter.js.map