| // Custom nextTick() shim for browsers. In node, this will just be process.nextTick(). We |
| // avoid using process.nextTick() directly because the polyfill is very large and we don't |
| // need all of it (see: https://github.com/defunctzombie/node-process). |
| // "immediate" 3.0.8 is used by lie, and it's a smaller version of the latest "immediate" |
| // package, so it's the one we use. |
| // When we use nextTick() in our codebase, we only care about not releasing Zalgo |
| // (see: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony). |
| // Microtask vs macrotask doesn't matter to us. So we're free to use the fastest |
| // (least latency) option, which is "immediate" due to use of microtasks. |
| // All of our nextTicks are isolated to this one function so we can easily swap out one |
| // implementation for another. |
| import immediate from 'immediate'; |
| export default immediate; |