fromEventPattern.js 871 B

1234567891011121314151617181920
  1. import { Observable } from '../Observable';
  2. import { isFunction } from '../util/isFunction';
  3. import { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';
  4. export function fromEventPattern(addHandler, removeHandler, resultSelector) {
  5. if (resultSelector) {
  6. return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs(resultSelector));
  7. }
  8. return new Observable(function (subscriber) {
  9. var handler = function () {
  10. var e = [];
  11. for (var _i = 0; _i < arguments.length; _i++) {
  12. e[_i] = arguments[_i];
  13. }
  14. return subscriber.next(e.length === 1 ? e[0] : e);
  15. };
  16. var retValue = addHandler(handler);
  17. return isFunction(removeHandler) ? function () { return removeHandler(handler, retValue); } : undefined;
  18. });
  19. }
  20. //# sourceMappingURL=fromEventPattern.js.map