Sha256: fb642b0a88b265bf37c9f243fb50a291cfc3897aea6d5476f60ebd4d5cf0d200
Contents?: true
Size: 895 Bytes
Versions: 6
Compression:
Stored size: 895 Bytes
Contents
var curry, flip, fix, apply; curry = function(f){ return curry$(f); }; flip = curry$(function(f, x, y){ return f(y, x); }); fix = function(f){ return function(g, x){ return function(){ return f(g(g)).apply(null, arguments); }; }(function(g, x){ return function(){ return f(g(g)).apply(null, arguments); }; }); }; apply = curry$(function(f, list){ return f.apply(null, list); }); module.exports = { curry: curry, flip: flip, fix: fix, apply: apply }; function curry$(f, bound){ var context, _curry = function(args) { return f.length > 1 ? function(){ var params = args ? args.concat() : []; context = bound ? context || this : this; return params.push.apply(params, arguments) < f.length && arguments.length ? _curry.call(context, params) : f.apply(context, params); } : f; }; return _curry(); }
Version data entries
6 entries across 6 versions & 2 rubygems