1 line
2.1 KiB
Plaintext
1 line
2.1 KiB
Plaintext
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/operator/window.ts"],"names":[],"mappings":";AAEA,uBAAsC,qBAAqB,CAAC,CAAA;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,gBAA+C,gBAAiC;IAC9E,MAAM,CAAC,eAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAA8B,CAAC;AAC1E,CAAC;AAFe,cAAM,SAErB,CAAA","sourcesContent":["\nimport { Observable } from '../Observable';\nimport { window as higherOrder } from '../operators/window';\n\n/**\n * Branch out the source Observable values as a nested Observable whenever\n * `windowBoundaries` emits.\n *\n * <span class=\"informal\">It's like {@link buffer}, but emits a nested Observable\n * instead of an array.</span>\n *\n * <img src=\"./img/window.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping\n * windows. It emits the current window and opens a new one whenever the\n * Observable `windowBoundaries` emits an item. Because each window is an\n * Observable, the output is a higher-order Observable.\n *\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var result = clicks.window(interval)\n * .map(win => win.take(2)) // each window has at most 2 emissions\n * .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link buffer}\n *\n * @param {Observable<any>} windowBoundaries An Observable that completes the\n * previous window and starts a new window.\n * @return {Observable<Observable<T>>} An Observable of windows, which are\n * Observables emitting values of the source Observable.\n * @method window\n * @owner Observable\n */\nexport function window<T>(this: Observable<T>, windowBoundaries: Observable<any>): Observable<Observable<T>> {\n return higherOrder(windowBoundaries)(this) as Observable<Observable<T>>;\n}\n"]} |