UNPKG

waterline-postgresql

Version:
49 lines (42 loc) 1.06 kB
exports = module.exports = ap; function ap (args, fn) { return function () { var rest = [].slice.call(arguments) , first = args.slice() first.push.apply(first, rest) return fn.apply(this, first); }; } exports.pa = pa; function pa (args, fn) { return function () { var rest = [].slice.call(arguments) rest.push.apply(rest, args) return fn.apply(this, rest); }; } exports.apa = apa; function apa (left, right, fn) { return function () { return fn.apply(this, left.concat.apply(left, arguments).concat(right) ); }; } exports.partial = partial; function partial (fn) { var args = [].slice.call(arguments, 1); return ap(args, fn); } exports.partialRight = partialRight; function partialRight (fn) { var args = [].slice.call(arguments, 1); return pa(args, fn); } exports.curry = curry; function curry (fn) { return partial(partial, fn); } exports.curryRight = function curryRight (fn) { return partial(partialRight, fn); }