Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm5 / internal / operators / audit.js
1 /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */
2 import * as tslib_1 from "tslib";
3 import { OuterSubscriber } from '../OuterSubscriber';
4 import { subscribeToResult } from '../util/subscribeToResult';
5 export function audit(durationSelector) {
6     return function auditOperatorFunction(source) {
7         return source.lift(new AuditOperator(durationSelector));
8     };
9 }
10 var AuditOperator = /*@__PURE__*/ (function () {
11     function AuditOperator(durationSelector) {
12         this.durationSelector = durationSelector;
13     }
14     AuditOperator.prototype.call = function (subscriber, source) {
15         return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));
16     };
17     return AuditOperator;
18 }());
19 var AuditSubscriber = /*@__PURE__*/ (function (_super) {
20     tslib_1.__extends(AuditSubscriber, _super);
21     function AuditSubscriber(destination, durationSelector) {
22         var _this = _super.call(this, destination) || this;
23         _this.durationSelector = durationSelector;
24         _this.hasValue = false;
25         return _this;
26     }
27     AuditSubscriber.prototype._next = function (value) {
28         this.value = value;
29         this.hasValue = true;
30         if (!this.throttled) {
31             var duration = void 0;
32             try {
33                 var durationSelector = this.durationSelector;
34                 duration = durationSelector(value);
35             }
36             catch (err) {
37                 return this.destination.error(err);
38             }
39             var innerSubscription = subscribeToResult(this, duration);
40             if (!innerSubscription || innerSubscription.closed) {
41                 this.clearThrottle();
42             }
43             else {
44                 this.add(this.throttled = innerSubscription);
45             }
46         }
47     };
48     AuditSubscriber.prototype.clearThrottle = function () {
49         var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;
50         if (throttled) {
51             this.remove(throttled);
52             this.throttled = null;
53             throttled.unsubscribe();
54         }
55         if (hasValue) {
56             this.value = null;
57             this.hasValue = false;
58             this.destination.next(value);
59         }
60     };
61     AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
62         this.clearThrottle();
63     };
64     AuditSubscriber.prototype.notifyComplete = function () {
65         this.clearThrottle();
66     };
67     return AuditSubscriber;
68 }(OuterSubscriber));
69 //# sourceMappingURL=audit.js.map