📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-02 21:02:07
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
node_modules
/
rxjs
/
dist
/
esm5
/
internal
/
operators
📍 /home/orkouolp/web/testing.orkobd/laravel/node_modules/rxjs/dist/esm5/internal/operators
🔄 Refresh
✏️
Editing: throttle.js
Writable
import { operate } from '../util/lift'; import { createOperatorSubscriber } from './OperatorSubscriber'; import { innerFrom } from '../observable/innerFrom'; export function throttle(durationSelector, config) { return operate(function (source, subscriber) { var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c; var hasValue = false; var sendValue = null; var throttled = null; var isComplete = false; var endThrottling = function () { throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe(); throttled = null; if (trailing) { send(); isComplete && subscriber.complete(); } }; var cleanupThrottling = function () { throttled = null; isComplete && subscriber.complete(); }; var startThrottle = function (value) { return (throttled = innerFrom(durationSelector(value)).subscribe(createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling))); }; var send = function () { if (hasValue) { hasValue = false; var value = sendValue; sendValue = null; subscriber.next(value); !isComplete && startThrottle(value); } }; source.subscribe(createOperatorSubscriber(subscriber, function (value) { hasValue = true; sendValue = value; !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value)); }, function () { isComplete = true; !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete(); })); }); } //# sourceMappingURL=throttle.js.map
💾 Save Changes
❌ Cancel