Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. function createNode (inputObservable, { mapFn = v => v } = {}) {
  2. let listenerComplete = () => {};
  3. let subscription = {};
  4.  
  5. const outputObservable = {
  6. map (fn) {
  7. return createNode(this, {
  8. mapFn: fn
  9. });
  10. },
  11. subscribe ({ next, complete }) {
  12. listenerComplete = complete;
  13.  
  14. subscription = inputObservable.subscribe({
  15. next (val) {
  16. next(mapFn(val));
  17. },
  18. complete
  19. });
  20.  
  21. return subscription;
  22. },
  23. complete () {
  24. subscription.unsubscribe();
  25. listenerComplete();
  26. }
  27. };
  28.  
  29. return outputObservable;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement