UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.67 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/time-select/src/utils.ts"],"sourcesContent":["interface Time {\n hours: number\n minutes: number\n}\n\nexport const parseTime = (time: string): null | Time => {\n const values = (time || '').split(':')\n if (values.length >= 2) {\n let hours = Number.parseInt(values[0], 10)\n const minutes = Number.parseInt(values[1], 10)\n const timeUpper = time.toUpperCase()\n if (timeUpper.includes('AM') && hours === 12) {\n hours = 0\n } else if (timeUpper.includes('PM') && hours !== 12) {\n hours += 12\n }\n return {\n hours,\n minutes,\n }\n }\n\n return null\n}\n\nexport const compareTime = (time1: string, time2: string): number => {\n const value1 = parseTime(time1)\n if (!value1) return -1\n const value2 = parseTime(time2)\n if (!value2) return -1\n const minutes1 = value1.minutes + value1.hours * 60\n const minutes2 = value2.minutes + value2.hours * 60\n if (minutes1 === minutes2) {\n return 0\n }\n return minutes1 > minutes2 ? 1 : -1\n}\n\nexport const padTime = (time: number | string) => {\n return `${time}`.padStart(2, '0')\n}\nexport const formatTime = (time: Time): string => {\n return `${padTime(time.hours)}:${padTime(time.minutes)}`\n}\n\nexport const nextTime = (time: string, step: string): string => {\n const timeValue = parseTime(time)\n if (!timeValue) return ''\n\n const stepValue = parseTime(step)\n if (!stepValue) return ''\n\n const next = {\n hours: timeValue.hours,\n minutes: timeValue.minutes,\n }\n next.minutes += stepValue.minutes\n next.hours += stepValue.hours\n next.hours += Math.floor(next.minutes / 60)\n next.minutes = next.minutes % 60\n return formatTime(next)\n}\n"],"names":[],"mappings":"AAKO,MAAM,SAAA,GAAY,CAAC,IAAA,KAA8B;AACtD,EAAA,MAAM,MAAA,GAAA,CAAU,IAAA,IAAQ,EAAA,EAAI,KAAA,CAAM,GAAG,CAAA;AACrC,EAAA,IAAI,MAAA,CAAO,UAAU,CAAA,EAAG;AACtB,IAAA,IAAI,QAAQ,MAAA,CAAO,QAAA,CAAS,MAAA,CAAO,CAAC,GAAG,EAAE,CAAA;AACzC,IAAA,MAAM,UAAU,MAAA,CAAO,QAAA,CAAS,MAAA,CAAO,CAAC,GAAG,EAAE,CAAA;AAC7C,IAAA,MAAM,SAAA,GAAY,KAAK,WAAA,EAAY;AACnC,IAAA,IAAI,SAAA,CAAU,QAAA,CAAS,IAAI,CAAA,IAAK,UAAU,EAAA,EAAI;AAC5C,MAAA,KAAA,GAAQ,CAAA;AAAA,IACV,WAAW,SAAA,CAAU,QAAA,CAAS,IAAI,CAAA,IAAK,UAAU,EAAA,EAAI;AACnD,MAAA,KAAA,IAAS,EAAA;AAAA,IACX;AACA,IAAA,OAAO;AAAA,MACL,KAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,MAAM,WAAA,GAAc,CAAC,KAAA,EAAe,KAAA,KAA0B;AACnE,EAAA,MAAM,MAAA,GAAS,UAAU,KAAK,CAAA;AAC9B,EAAA,IAAI,CAAC,QAAQ,OAAO,EAAA;AACpB,EAAA,MAAM,MAAA,GAAS,UAAU,KAAK,CAAA;AAC9B,EAAA,IAAI,CAAC,QAAQ,OAAO,EAAA;AACpB,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,GAAU,MAAA,CAAO,KAAA,GAAQ,EAAA;AACjD,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,GAAU,MAAA,CAAO,KAAA,GAAQ,EAAA;AACjD,EAAA,IAAI,aAAa,QAAA,EAAU;AACzB,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,OAAO,QAAA,GAAW,WAAW,CAAA,GAAI,EAAA;AACnC;AAEO,MAAM,OAAA,GAAU,CAAC,IAAA,KAA0B;AAChD,EAAA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,CAAG,QAAA,CAAS,GAAG,GAAG,CAAA;AAClC;AACO,MAAM,UAAA,GAAa,CAAC,IAAA,KAAuB;AAChD,EAAA,OAAO,CAAA,EAAG,QAAQ,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA,EAAI,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAC,CAAA,CAAA;AACxD;AAEO,MAAM,QAAA,GAAW,CAAC,IAAA,EAAc,IAAA,KAAyB;AAC9D,EAAA,MAAM,SAAA,GAAY,UAAU,IAAI,CAAA;AAChC,EAAA,IAAI,CAAC,WAAW,OAAO,EAAA;AAEvB,EAAA,MAAM,SAAA,GAAY,UAAU,IAAI,CAAA;AAChC,EAAA,IAAI,CAAC,WAAW,OAAO,EAAA;AAEvB,EAAA,MAAM,IAAA,GAAO;AAAA,IACX,OAAO,SAAA,CAAU,KAAA;AAAA,IACjB,SAAS,SAAA,CAAU;AAAA,GACrB;AACA,EAAA,IAAA,CAAK,WAAW,SAAA,CAAU,OAAA;AAC1B,EAAA,IAAA,CAAK,SAAS,SAAA,CAAU,KAAA;AACxB,EAAA,IAAA,CAAK,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,UAAU,EAAE,CAAA;AAC1C,EAAA,IAAA,CAAK,OAAA,GAAU,KAAK,OAAA,GAAU,EAAA;AAC9B,EAAA,OAAO,WAAW,IAAI,CAAA;AACxB;;;;"}