golangify.js 654 B

1234567891011121314151617181920212223242526
  1. var isFn = require('./isFn');
  2. var restArgs = require('./restArgs');
  3. exports = function(fn) {
  4. if (isFn(fn)) {
  5. return restArgs(function(args) {
  6. return fn
  7. .apply(this, args)
  8. .then(function(v) {
  9. return [v, null];
  10. })
  11. .catch(function(err) {
  12. return [void 0, err];
  13. });
  14. });
  15. } else {
  16. return fn
  17. .then(function(v) {
  18. return [v, null];
  19. })
  20. .catch(function(err) {
  21. return [void 0, err];
  22. });
  23. }
  24. };
  25. module.exports = exports;