UNPKG

tdesign-mobile-vue

Version:
1 lines 10.5 kB
{"version":3,"file":"utils.mjs","sources":["../../../src/shared/useCountDown/utils.ts"],"sourcesContent":["import { TimeData, TdUseCountDownShowTimes } from './type';\nimport { isBrowser } from '../util';\n\nexport const TimeDataUnit = {\n DD: '天',\n HH: '时',\n mm: '分',\n ss: '秒',\n SSS: '毫秒',\n};\n\n/**\n * getRemainTimes\n * @param time\n * @returns\n */\nexport const getRemainTimes = (time?: number): TimeData => {\n if (!time) {\n return {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n };\n }\n const stime = Math.floor(time / 1000); // 秒\n return {\n days: Math.floor(stime / 3600 / 24),\n hours: Math.floor((stime / 3600) % 24),\n minutes: Math.floor((stime / 60) % 60),\n seconds: stime % 60,\n milliseconds: time % 1000,\n };\n};\n\n/**\n * fillZero\n * @param num\n * @returns\n */\nexport const fillZero = (num: number, isMillieconds = false): string | number => {\n if (isMillieconds) {\n if (num >= 100) {\n return num;\n }\n\n return num >= 10 ? `0${num}` : `00${num}`;\n }\n\n return num >= 10 ? num : `0${num}`;\n};\n\n/**\n * getMark\n * @param format\n * @param type\n * @returns\n */\nexport const getMark = (format: string, type: string): string => format?.split?.(type)?.[1]?.split?.('')?.[0];\n\n/**\n * getShowTimes\n * @param time\n * @returns\n */\nexport const getShowTimes = (\n times: TimeData,\n format: string,\n millisecond = false,\n splitWithUnit = false,\n): TdUseCountDownShowTimes => {\n format = (format || 'DD:HH:mm:ss')?.toUpperCase?.();\n millisecond && !format.includes(':SSS') && (format = format.concat(':SSS'));\n const showTimes: TdUseCountDownShowTimes = [];\n if (format?.indexOf('DD') > -1) {\n showTimes?.push({\n mark: getMark(format, 'DD'),\n value: fillZero(times?.days),\n });\n }\n if (format?.indexOf('HH') > -1) {\n showTimes?.push({\n mark: splitWithUnit ? TimeDataUnit.HH : getMark(format, 'HH'),\n value: fillZero(times?.hours),\n });\n }\n if (format?.indexOf('MM') > -1) {\n showTimes?.push({\n mark: splitWithUnit ? TimeDataUnit.mm : getMark(format, 'MM'),\n value: fillZero(times?.minutes),\n });\n }\n if (format?.indexOf('SS') > -1) {\n showTimes?.push({\n mark: splitWithUnit ? TimeDataUnit.ss : getMark(format, 'SS'),\n value: fillZero(times?.seconds),\n });\n }\n if (format?.indexOf('SSS') > -1 || millisecond) {\n showTimes?.push({\n mark: splitWithUnit ? TimeDataUnit.SSS : getMark(format, 'SSS'),\n value: fillZero(times?.milliseconds, true),\n });\n }\n\n return showTimes;\n};\n\n/**\n * @param {number} targetCount 不小于1的整数,表示经过targetCount帧之后返回结果\n * @return {Promise<number>}\n */\nexport const getScreenFps = (() => {\n if (!isBrowser) return;\n const { requestAnimationFrame, mozRequestAnimationFrame, webkitRequestAnimationFrame } = window as any;\n // 先做一下兼容性处理\n const nextFrame = [requestAnimationFrame, mozRequestAnimationFrame, webkitRequestAnimationFrame]?.find?.((fn) => fn);\n //\n if (!nextFrame) {\n console.error('requestAnimationFrame is not supported!');\n return;\n }\n return (targetCount = 50) => {\n if (targetCount < 1) {\n return;\n }\n let count = 0;\n const beginDate = Date.now();\n return new Promise((resolve) => {\n (function log() {\n nextFrame?.(() => {\n if (++count >= targetCount) {\n const diffDate = Date.now() - beginDate;\n const fps = (count / diffDate) * 1000;\n return resolve(fps);\n }\n log();\n });\n })();\n });\n };\n})();\n"],"names":["TimeDataUnit","DD","HH","mm","ss","SSS","getRemainTimes","time","days","hours","minutes","seconds","milliseconds","stime","Math","floor","fillZero","num","isMillieconds","arguments","length","undefined","concat","getMark","format","type","_format$split","_format$split$split","split","call","getShowTimes","times","_ref","_ref$toUpperCase","_format","_format2","_format3","_format4","_format5","millisecond","splitWithUnit","toUpperCase","includes","showTimes","indexOf","push","mark","value","getScreenFps","_ref2","_ref2$find","isBrowser","_window","window","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","nextFrame","find","fn","console","error","targetCount","count","beginDate","Date","now","Promise","resolve","log","diffDate","fps"],"mappings":"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"}