utils.mjs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import dayjs from 'dayjs';
  2. import { isEmpty } from '../../../utils/types.mjs';
  3. import { isArray, isDate } from '@vue/shared';
  4. const buildTimeList = (value, bound) => {
  5. return [
  6. value > 0 ? value - 1 : void 0,
  7. value,
  8. value < bound ? value + 1 : void 0
  9. ];
  10. };
  11. const rangeArr = (n) => Array.from(Array.from({ length: n }).keys());
  12. const extractDateFormat = (format) => {
  13. return format.replace(/\W?m{1,2}|\W?ZZ/g, "").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, "").trim();
  14. };
  15. const extractTimeFormat = (format) => {
  16. return format.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g, "").trim();
  17. };
  18. const dateEquals = function(a, b) {
  19. const aIsDate = isDate(a);
  20. const bIsDate = isDate(b);
  21. if (aIsDate && bIsDate) {
  22. return a.getTime() === b.getTime();
  23. }
  24. if (!aIsDate && !bIsDate) {
  25. return a === b;
  26. }
  27. return false;
  28. };
  29. const valueEquals = function(a, b) {
  30. const aIsArray = isArray(a);
  31. const bIsArray = isArray(b);
  32. if (aIsArray && bIsArray) {
  33. if (a.length !== b.length) {
  34. return false;
  35. }
  36. return a.every((item, index) => dateEquals(item, b[index]));
  37. }
  38. if (!aIsArray && !bIsArray) {
  39. return dateEquals(a, b);
  40. }
  41. return false;
  42. };
  43. const parseDate = function(date, format, lang) {
  44. const day = isEmpty(format) || format === "x" ? dayjs(date).locale(lang) : dayjs(date, format).locale(lang);
  45. return day.isValid() ? day : void 0;
  46. };
  47. const formatter = function(date, format, lang) {
  48. if (isEmpty(format))
  49. return date;
  50. if (format === "x")
  51. return +date;
  52. return dayjs(date).locale(lang).format(format);
  53. };
  54. const makeList = (total, method) => {
  55. var _a;
  56. const arr = [];
  57. const disabledArr = method == null ? void 0 : method();
  58. for (let i = 0; i < total; i++) {
  59. arr.push((_a = disabledArr == null ? void 0 : disabledArr.includes(i)) != null ? _a : false);
  60. }
  61. return arr;
  62. };
  63. const dayOrDaysToDate = (dayOrDays) => {
  64. return isArray(dayOrDays) ? dayOrDays.map((d) => d.toDate()) : dayOrDays.toDate();
  65. };
  66. export { buildTimeList, dateEquals, dayOrDaysToDate, extractDateFormat, extractTimeFormat, formatter, makeList, parseDate, rangeArr, valueEquals };
  67. //# sourceMappingURL=utils.mjs.map