@alexkeating/common-utilities
Version:
Our **Common Utilities** package is a set of helper tools and utilities that are used throughout our libraries and apps. This includes things like our constants, types that are commonly shared across packages, and various utilities and helper functions.
40 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatPeriods = exports.calcExpiry = exports.unixTimeInSeconds = exports.toSeconds = exports.conversionFns = void 0;
const date_fns_1 = require("date-fns");
exports.conversionFns = {
days: (amt) => (0, date_fns_1.hoursToSeconds)(amt * 24),
hours: (amt) => (0, date_fns_1.hoursToSeconds)(amt),
minutes: (amt) => (0, date_fns_1.minutesToSeconds)(amt),
seconds: (amt) => amt,
};
const toSeconds = (amt, unit) => { var _a; return (_a = exports.conversionFns[unit]) === null || _a === void 0 ? void 0 : _a.call(exports.conversionFns, amt); };
exports.toSeconds = toSeconds;
const unixTimeInSeconds = () => {
return Math.floor(Date.now() / 1000);
};
exports.unixTimeInSeconds = unixTimeInSeconds;
const calcExpiry = (duration) => {
return duration > 0 ? (0, exports.unixTimeInSeconds)() + duration : 0;
};
exports.calcExpiry = calcExpiry;
const formatPeriods = (duration) => {
if (duration) {
let s = Number(duration);
const d = Math.floor(s / (3600 * 24));
s -= d * 3600 * 24;
const h = Math.floor(s / 3600);
s -= h * 3600;
const m = Math.floor(s / 60);
s -= m * 60;
const tmp = [];
d && tmp.push(`${d} day${d > 1 ? 's' : ''}`);
(d || h) && h && tmp.push(`${h} hour${h > 1 ? 's' : ''}`);
(d || h || m) && m && tmp.push(`${m} minute${m > 1 ? 's' : ''}`);
s && tmp.push(`${s} second${s > 1 ? 's' : ''}`);
return tmp.join(' ');
}
return 0;
};
exports.formatPeriods = formatPeriods;
//# sourceMappingURL=time.js.map