diff options
Diffstat (limited to 'tools/node_modules/eslint/node_modules/rxjs/src/internal/operators/skipWhile.ts')
-rw-r--r-- | tools/node_modules/eslint/node_modules/rxjs/src/internal/operators/skipWhile.ts | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/tools/node_modules/eslint/node_modules/rxjs/src/internal/operators/skipWhile.ts b/tools/node_modules/eslint/node_modules/rxjs/src/internal/operators/skipWhile.ts deleted file mode 100644 index 5647f13e42..0000000000 --- a/tools/node_modules/eslint/node_modules/rxjs/src/internal/operators/skipWhile.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Observable } from '../Observable'; -import { Operator } from '../Operator'; -import { Subscriber } from '../Subscriber'; -import { MonoTypeOperatorFunction, TeardownLogic } from '../types'; - -/** - * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds - * true, but emits all further source items as soon as the condition becomes false. - * - * ![](skipWhile.png) - * - * @param {Function} predicate - A function to test each item emitted from the source Observable. - * @return {Observable<T>} An Observable that begins emitting items emitted by the source Observable when the - * specified predicate becomes false. - * @method skipWhile - * @owner Observable - */ -export function skipWhile<T>(predicate: (value: T, index: number) => boolean): MonoTypeOperatorFunction<T> { - return (source: Observable<T>) => source.lift(new SkipWhileOperator(predicate)); -} - -class SkipWhileOperator<T> implements Operator<T, T> { - constructor(private predicate: (value: T, index: number) => boolean) { - } - - call(subscriber: Subscriber<T>, source: any): TeardownLogic { - return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate)); - } -} - -/** - * We need this JSDoc comment for affecting ESDoc. - * @ignore - * @extends {Ignored} - */ -class SkipWhileSubscriber<T> extends Subscriber<T> { - private skipping: boolean = true; - private index: number = 0; - - constructor(destination: Subscriber<T>, - private predicate: (value: T, index: number) => boolean) { - super(destination); - } - - protected _next(value: T): void { - const destination = this.destination; - if (this.skipping) { - this.tryCallPredicate(value); - } - - if (!this.skipping) { - destination.next(value); - } - } - - private tryCallPredicate(value: T): void { - try { - const result = this.predicate(value, this.index++); - this.skipping = Boolean(result); - } catch (err) { - this.destination.error(err); - } - } -} |