Move packages up in directory hierarchy
[lede-routing/.git] / luci-app-bmx6 / files / www / luci-static / resources / bmx6 / js / Curry-1.0.1.js
1 /**\r
2  * Curry - Function currying\r
3  * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com\r
4  * Licensed under BSD (http://www.opensource.org/licenses/bsd-license.php)\r
5  * Date: 10/4/2008\r
6  *\r
7  * @author Ariel Flesler\r
8  * @version 1.0.1\r
9  */\r
10 \r
11 function curry( fn ){\r
12         return function(){\r
13                 var args = curry.args(arguments),\r
14                         master = arguments.callee,\r
15                         self = this;\r
16 \r
17                 return args.length >= fn.length ? fn.apply(self,args) : function(){\r
18                         return master.apply( self, args.concat(curry.args(arguments)) );\r
19                 };\r
20         };\r
21 };\r
22 \r
23 curry.args = function( args ){\r
24         return Array.prototype.slice.call(args);\r
25 };\r
26 \r
27 Function.prototype.curry = function(){\r
28         return curry(this);\r
29 };