1234567891011121314151617181920212223242526272829303132 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.skipLast = void 0;
- var identity_1 = require("../util/identity");
- var lift_1 = require("../util/lift");
- var OperatorSubscriber_1 = require("./OperatorSubscriber");
- function skipLast(skipCount) {
- return skipCount <= 0
- ?
- identity_1.identity
- : lift_1.operate(function (source, subscriber) {
- var ring = new Array(skipCount);
- var seen = 0;
- source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {
- var valueIndex = seen++;
- if (valueIndex < skipCount) {
- ring[valueIndex] = value;
- }
- else {
- var index = valueIndex % skipCount;
- var oldValue = ring[index];
- ring[index] = value;
- subscriber.next(oldValue);
- }
- }));
- return function () {
- ring = null;
- };
- });
- }
- exports.skipLast = skipLast;
- //# sourceMappingURL=skipLast.js.map
|