Files
ghbot/lib/util.js
2018-09-23 08:44:50 -07:00

51 lines
1.3 KiB
JavaScript
Executable File

// Converts seconds to human-readable time
String.prototype.toHHMMSS = function () {
let sec_num = parseInt(this, 10); // don't forget the second param
let hours = Math.floor(sec_num / 3600);
let minutes = Math.floor((sec_num - (hours * 3600)) / 60);
let seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
return hours+':'+minutes+':'+seconds;
};
var exports = module.exports = {};
exports.asyncForEach = async function(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array)
}
};
exports.range = function(start,stop) {
var result=[];
for (var idx=start.charCodeAt(0),end=stop.charCodeAt(0); idx <=end; ++idx){
result.push(String.fromCharCode(idx));
}
return result;
};
exports.randElement = function(arr) {
return arr[Math.floor(Math.random() * arr.length)];
};
exports.sum = function(e) {
let sum = 0;
for (let i = 0; i < e.length; i++) {
sum += parseInt(e[i], 10);
}
return sum;
};
exports.average = function(e) {
let sum = exports.sum(e);
let avg = sum / e.length;
return avg;
};
exports.randSort = () => { return 0.5 - Math.random() };