You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 456 B

3 years ago
1234567891011121314151617181920
  1. module.exports = function chain(){
  2. var len = arguments.length
  3. var args = [];
  4. for (var i = 0; i < len; i++)
  5. args[i] = arguments[i]
  6. args = args.filter(function(fn){ return fn != null })
  7. if (args.length === 0) return undefined
  8. if (args.length === 1) return args[0]
  9. return args.reduce(function(current, next){
  10. return function chainedFunction() {
  11. current.apply(this, arguments);
  12. next.apply(this, arguments);
  13. };
  14. })
  15. }