take.js 833 B

123456789101112131415161718192021222324
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.take = void 0;
  4. var empty_1 = require("../observable/empty");
  5. var lift_1 = require("../util/lift");
  6. var OperatorSubscriber_1 = require("./OperatorSubscriber");
  7. function take(count) {
  8. return count <= 0
  9. ?
  10. function () { return empty_1.EMPTY; }
  11. : lift_1.operate(function (source, subscriber) {
  12. var seen = 0;
  13. source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {
  14. if (++seen <= count) {
  15. subscriber.next(value);
  16. if (count <= seen) {
  17. subscriber.complete();
  18. }
  19. }
  20. }));
  21. });
  22. }
  23. exports.take = take;
  24. //# sourceMappingURL=take.js.map