message: refactor(every): smaller impl
diff: +/** @prettier */
  import { Operator } from '../Operator';
  import { Observable } from '../Observable';
  import { Subscriber } from '../Subscriber';
  import { Observer, OperatorFunction } from '../types';
  import { lift } from '../util/lift';
  +import { OperatorSubscriber } from './OperatorSubscriber';
  /**
  * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.
  @@ -29,58 +31,29 @@ import { lift } from '../util/lift';
  * @return {Observable} An Observable of booleans that determines if all items of the source Observable meet the condition specified.
  * @name every
  */
  -export function every<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean,
  - thisArg?: any): OperatorFunction<T, boolean> {
  - return (source: Observable<T>) => lift(source, new EveryOperator(predicate, thisArg, source));
  -}
  -
  -class EveryOperator<T> implements Operator<T, boolean> {
  - constructor(private predicate: (value: T, index: number, source: Observable<T>) => boolean,
  - private thisArg: any,
  - private source: Observable<T>) {
  - }
  -
  - call(observer: Subscriber<boolean>, source: any): any {
  - return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));
  - }
  -}
  -
  -/**
  - * We need this JSDoc comment for affecting ESDoc.
  - * @ignore
  - * @extends {Ignored}
  - */
  -class EverySubscriber<T> extends Subscriber<T> {
  - private index: number = 0;
  -
  - constructor(destination: Observer<boolean>,
  - private predicate: (value: T, index: number, source: Observable<T>) => boolean,
  - private thisArg: any,
  - private source: Observable<T>) {
  - super(destination);
  - this.thisArg = thisArg || this;
  - }
  -
  - private notifyComplete(everyValueMatch: boolean): void {
  - this.destination.next(everyValueMatch);
  - this.destination.complete();
  - }
  -
  - protected _next(value: T): void {
  - let result = false;
  - try {
  - result = this.predicate.call(this.thisArg, value, this.index++, this.source);
  - } catch (err) {
  - this.destination.error(err);
  - return;
  - }
  -
  - if (!result) {
  - this.notifyComplete(false);
  - }
  - }
  -
  - protected _complete(): void {
  - this.notifyComplete(true);
  - }
  +export function every<T>(
  + predicate: (value: T, index: number, source: Observable<T>) => boolean,
  + thisArg?: any
  +): OperatorFunction<T, boolean> {
  + return (source: Observable<T>) =>
  + lift(source, function (this: Subscriber<boolean>, source: Observable<T>) {
  + const subscriber = this;
  + let index = 0;
  + source.subscribe(
  + new OperatorSubscriber(
  + subscriber,
  + (value) => {
  + if (!predicate.call(thisArg, value, index, source)) {
  + subscriber.next(false);
  + subscriber.complete();
  + }
  + },
  + undefined,
  + () => {
  + subscriber.next(true);
  + subscriber.complete();
  + }
  + )
  + );
  + });
  }
  