Subtheme of barrio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
2.9 KiB

2 years ago
{"version":3,"file":"throttleTime.js","sourceRoot":"","sources":["../../src/operator/throttleTime.ts"],"names":[],"mappings":";AAEA,sBAAsB,oBAAoB,CAAC,CAAA;AAC3C,yBAAsD,uBAAuB,CAAC,CAAA;AAC9E,6BAA4C,2BAA2B,CAAC,CAAA;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,sBACgC,QAAgB,EAChB,SAA6B,EAC7B,MAA8C;IAD9C,yBAA6B,GAA7B,yBAA6B;IAC7B,sBAA8C,GAA9C,yCAA8C;IAC5E,MAAM,CAAC,2BAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAkB,CAAC;AACzE,CAAC;AALe,oBAAY,eAK3B,CAAA","sourcesContent":["import { Observable } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { async } from '../scheduler/async';\nimport { ThrottleConfig, defaultThrottleConfig } from '../operators/throttle';\nimport { throttleTime as higherOrder } from '../operators/throttleTime';\n\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.</span>\n *\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nexport function throttleTime<T>(this: Observable<T>,\n duration: number,\n scheduler: IScheduler = async,\n config: ThrottleConfig = defaultThrottleConfig): Observable<T> {\n return higherOrder(duration, scheduler, config)(this) as Observable<T>;\n}\n"]}