📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-02 19:29:12
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
node_modules
/
rxjs
/
dist
/
esm
/
internal
/
operators
📍 /home/orkouolp/web/testing.orkobd/laravel/node_modules/rxjs/dist/esm/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((source, subscriber) => { const { leading = true, trailing = false } = config !== null && config !== void 0 ? config : {}; let hasValue = false; let sendValue = null; let throttled = null; let isComplete = false; const endThrottling = () => { throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe(); throttled = null; if (trailing) { send(); isComplete && subscriber.complete(); } }; const cleanupThrottling = () => { throttled = null; isComplete && subscriber.complete(); }; const startThrottle = (value) => (throttled = innerFrom(durationSelector(value)).subscribe(createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling))); const send = () => { if (hasValue) { hasValue = false; const value = sendValue; sendValue = null; subscriber.next(value); !isComplete && startThrottle(value); } }; source.subscribe(createOperatorSubscriber(subscriber, (value) => { hasValue = true; sendValue = value; !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value)); }, () => { isComplete = true; !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete(); })); }); } //# sourceMappingURL=throttle.js.map
💾 Save Changes
❌ Cancel