/** PURE_IMPORTS_START .._operators_takeWhile PURE_IMPORTS_END */
import { takeWhile as higherOrder } from '../operators/takeWhile';
/**
* Emits values emitted by the source Observable so long as each value satisfies
* the given `predicate`, and then completes as soon as this `predicate` is not
* satisfied.
*
* Takes values from the source only while they pass the
* condition given. When the first value does not satisfy, it completes.
*
*
*
* `takeWhile` subscribes and begins mirroring the source Observable. Each value
* emitted on the source is given to the `predicate` function which returns a
* boolean, representing a condition to be satisfied by the source values. The
* output Observable emits the source values until such time as the `predicate`
* returns false, at which point `takeWhile` stops mirroring the source
* Observable and completes the output Observable.
*
* @example