hunk.code_window:  *
    * If called with no arguments, `first` emits the first value of the source
    * Observable, then completes. If called with a `predicate` function, `first`
    * emits the first value of the source that matches the specified condition. It
    * may also take a `resultSelector` function to produce the output value from
    * the input value, and a `defaultValue` to emit in case the source completes
    * before it is able to emit a valid value. Throws an error if `defaultValue`
    * was not provided and a matching element is not found.
    *
    * ## Examples
    * Emit only the first click that happens on the DOM
    * ```javascript
    * const clicks = fromEvent(document, 'click');
  
hunk.labels: keep keep keep keep replace replace replace replace keep keep keep keep keep
hunk.after_edit:  * may also take a deprecated `resultSelector` function to produce the output
    * value from the input value, and a `defaultValue` to emit in case the source
    * completes before it is able to emit a valid value. Throws an error if
    * `defaultValue` was not provided and a matching element is not found.
  
hunk.file_path: src/internal/operators/first.ts
hunk.type: replace
file: import { Observable } from 'rxjs';
  import { skipWhile as higherOrder } from 'rxjs/operators';
  
  /**
   * 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.
   *
   * <img src="./img/skipWhile.png" width="100%">
   *
   * @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>(this: Observable<T>, predicate: (value: T, index: number) => boolean): Observable<T> {
    return higherOrder(predicate)(this);
  }
  