forked from ard/ruoyi-api

‘liusuyi’
2023-10-06 63e7ee4de83e1dfd0d4db6113ca07fe544155c14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// optional / simple context binding
var aFunction = require('./_a-function');
module.exports = function (fn, that, length) {
  aFunction(fn);
  if (that === undefined) return fn;
  switch (length) {
    case 1: return function (a) {
      return fn.call(that, a);
    };
    case 2: return function (a, b) {
      return fn.call(that, a, b);
    };
    case 3: return function (a, b, c) {
      return fn.call(that, a, b, c);
    };
  }
  return function (/* ...args */) {
    return fn.apply(that, arguments);
  };
};