dezalgo.js 368 B

12345678910111213141516171819202122
  1. var wrappy = require('wrappy')
  2. module.exports = wrappy(dezalgo)
  3. var asap = require('asap')
  4. function dezalgo (cb) {
  5. var sync = true
  6. asap(function () {
  7. sync = false
  8. })
  9. return function zalgoSafe() {
  10. var args = arguments
  11. var me = this
  12. if (sync)
  13. asap(function() {
  14. cb.apply(me, args)
  15. })
  16. else
  17. cb.apply(me, args)
  18. }
  19. }