1
0
mirror of https://github.com/ascribe/onion.git synced 2024-11-15 09:35:10 +01:00
onion/js/utils/general_utils.js

42 lines
962 B
JavaScript
Raw Normal View History

2015-05-19 17:01:28 +02:00
// TODO: Create Unittests that test all functions
let GeneralUtils = {
/**
* Removes undefined and null values from an key-value object.
*/
sanitize(obj) {
Object
.keys(obj)
.map((key) => {
// By matching null with a double equal, we can match undefined and null
// http://stackoverflow.com/a/15992131
if(obj[key] == null || obj[key] === '') {
2015-05-19 17:01:28 +02:00
delete obj[key];
}
});
return obj;
2015-05-20 14:48:57 +02:00
},
/**
* Returns the values of an object.
*/
valuesOfObject(obj) {
return Object
.keys(obj)
.map(key => obj[key]);
},
/**
* Sums up a list of numbers. Like a Epsilon-math-kinda-sum...
*/
sumNumList(l) {
let sum = 0;
l.forEach((num) => sum += parseFloat(num) || 0);
return sum;
2015-05-19 17:01:28 +02:00
}
2015-05-26 13:33:35 +02:00
2015-05-19 17:01:28 +02:00
};
export default GeneralUtils;