9df8ca2a8103eda3907fe4a51f0859e2358a06d1ef0e41479db719d65680df5cdb569759d79d128fa25dbd9710144b88c8d82f7582916babfd36033323b2a5 659 B

1234567891011121314151617181920
  1. import { EMPTY } from '../observable/empty';
  2. import { operate } from '../util/lift';
  3. import { createOperatorSubscriber } from './OperatorSubscriber';
  4. export function take(count) {
  5. return count <= 0
  6. ?
  7. () => EMPTY
  8. : operate((source, subscriber) => {
  9. let seen = 0;
  10. source.subscribe(createOperatorSubscriber(subscriber, (value) => {
  11. if (++seen <= count) {
  12. subscriber.next(value);
  13. if (count <= seen) {
  14. subscriber.complete();
  15. }
  16. }
  17. }));
  18. });
  19. }
  20. //# sourceMappingURL=take.js.map