UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 5.43 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/time-picker/src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport { isArray, isDate, isEmpty } from '@element-plus/utils'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateOrDates, DayOrDays } from './common/props'\n\nexport type TimeList = [number | undefined, number, undefined | number]\n\nexport const buildTimeList = (value: number, bound: number): TimeList => {\n return [\n value > 0 ? value - 1 : undefined,\n value,\n value < bound ? value + 1 : undefined,\n ]\n}\n\nexport const rangeArr = (n: number) =>\n Array.from(Array.from({ length: n }).keys())\n\nexport const extractDateFormat = (format: string) => {\n return format\n .replace(/\\W?m{1,2}|\\W?ZZ/g, '')\n .replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '')\n .trim()\n}\n\nexport const extractTimeFormat = (format: string) => {\n return format\n .replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, '')\n .trim()\n}\n\nexport const dateEquals = function (a: Date | unknown, b: Date | unknown) {\n const aIsDate = isDate(a)\n const bIsDate = isDate(b)\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nexport const valueEquals = function (\n a: Array<Date> | unknown,\n b: Array<Date> | unknown\n) {\n const aIsArray = isArray(a)\n const bIsArray = isArray(b)\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return a.every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nexport const parseDate = function (\n date: string | number | Date,\n format: string | undefined,\n lang: string\n) {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nexport const formatter = function (\n date: string | number | Date | Dayjs,\n format: string | undefined,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport const makeList = (total: number, method?: () => number[]) => {\n const arr: boolean[] = []\n const disabledArr = method?.()\n for (let i = 0; i < total; i++) {\n arr.push(disabledArr?.includes(i) ?? false)\n }\n return arr\n}\n\nexport const dayOrDaysToDate = (dayOrDays: DayOrDays): DateOrDates => {\n return isArray(dayOrDays)\n ? (dayOrDays.map((d) => d.toDate()) as [Date, Date])\n : dayOrDays.toDate()\n}\n"],"names":[],"mappings":"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"}