var values, keys, pairsToObj, objToPairs, listsToObj, objToLists, empty, each, map, compact, filter, reject, partition, find; values = function(object){ var i$, x, results$ = []; for (i$ in object) { x = object[i$]; results$.push(x); } return results$; }; keys = function(object){ var x, results$ = []; for (x in object) { results$.push(x); } return results$; }; pairsToObj = function(object){ var i$, len$, x, results$ = {}; for (i$ = 0, len$ = object.length; i$ < len$; ++i$) { x = object[i$]; results$[x[0]] = x[1]; } return results$; }; objToPairs = function(object){ var key, value, results$ = []; for (key in object) { value = object[key]; results$.push([key, value]); } return results$; }; listsToObj = curry$(function(keys, values){ var i$, len$, i, key, results$ = {}; for (i$ = 0, len$ = keys.length; i$ < len$; ++i$) { i = i$; key = keys[i$]; results$[key] = values[i]; } return results$; }); objToLists = function(objectect){ var keys, values, key, value; keys = []; values = []; for (key in objectect) { value = objectect[key]; keys.push(key); values.push(value); } return [keys, values]; }; empty = function(object){ var x; for (x in object) { return false; } return true; }; each = curry$(function(f, object){ var i$, x; for (i$ in object) { x = object[i$]; f(x); } return object; }); map = curry$(function(f, object){ var k, x, results$ = {}; for (k in object) { x = object[k]; results$[k] = f(x); } return results$; }); compact = curry$(function(object){ var k, x, results$ = {}; for (k in object) { x = object[k]; if (x) { results$[k] = x; } } return results$; }); filter = curry$(function(f, object){ var k, x, results$ = {}; for (k in object) { x = object[k]; if (f(x)) { results$[k] = x; } } return results$; }); reject = curry$(function(f, object){ var k, x, results$ = {}; for (k in object) { x = object[k]; if (!f(x)) { results$[k] = x; } } return results$; }); partition = curry$(function(f, object){ var passed, failed, k, x; passed = {}; failed = {}; for (k in object) { x = object[k]; (f(x) ? passed : failed)[k] = x; } return [passed, failed]; }); find = curry$(function(f, object){ var i$, x; for (i$ in object) { x = object[i$]; if (f(x)) { return x; } } }); module.exports = { values: values, keys: keys, pairsToObj: pairsToObj, objToPairs: objToPairs, listsToObj: listsToObj, objToLists: objToLists, empty: empty, each: each, map: map, filter: filter, compact: compact, reject: reject, partition: partition, find: find }; 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(); }