Sha256: ef33f339605b9565b42e3086d19b86c0361ff7b1f7aa89cd041a2563fdc38f53

Contents?: true

Size: 1.48 KB

Versions: 49

Compression:

Stored size: 1.48 KB

Contents

import { Observable } from '../Observable';
import { take as higherOrder } from '../operators/take';

/**
 * Emits only the first `count` values emitted by the source Observable.
 *
 * <span class="informal">Takes the first `count` values from the source, then
 * completes.</span>
 *
 * <img src="./img/take.png" width="100%">
 *
 * `take` returns an Observable that emits only the first `count` values emitted
 * by the source Observable. If the source emits fewer than `count` values then
 * all of its values are emitted. After that, it completes, regardless if the
 * source completes.
 *
 * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>
 * var interval = Rx.Observable.interval(1000);
 * var five = interval.take(5);
 * five.subscribe(x => console.log(x));
 *
 * @see {@link takeLast}
 * @see {@link takeUntil}
 * @see {@link takeWhile}
 * @see {@link skip}
 *
 * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an
 * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.
 *
 * @param {number} count The maximum number of `next` values to emit.
 * @return {Observable<T>} An Observable that emits only the first `count`
 * values emitted by the source Observable, or all of the values from the source
 * if the source emits fewer than `count` values.
 * @method take
 * @owner Observable
 */
export function take<T>(this: Observable<T>, count: number): Observable<T> {
  return higherOrder(count)(this) as Observable<T>;
}

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/rxjs/src/operator/take.ts
ilog-0.4.0 node_modules/rxjs/src/operator/take.ts
ilog-0.3.3 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-18.0.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.21.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.20.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.19.1 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.19.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.18.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.17.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.16.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.15.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.14.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.13.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.12.2 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.12.1 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.12.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.11.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.10.0 node_modules/rxjs/src/operator/take.ts
govuk_publishing_components-17.9.0 node_modules/rxjs/src/operator/take.ts