Guest User

Untitled

a guest
Mar 19th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. const broken = (promise, state = {
  2. pending: true,
  3. settled: false,
  4.  
  5. resolved: false,
  6. rejected: false,
  7.  
  8. value: undefined,
  9. error: undefined,
  10. }) => (
  11. promise.then(
  12. x => {
  13. state.resolved = true
  14. state.value = x
  15. },
  16. x => {
  17. state.rejected = true
  18. state.error = x
  19. }
  20. ),
  21.  
  22. promise.finally(() => {
  23. state.pending = false
  24. state.settled = true
  25. }),
  26.  
  27. Object.keys(state)
  28. .map(flag => ({
  29. [flag]: () => state[flag]
  30. })
  31. .reduce(Object.assign, {})
  32. )
Add Comment
Please, Sign In to add comment