time-left-ago
Version:
Provide time left and time ago
28 lines (27 loc) • 1.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var moment_1 = __importDefault(require("moment"));
var pluralize_1 = __importDefault(require("pluralize"));
function timeLeft(time, ttl) {
if (!time || !ttl)
return '';
var created = new Date(moment_1.default(time).valueOf()).valueOf();
var sec = (ttl * 60 * 1000 - (new Date().valueOf() - created)) / 1000;
if (sec < 0) {
return '';
}
if (sec <= 59) {
return pluralize_1.default('second', Math.ceil(sec), true) + " left";
}
if (sec > 59 && sec < 3540) {
return pluralize_1.default('minute', Math.ceil(sec / 60), true) + " left";
}
if (sec >= 3540 && sec < 86399) {
return pluralize_1.default('hour', Math.ceil(sec / 3600), true) + " left";
}
return pluralize_1.default('day', Math.ceil(sec / 86400), true) + " left";
}
exports.default = timeLeft;