element-plus
Version:
A Component Library for Vue 3
1 lines • 2.51 kB
Source Map (JSON)
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/countdown/src/utils.ts"],"sourcesContent":["import { isNumber } from '@element-plus/utils'\n\nimport type { Dayjs } from 'dayjs'\n\nconst timeUnits = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n] as const\n\nexport const getTime = (value: number | Dayjs) => {\n return isNumber(value) ? new Date(value).getTime() : value.valueOf()\n}\n\nexport const formatTime = (timestamp: number, format: string) => {\n let timeLeft = timestamp\n const escapeRegex = /\\[([^\\]]*)]/g\n\n const replacedText = timeUnits.reduce((current, [name, unit]) => {\n const replaceRegex = new RegExp(`${name}+(?![^\\\\[\\\\]]*\\\\])`, 'g')\n if (replaceRegex.test(current)) {\n const value = Math.floor(timeLeft / unit)\n timeLeft -= value * unit\n return current.replace(replaceRegex, (match) =>\n String(value).padStart(match.length, '0')\n )\n }\n return current\n }, format)\n\n return replacedText.replace(escapeRegex, '$1')\n}\n"],"names":[],"mappings":";;AAIA,MAAM,SAAA,GAAY;AAAA,EAChB,CAAC,GAAA,EAAK,GAAA,GAAO,EAAA,GAAK,EAAA,GAAK,KAAK,GAAG,CAAA;AAAA;AAAA,EAC/B,CAAC,GAAA,EAAK,GAAA,GAAO,EAAA,GAAK,EAAA,GAAK,KAAK,EAAE,CAAA;AAAA;AAAA,EAC9B,CAAC,GAAA,EAAK,GAAA,GAAO,EAAA,GAAK,KAAK,EAAE,CAAA;AAAA;AAAA,EACzB,CAAC,GAAA,EAAK,GAAA,GAAO,EAAA,GAAK,EAAE,CAAA;AAAA;AAAA,EACpB,CAAC,GAAA,EAAK,GAAA,GAAO,EAAE,CAAA;AAAA;AAAA,EACf,CAAC,KAAK,GAAI,CAAA;AAAA;AAAA,EACV,CAAC,KAAK,CAAC;AAAA;AACT,CAAA;AAEO,MAAM,OAAA,GAAU,CAAC,KAAA,KAA0B;AAChD,EAAA,OAAO,QAAA,CAAS,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,KAAK,CAAA,CAAE,OAAA,EAAQ,GAAI,KAAA,CAAM,OAAA,EAAQ;AACrE;AAEO,MAAM,UAAA,GAAa,CAAC,SAAA,EAAmB,MAAA,KAAmB;AAC/D,EAAA,IAAI,QAAA,GAAW,SAAA;AACf,EAAA,MAAM,WAAA,GAAc,cAAA;AAEpB,EAAA,MAAM,YAAA,GAAe,UAAU,MAAA,CAAO,CAAC,SAAS,CAAC,IAAA,EAAM,IAAI,CAAA,KAAM;AAC/D,IAAA,MAAM,eAAe,IAAI,MAAA,CAAO,CAAA,EAAG,IAAI,sBAAsB,GAAG,CAAA;AAChE,IAAA,IAAI,YAAA,CAAa,IAAA,CAAK,OAAO,CAAA,EAAG;AAC9B,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,QAAA,GAAW,IAAI,CAAA;AACxC,MAAA,QAAA,IAAY,KAAA,GAAQ,IAAA;AACpB,MAAA,OAAO,OAAA,CAAQ,OAAA;AAAA,QAAQ,YAAA;AAAA,QAAc,CAAC,UACpC,MAAA,CAAO,KAAK,EAAE,QAAA,CAAS,KAAA,CAAM,QAAQ,GAAG;AAAA,OAC1C;AAAA,IACF;AACA,IAAA,OAAO,OAAA;AAAA,EACT,GAAG,MAAM,CAAA;AAET,EAAA,OAAO,YAAA,CAAa,OAAA,CAAQ,WAAA,EAAa,IAAI,CAAA;AAC/C;;;;"}