|
|
- (function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global = global || self, global.curri = factory());
- }(this, function () { 'use strict';
-
- /**
- * Function to curry any javascript method
- * @param {Function} fn - the target function we want to curry
- * @param {...[args]} acc - initial arguments
- * @returns {Function|*} it will return a function until the target function
- * will receive all of its arguments
- */
- function curry(fn, ...acc) {
- return (...args) => {
- args = [...acc, ...args];
-
- return args.length < fn.length ?
- curry(fn, ...args) :
- fn(...args)
- }
- }
-
- return curry;
-
- }));
|