X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=.config%2Fcoc%2Fextensions%2Fnode_modules%2Fcoc-prettier%2Fnode_modules%2Frxjs%2Fsrc%2Finternal%2Foperators%2FwindowWhen.ts;fp=.config%2Fcoc%2Fextensions%2Fnode_modules%2Fcoc-prettier%2Fnode_modules%2Frxjs%2Fsrc%2Finternal%2Foperators%2FwindowWhen.ts;h=0000000000000000000000000000000000000000;hb=3ddadb3c98564791f0ac36cb39771d844a63dc91;hp=67e0b16b1c3e4b3cbb11c09e6437e56295e34bb6;hpb=5f797af6612ed10887189b47a1efc2f915586e59;p=dotfiles%2F.git diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/src/internal/operators/windowWhen.ts b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/src/internal/operators/windowWhen.ts deleted file mode 100644 index 67e0b16b..00000000 --- a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/src/internal/operators/windowWhen.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { Operator } from '../Operator'; -import { Subscriber } from '../Subscriber'; -import { Observable } from '../Observable'; -import { Subject } from '../Subject'; -import { Subscription } from '../Subscription'; -import { OuterSubscriber } from '../OuterSubscriber'; -import { InnerSubscriber } from '../InnerSubscriber'; -import { subscribeToResult } from '../util/subscribeToResult'; -import { OperatorFunction } from '../types'; - -/** - * Branch out the source Observable values as a nested Observable using a - * factory function of closing Observables to determine when to start a new - * window. - * - * It's like {@link bufferWhen}, but emits a nested - * Observable instead of an array. - * - * ![](windowWhen.png) - * - * Returns an Observable that emits windows of items it collects from the source - * Observable. The output Observable emits connected, non-overlapping windows. - * It emits the current window and opens a new one whenever the Observable - * produced by the specified `closingSelector` function emits an item. The first - * window is opened immediately when subscribing to the output Observable. - * - * ## Example - * Emit only the first two clicks events in every window of [1-5] random seconds - * ```ts - * import { fromEvent, interval } from 'rxjs'; - * import { windowWhen, map, mergeAll, take } from 'rxjs/operators'; - * - * const clicks = fromEvent(document, 'click'); - * const result = clicks.pipe( - * windowWhen(() => interval(1000 + Math.random() * 4000)), - * map(win => win.pipe(take(2))), // each window has at most 2 emissions - * mergeAll() // flatten the Observable-of-Observables - * ); - * result.subscribe(x => console.log(x)); - * ``` - * - * @see {@link window} - * @see {@link windowCount} - * @see {@link windowTime} - * @see {@link windowToggle} - * @see {@link bufferWhen} - * - * @param {function(): Observable} closingSelector A function that takes no - * arguments and returns an Observable that signals (on either `next` or - * `complete`) when to close the previous window and start a new one. - * @return {Observable>} An observable of windows, which in turn - * are Observables. - * @method windowWhen - * @owner Observable - */ -export function windowWhen(closingSelector: () => Observable): OperatorFunction> { - return function windowWhenOperatorFunction(source: Observable) { - return source.lift(new WindowOperator(closingSelector)); - }; -} - -class WindowOperator implements Operator> { - constructor(private closingSelector: () => Observable) { - } - - call(subscriber: Subscriber>, source: any): any { - return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector)); - } -} - -/** - * We need this JSDoc comment for affecting ESDoc. - * @ignore - * @extends {Ignored} - */ -class WindowSubscriber extends OuterSubscriber { - private window?: Subject; - private closingNotification?: Subscription; - - constructor(protected destination: Subscriber>, - private closingSelector: () => Observable) { - super(destination); - this.openWindow(); - } - - notifyNext(_outerValue: T, _innerValue: any, - _outerIndex: number, _innerIndex: number, - innerSub: InnerSubscriber): void { - this.openWindow(innerSub); - } - - notifyError(error: any): void { - this._error(error); - } - - notifyComplete(innerSub: InnerSubscriber): void { - this.openWindow(innerSub); - } - - protected _next(value: T): void { - this.window!.next(value); - } - - protected _error(err: any): void { - this.window!.error(err); - this.destination.error(err); - this.unsubscribeClosingNotification(); - } - - protected _complete(): void { - this.window!.complete(); - this.destination.complete(); - this.unsubscribeClosingNotification(); - } - - private unsubscribeClosingNotification(): void { - if (this.closingNotification) { - this.closingNotification.unsubscribe(); - } - } - - private openWindow(innerSub: InnerSubscriber | null = null): void { - if (innerSub) { - this.remove(innerSub); - innerSub.unsubscribe(); - } - - const prevWindow = this.window; - if (prevWindow) { - prevWindow.complete(); - } - - const window = this.window = new Subject(); - this.destination.next(window); - - let closingNotifier; - try { - const { closingSelector } = this; - closingNotifier = closingSelector(); - } catch (e) { - this.destination.error(e); - this.window.error(e); - return; - } - this.add(this.closingNotification = subscribeToResult(this, closingNotifier)); - } -}