function.js 942 B

12345678910111213141516171819202122232425262728
  1. export { debounce, throttle } from 'lodash-es';
  2. export function apply(fn, ctx, args) {
  3. if (args) {
  4. switch (args.length) {
  5. case 0:
  6. return fn.call(ctx);
  7. case 1:
  8. return fn.call(ctx, args[0]);
  9. case 2:
  10. return fn.call(ctx, args[0], args[1]);
  11. case 3:
  12. return fn.call(ctx, args[0], args[1], args[2]);
  13. case 4:
  14. return fn.call(ctx, args[0], args[1], args[2], args[3]);
  15. case 5:
  16. return fn.call(ctx, args[0], args[1], args[2], args[3], args[4]);
  17. case 6:
  18. return fn.call(ctx, args[0], args[1], args[2], args[3], args[4], args[5]);
  19. default:
  20. return fn.apply(ctx, args);
  21. }
  22. }
  23. return fn.call(ctx);
  24. }
  25. export function call(fn, ctx, ...args) {
  26. return apply(fn, ctx, args);
  27. }
  28. //# sourceMappingURL=function.js.map