UNPKG

seconds-to-human

Version:
48 lines (42 loc) 1.26 kB
// Generated by IcedCoffeeScript 1.7.1-b (function() { var to_human, _; _ = require('lodash'); module.exports = to_human = function(secs) { var count, i, label, labels, results, singular, str, times, _i, _len; secs = +secs; times = [secs / 60 / 60 / 24 / 365, secs / 60 / 60 / 24 / 30, secs / 60 / 60 / 24, secs / 60 / 60, secs / 60, secs]; labels = ['year', 'month', 'day', 'hour', 'minute', 'second']; results = {}; i = 0; for (_i = 0, _len = labels.length; _i < _len; _i++) { label = labels[_i]; results[label] = times[i]; ++i; } for (label in results) { count = results[label]; if (count >= 1) { if (count === 1) { singular = true; } else { singular = false; if (count.toString().indexOf('.') > -1) { count = count.toFixed(1); } else { count = count; } } return str = [count, label + (!singular ? 's' : '')].join(' '); } } return new Error('Failed to convert seconds to human format'); }; /* console.log to_human 3838 console.log to_human '3600' console.log to_human 12 console.log to_human 1200 console.log to_human 3600*24*100 */ }).call(this);