File manager - Edit - /usr/local/lib/node_modules/ghost-cli/node_modules/rxjs/dist/esm/internal/operators/throttle.js
Back
import { operate } from '../util/lift'; import { OperatorSubscriber } from './OperatorSubscriber'; import { innerFrom } from '../observable/from'; export const defaultThrottleConfig = { leading: true, trailing: false, }; export function throttle(durationSelector, { leading, trailing } = defaultThrottleConfig) { return operate((source, subscriber) => { 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(new OperatorSubscriber(subscriber, endThrottling, cleanupThrottling))); const send = () => { if (hasValue) { hasValue = false; const value = sendValue; sendValue = null; subscriber.next(value); !isComplete && startThrottle(value); } }; source.subscribe(new OperatorSubscriber(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
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings