Update .bashrc
[dotfiles/.git] / operators / pairwise.js
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 pairwise() {
18     return function (source) { return source.lift(new PairwiseOperator()); };
19 }
20 exports.pairwise = pairwise;
21 var PairwiseOperator = (function () {
22     function PairwiseOperator() {
23     }
24     PairwiseOperator.prototype.call = function (subscriber, source) {
25         return source.subscribe(new PairwiseSubscriber(subscriber));
26     };
27     return PairwiseOperator;
28 }());
29 var PairwiseSubscriber = (function (_super) {
30     __extends(PairwiseSubscriber, _super);
31     function PairwiseSubscriber(destination) {
32         var _this = _super.call(this, destination) || this;
33         _this.hasPrev = false;
34         return _this;
35     }
36     PairwiseSubscriber.prototype._next = function (value) {
37         var pair;
38         if (this.hasPrev) {
39             pair = [this.prev, value];
40         }
41         else {
42             this.hasPrev = true;
43         }
44         this.prev = value;
45         if (pair) {
46             this.destination.next(pair);
47         }
48     };
49     return PairwiseSubscriber;
50 }(Subscriber_1.Subscriber));
51 //# sourceMappingURL=pairwise.js.map