UNPKG

@rashedmakkouk/dev-utils

Version:
38 lines (37 loc) 1.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** Utilities */ const moment_1 = __importDefault(require("moment")); /** * Parses any date value to a timestamp with predefined or custom format. * * - datetime: dddd, MMMM D at h:mA * - fromNow: Relative time. * - short: ddd, MMM D * - sql: YYYY-MM-DD HH:mm:ss * * @param date - Parses supplied value, else falls back to Date/Time Now. * * @returns Formatted timestamp. */ function timestamp(date = Date.now(), options = {}) { const instance = (0, moment_1.default)(date); // TODO: Add 'timezoneOffset' support; Issue #6. const { format = 'DD/MM/YYYY', timezoneOffset } = options; switch (format) { case 'datetime': return `${instance.format('dddd, MMMM D')} at ${instance.format('h:mmA')}`; case 'fromNow': return instance.fromNow(); case 'short': return `${instance.format('ddd, MMM D')} ${instance.format('h:mmA')}`; case 'sql': return instance.format('YYYY-MM-DD HH:mm:ss'); default: return instance.format(format); } } exports.default = timestamp;