mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 01:17:18 +00:00
23 lines
No EOL
716 B
JavaScript
23 lines
No EOL
716 B
JavaScript
'use strict';
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
|
|
|
|
module.exports = currify;
|
|
|
|
var tail = function tail(list) {
|
|
return [].slice.call(list, 1);
|
|
};
|
|
|
|
function currify(fn) {
|
|
check(fn);
|
|
|
|
var args = tail(arguments);
|
|
|
|
if (args.length >= fn.length) return fn.apply(undefined, _toConsumableArray(args));else return function () {
|
|
return currify.apply(undefined, [fn].concat(_toConsumableArray(args), Array.prototype.slice.call(arguments)));
|
|
};
|
|
}
|
|
|
|
function check(fn) {
|
|
if (typeof fn !== 'function') throw Error('fn should be function!');
|
|
} |