UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.54 kB
{"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,SAAY,GAAA;AAAA,EAChB,CAAC,GAAK,EAAA,GAAA,GAAO,EAAK,GAAA,EAAA,GAAK,KAAK,GAAG,CAAA;AAAA,EAC/B,CAAC,GAAK,EAAA,GAAA,GAAO,EAAK,GAAA,EAAA,GAAK,KAAK,EAAE,CAAA;AAAA,EAC9B,CAAC,GAAA,EAAK,GAAO,GAAA,EAAA,GAAK,KAAK,EAAE,CAAA;AAAA,EACzB,CAAC,GAAA,EAAK,GAAO,GAAA,EAAA,GAAK,EAAE,CAAA;AAAA,EACpB,CAAC,GAAK,EAAA,GAAA,GAAO,EAAE,CAAA;AAAA,EACf,CAAC,KAAK,GAAI,CAAA;AAAA,EACV,CAAC,KAAK,CAAC,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,OAAA,GAAU,CAAC,KAA0B,KAAA;AAChD,EAAO,OAAA,QAAA,CAAS,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,KAAK,CAAE,CAAA,OAAA,EAAY,GAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AACrE,EAAA;AAEa,MAAA,UAAA,GAAa,CAAC,SAAA,EAAmB,MAAmB,KAAA;AAC/D,EAAA,IAAI,QAAW,GAAA,SAAA,CAAA;AACf,EAAA,MAAM,WAAc,GAAA,cAAA,CAAA;AAEpB,EAAM,MAAA,YAAA,GAAe,UAAU,MAAO,CAAA,CAAC,SAAS,CAAC,IAAA,EAAM,IAAI,CAAM,KAAA;AAC/D,IAAA,MAAM,YAAe,GAAA,IAAI,MAAO,CAAA,CAAA,EAAG,0BAA0B,GAAG,CAAA,CAAA;AAChE,IAAI,IAAA,YAAA,CAAa,IAAK,CAAA,OAAO,CAAG,EAAA;AAC9B,MAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,KAAM,CAAA,QAAA,GAAW,IAAI,CAAA,CAAA;AACxC,MAAA,QAAA,IAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,OAAO,OAAQ,CAAA,OAAA;AAAA,QAAQ,YAAA;AAAA,QAAc,CAAC,UACpC,MAAO,CAAA,KAAK,EAAE,QAAS,CAAA,KAAA,CAAM,QAAQ,GAAG,CAAA;AAAA,OAC1C,CAAA;AAAA,KACF;AACA,IAAO,OAAA,OAAA,CAAA;AAAA,KACN,MAAM,CAAA,CAAA;AAET,EAAO,OAAA,YAAA,CAAa,OAAQ,CAAA,WAAA,EAAa,IAAI,CAAA,CAAA;AAC/C;;;;"}