rsvp.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import Promise from './rsvp/promise';
  2. import EventTarget from './rsvp/events';
  3. import denodeify from './rsvp/node';
  4. import all from './rsvp/all';
  5. import allSettled from './rsvp/all-settled';
  6. import race from './rsvp/race';
  7. import hash from './rsvp/hash';
  8. import hashSettled from './rsvp/hash-settled';
  9. import rethrow from './rsvp/rethrow';
  10. import defer from './rsvp/defer';
  11. import {
  12. config,
  13. configure
  14. } from './rsvp/config';
  15. import map from './rsvp/map';
  16. import resolve from './rsvp/resolve';
  17. import reject from './rsvp/reject';
  18. import filter from './rsvp/filter';
  19. import asap from './rsvp/asap';
  20. // defaults
  21. config.async = asap;
  22. config.after = cb => setTimeout(cb, 0);
  23. const cast = resolve;
  24. const async = (callback, arg) => config.async(callback, arg);
  25. function on() {
  26. config.on(...arguments);
  27. }
  28. function off() {
  29. config.off(...arguments);
  30. }
  31. // Set up instrumentation through `window.__PROMISE_INTRUMENTATION__`
  32. if (typeof window !== 'undefined' && typeof window['__PROMISE_INSTRUMENTATION__'] === 'object') {
  33. let callbacks = window['__PROMISE_INSTRUMENTATION__'];
  34. configure('instrument', true);
  35. for (let eventName in callbacks) {
  36. if (callbacks.hasOwnProperty(eventName)) {
  37. on(eventName, callbacks[eventName]);
  38. }
  39. }
  40. }
  41. // the default export here is for backwards compat:
  42. // https://github.com/tildeio/rsvp.js/issues/434
  43. export default {
  44. asap,
  45. cast,
  46. Promise,
  47. EventTarget,
  48. all,
  49. allSettled,
  50. race,
  51. hash,
  52. hashSettled,
  53. rethrow,
  54. defer,
  55. denodeify,
  56. configure,
  57. on,
  58. off,
  59. resolve,
  60. reject,
  61. map,
  62. async,
  63. filter
  64. };
  65. export {
  66. asap,
  67. cast,
  68. Promise,
  69. EventTarget,
  70. all,
  71. allSettled,
  72. race,
  73. hash,
  74. hashSettled,
  75. rethrow,
  76. defer,
  77. denodeify,
  78. configure,
  79. on,
  80. off,
  81. resolve,
  82. reject,
  83. map,
  84. async,
  85. filter
  86. };