You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
3.1 KiB
154 lines
3.1 KiB
// Generated by LiveScript 1.4.0 |
|
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, resultObj$ = {}; |
|
for (i$ = 0, len$ = object.length; i$ < len$; ++i$) { |
|
x = object[i$]; |
|
resultObj$[x[0]] = x[1]; |
|
} |
|
return resultObj$; |
|
}; |
|
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, resultObj$ = {}; |
|
for (i$ = 0, len$ = keys.length; i$ < len$; ++i$) { |
|
i = i$; |
|
key = keys[i$]; |
|
resultObj$[key] = values[i]; |
|
} |
|
return resultObj$; |
|
}); |
|
objToLists = function(object){ |
|
var keys, values, key, value; |
|
keys = []; |
|
values = []; |
|
for (key in object) { |
|
value = object[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, resultObj$ = {}; |
|
for (k in object) { |
|
x = object[k]; |
|
resultObj$[k] = f(x); |
|
} |
|
return resultObj$; |
|
}); |
|
compact = function(object){ |
|
var k, x, resultObj$ = {}; |
|
for (k in object) { |
|
x = object[k]; |
|
if (x) { |
|
resultObj$[k] = x; |
|
} |
|
} |
|
return resultObj$; |
|
}; |
|
filter = curry$(function(f, object){ |
|
var k, x, resultObj$ = {}; |
|
for (k in object) { |
|
x = object[k]; |
|
if (f(x)) { |
|
resultObj$[k] = x; |
|
} |
|
} |
|
return resultObj$; |
|
}); |
|
reject = curry$(function(f, object){ |
|
var k, x, resultObj$ = {}; |
|
for (k in object) { |
|
x = object[k]; |
|
if (!f(x)) { |
|
resultObj$[k] = x; |
|
} |
|
} |
|
return resultObj$; |
|
}); |
|
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(); |
|
} |