{"version":3,"file":"dayjs.cjs","sources":["../../../../../../../packages/vue-components/vc-picker/src/generate/dayjs.ts"],"sourcesContent":["import type { Dayjs } from 'dayjs';\nimport type { GenerateConfig } from '.';\nimport { noteOnce } from '@antdv/utils';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\nimport weekday from 'dayjs/plugin/weekday';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(quarterOfYear);\n\ndayjs.extend((_o, c) => {\n  // todo support Wo (ISO week)\n  const proto = c.prototype;\n  const oldFormat = proto.format;\n  proto.format = function f(formatStr: string) {\n    const str = (formatStr || '').replace('Wo', 'wo');\n    return oldFormat.bind(this)(str);\n  };\n});\n\ntype IlocaleMapObject = Record<string, string>;\nconst localeMap: IlocaleMapObject = {\n  // ar_EG:\n  // az_AZ:\n  // bg_BG:\n  bn_BD: 'bn-bd',\n  by_BY: 'be',\n  // ca_ES:\n  // cs_CZ:\n  // da_DK:\n  // de_DE:\n  // el_GR:\n  en_GB: 'en-gb',\n  en_US: 'en',\n  // es_ES:\n  // et_EE:\n  // fa_IR:\n  // fi_FI:\n  fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n  fr_CA: 'fr-ca',\n  // fr_FR:\n  // ga_IE:\n  // gl_ES:\n  // he_IL:\n  // hi_IN:\n  // hr_HR:\n  // hu_HU:\n  hy_AM: 'hy-am',\n  // id_ID:\n  // is_IS:\n  // it_IT:\n  // ja_JP:\n  // ka_GE:\n  // kk_KZ:\n  // km_KH:\n  kmr_IQ: 'ku',\n  // kn_IN:\n  // ko_KR:\n  // ku_IQ: // previous ku in antd\n  // lt_LT:\n  // lv_LV:\n  // mk_MK:\n  // ml_IN:\n  // mn_MN:\n  // ms_MY:\n  // nb_NO:\n  // ne_NP:\n  nl_BE: 'nl-be',\n  // nl_NL:\n  // pl_PL:\n  pt_BR: 'pt-br',\n  // pt_PT:\n  // ro_RO:\n  // ru_RU:\n  // sk_SK:\n  // sl_SI:\n  // sr_RS:\n  // sv_SE:\n  // ta_IN:\n  // th_TH:\n  // tr_TR:\n  // uk_UA:\n  // ur_PK:\n  // vi_VN:\n  zh_CN: 'zh-cn',\n  zh_HK: 'zh-hk',\n  zh_TW: 'zh-tw',\n};\n\nfunction parseLocale(locale: string) {\n  const mapLocale = localeMap[locale];\n  return mapLocale || locale.split('_')[0];\n}\n\nfunction parseNoMatchNotice() {\n  /* istanbul ignore next */\n  noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n}\n\nconst advancedFormatRegex = /\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|k{1,2}|S/g;\n\nfunction findTargetStr(val: string, index: number, segmentation: string) {\n  const items = [...new Set(val.split(segmentation))];\n  let idx = 0;\n  for (let i = 0; i < items.length; i++) {\n    const item = items[i];\n    idx += item.length;\n    if (idx > index)\n      return item;\n\n    idx += segmentation.length;\n  }\n}\n\nfunction toDateWithValueFormat(val: string | Dayjs, valueFormat: string) {\n  if (!val) return null;\n  if (dayjs.isDayjs(val))\n    return val;\n\n  const matchs = valueFormat.matchAll(advancedFormatRegex);\n  let baseDate = dayjs(val, valueFormat);\n  if (matchs === null)\n    return baseDate;\n\n  for (const match of matchs) {\n    const origin = match[0];\n    const index = match.index;\n\n    if (origin === 'Q') {\n      const segmentation = val.slice(index - 1, index);\n      const quarterStr = findTargetStr(val, index, segmentation).match(/\\d+/)[0];\n      baseDate = baseDate.quarter(Number.parseInt(quarterStr));\n    }\n\n    if (origin.toLowerCase() === 'wo') {\n      const segmentation = val.slice(index - 1, index);\n      const weekStr = findTargetStr(val, index, segmentation).match(/\\d+/)[0];\n      baseDate = baseDate.week(Number.parseInt(weekStr));\n    }\n\n    if (origin.toLowerCase() === 'ww')\n      baseDate = baseDate.week(Number.parseInt(val.slice(index, index + origin.length)));\n\n    if (origin.toLowerCase() === 'w')\n      baseDate = baseDate.week(Number.parseInt(val.slice(index, index + origin.length + 1)));\n  }\n\n  return baseDate;\n}\n\nconst generateConfig: GenerateConfig<Dayjs> = {\n  // get\n  getNow: () => dayjs(),\n  getFixedDate: string => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n  getEndDate: date => date.endOf('month'),\n  getWeekDay: (date) => {\n    const clone = date.locale('en');\n    return clone.weekday() + clone.localeData().firstDayOfWeek();\n  },\n  getYear: date => date.year(),\n  getMonth: date => date.month(),\n  getDate: date => date.date(),\n  getHour: date => date.hour(),\n  getMinute: date => date.minute(),\n  getSecond: date => date.second(),\n\n  // set\n  addYear: (date, diff) => date.add(diff, 'year'),\n  addMonth: (date, diff) => date.add(diff, 'month'),\n  addDate: (date, diff) => date.add(diff, 'day'),\n  setYear: (date, year) => date.year(year),\n  setMonth: (date, month) => date.month(month),\n  setDate: (date, num) => date.date(num),\n  setHour: (date, hour) => date.hour(hour),\n  setMinute: (date, minute) => date.minute(minute),\n  setSecond: (date, second) => date.second(second),\n\n  // Compare\n  isAfter: (date1, date2) => date1.isAfter(date2),\n  isValidate: date => date.isValid(),\n\n  locale: {\n    getWeekFirstDay: locale => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n    getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n    getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n    getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n    getShortMonths: locale => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n    format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n    parse: (locale, text, formats) => {\n      const localeStr = parseLocale(locale);\n      for (let i = 0; i < formats.length; i += 1) {\n        const format = formats[i];\n        const formatText = text;\n        if (format.includes('wo') || format.includes('Wo')) {\n          // parse Wo\n          const year = formatText.split('-')[0];\n          const weekStr = formatText.split('-')[1];\n          const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n          for (let j = 0; j <= 52; j += 1) {\n            const nextWeek = firstWeek.add(j, 'week');\n            if (nextWeek.format('Wo') === weekStr)\n              return nextWeek;\n          }\n          parseNoMatchNotice();\n          return null;\n        }\n        const date = dayjs(formatText, format, true).locale(localeStr);\n        if (date.isValid())\n          return date;\n      }\n\n      if (!text)\n        parseNoMatchNotice();\n\n      return null;\n    },\n  },\n\n  toDate: (value, valueFormat) => {\n    if (Array.isArray(value))\n      return value.map((val: any) => toDateWithValueFormat(val, valueFormat)) as Dayjs[];\n    else\n      return toDateWithValueFormat(value, valueFormat) as Dayjs;\n  },\n  toString: (value, valueFormat) => {\n    if (Array.isArray(value))\n      return value.map((val: any) => (dayjs.isDayjs(val) ? val.format(valueFormat) : val));\n    else\n      return dayjs.isDayjs(value) ? value.format(valueFormat) : value;\n  },\n};\n\nexport default generateConfig;\n"],"names":["noteOnce"],"mappings":"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"}