UNPKG

comic-plus

Version:

<p align="center"> <img width="200px" src="./logo.png"/> </p>

34 lines (33 loc) 956 B
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const timeUnits = [ ["Y", 1e3 * 60 * 60 * 24 * 365], // years ["M", 1e3 * 60 * 60 * 24 * 30], // months ["D", 1e3 * 60 * 60 * 24], // days ["H", 1e3 * 60 * 60], // hours ["m", 1e3 * 60], // minutes ["s", 1e3], // seconds ["S", 1] // million seconds ]; function formatTime(timestamp, format) { let timeLeft = timestamp; const escapeRegex = /\[([^\]]*)]/g; const replacedText = timeUnits.reduce((current, [name, unit]) => { const replaceRegex = new RegExp(`${name}+(?![^\\[\\]]*\\])`, "g"); if (replaceRegex.test(current)) { const value = Math.floor(timeLeft / unit); timeLeft -= value * unit; return current.replace(replaceRegex, (match) => String(value).padStart(match.length, "0")); } return current; }, format); return replacedText.replace(escapeRegex, "$1"); } exports.formatTime = formatTime;