Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / internal / operators / skipLast.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 var ArgumentOutOfRangeError_1 = require("../util/ArgumentOutOfRangeError");
18 function skipLast(count) {
19     return function (source) { return source.lift(new SkipLastOperator(count)); };
20 }
21 exports.skipLast = skipLast;
22 var SkipLastOperator = (function () {
23     function SkipLastOperator(_skipCount) {
24         this._skipCount = _skipCount;
25         if (this._skipCount < 0) {
26             throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
27         }
28     }
29     SkipLastOperator.prototype.call = function (subscriber, source) {
30         if (this._skipCount === 0) {
31             return source.subscribe(new Subscriber_1.Subscriber(subscriber));
32         }
33         else {
34             return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));
35         }
36     };
37     return SkipLastOperator;
38 }());
39 var SkipLastSubscriber = (function (_super) {
40     __extends(SkipLastSubscriber, _super);
41     function SkipLastSubscriber(destination, _skipCount) {
42         var _this = _super.call(this, destination) || this;
43         _this._skipCount = _skipCount;
44         _this._count = 0;
45         _this._ring = new Array(_skipCount);
46         return _this;
47     }
48     SkipLastSubscriber.prototype._next = function (value) {
49         var skipCount = this._skipCount;
50         var count = this._count++;
51         if (count < skipCount) {
52             this._ring[count] = value;
53         }
54         else {
55             var currentIndex = count % skipCount;
56             var ring = this._ring;
57             var oldValue = ring[currentIndex];
58             ring[currentIndex] = value;
59             this.destination.next(oldValue);
60         }
61     };
62     return SkipLastSubscriber;
63 }(Subscriber_1.Subscriber));
64 //# sourceMappingURL=skipLast.js.map