Get a random number:
var random = (min, max) => {
if (!min || min < 0) {
min = 0;
}
if (!max) {
max = 9007199254740991;
}
if (min === max) {
return max;
}
if (min > max) {
min = Math.min(min, max);
max = Math.max(min, max);
}
let offset = min;
let range = max - min + 1;
let rd = Math.floor(Math.random() * range) + offset;
return rd;
};
Get relative time:
var relativize = (input) => {
let t = input instanceof Date ? input : new Date(input);
let delta = new Date() - t;
let nowThreshold = parseInt(t, 10);
if (isNaN(nowThreshold)) {
nowThreshold = 0;
}
if (delta <= nowThreshold) {
return 'Just now';
}
let units = null;
let conversions = {
millisecond: 1,
second: 1000,
minute: 60,
hour: 60,
day: 24,
month: 30,
year: 12
};
for (let key in conversions) {
if (delta < conversions[key]) {
break;
} else {
units = key;
delta /= conversions[key];
}
}
delta = Math.floor(delta);
if (delta !== 1) {
units += 's';
}
return [delta, units].join(' ') + ' ago';
};