mirror of https://github.com/jkjoy/sunpeiwen.git
154 lines
3.3 KiB
JavaScript
154 lines
3.3 KiB
JavaScript
// 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();
|
|
} |