{"version":3,"file":"timeUtil.mjs","sources":["../../../../../../../packages/vue-components/vc-picker/src/utils/timeUtil.ts"],"sourcesContent":["import type { GenerateConfig } from '../generate';\nimport type { NullableDateType } from '../interface';\n\nexport function setTime<DateType>(\n  generateConfig: GenerateConfig<DateType>,\n  date: DateType,\n  hour: number,\n  minute: number,\n  second: number,\n): DateType {\n  let nextTime = generateConfig.setHour(date, hour);\n  nextTime = generateConfig.setMinute(nextTime, minute);\n  nextTime = generateConfig.setSecond(nextTime, second);\n  return nextTime;\n}\n\nexport function setDateTime<DateType>(\n  generateConfig: GenerateConfig<DateType>,\n  date: DateType,\n  defaultDate: NullableDateType<DateType>,\n) {\n  if (!defaultDate)\n    return date;\n\n  let newDate = date;\n  newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));\n  newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));\n  newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));\n  return newDate;\n}\n\nexport function getLowerBoundTime(\n  hour: number,\n  minute: number,\n  second: number,\n  hourStep: number,\n  minuteStep: number,\n  secondStep: number,\n): [number, number, number] {\n  const lowerBoundHour = Math.floor(hour / hourStep) * hourStep;\n  if (lowerBoundHour < hour)\n    return [lowerBoundHour, 60 - minuteStep, 60 - secondStep];\n\n  const lowerBoundMinute = Math.floor(minute / minuteStep) * minuteStep;\n  if (lowerBoundMinute < minute)\n    return [lowerBoundHour, lowerBoundMinute, 60 - secondStep];\n\n  const lowerBoundSecond = Math.floor(second / secondStep) * secondStep;\n  return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];\n}\n\nexport function getLastDay<DateType>(generateConfig: GenerateConfig<DateType>, date: DateType) {\n  const year = generateConfig.getYear(date);\n  const month = generateConfig.getMonth(date) + 1;\n  const endDate = generateConfig.getEndDate(generateConfig.getFixedDate(`${year}-${month}-01`));\n  const lastDay = generateConfig.getDate(endDate);\n  const monthShow = month < 10 ? `0${month}` : `${month}`;\n  return `${year}-${monthShow}-${lastDay}`;\n}\n"],"names":[],"mappings":"AAGO,SAAS,OACd,CAAA,cAAA,EACA,IACA,EAAA,IAAA,EACA,QACA,MACU,EAAA;AACV,EAAA,IAAI,QAAW,GAAA,cAAA,CAAe,OAAQ,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAChD,EAAW,QAAA,GAAA,cAAA,CAAe,SAAU,CAAA,QAAA,EAAU,MAAM,CAAA,CAAA;AACpD,EAAW,QAAA,GAAA,cAAA,CAAe,SAAU,CAAA,QAAA,EAAU,MAAM,CAAA,CAAA;AACpD,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAEgB,SAAA,WAAA,CACd,cACA,EAAA,IAAA,EACA,WACA,EAAA;AACA,EAAA,IAAI,CAAC,WAAA;AACH,IAAO,OAAA,IAAA,CAAA;AAET,EAAA,IAAI,OAAU,GAAA,IAAA,CAAA;AACd,EAAA,OAAA,GAAU,eAAe,OAAQ,CAAA,OAAA,EAAS,cAAe,CAAA,OAAA,CAAQ,WAAW,CAAC,CAAA,CAAA;AAC7E,EAAA,OAAA,GAAU,eAAe,SAAU,CAAA,OAAA,EAAS,cAAe,CAAA,SAAA,CAAU,WAAW,CAAC,CAAA,CAAA;AACjF,EAAA,OAAA,GAAU,eAAe,SAAU,CAAA,OAAA,EAAS,cAAe,CAAA,SAAA,CAAU,WAAW,CAAC,CAAA,CAAA;AACjF,EAAO,OAAA,OAAA,CAAA;AACT,CAAA;AAEO,SAAS,kBACd,IACA,EAAA,MAAA,EACA,MACA,EAAA,QAAA,EACA,YACA,UAC0B,EAAA;AAC1B,EAAA,MAAM,cAAiB,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,GAAO,QAAQ,CAAI,GAAA,QAAA,CAAA;AACrD,EAAA,IAAI,cAAiB,GAAA,IAAA;AACnB,IAAA,OAAO,CAAC,cAAA,EAAgB,EAAK,GAAA,UAAA,EAAY,KAAK,UAAU,CAAA,CAAA;AAE1D,EAAA,MAAM,gBAAmB,GAAA,IAAA,CAAK,KAAM,CAAA,MAAA,GAAS,UAAU,CAAI,GAAA,UAAA,CAAA;AAC3D,EAAA,IAAI,gBAAmB,GAAA,MAAA;AACrB,IAAA,OAAO,CAAC,cAAA,EAAgB,gBAAkB,EAAA,EAAA,GAAK,UAAU,CAAA,CAAA;AAE3D,EAAA,MAAM,gBAAmB,GAAA,IAAA,CAAK,KAAM,CAAA,MAAA,GAAS,UAAU,CAAI,GAAA,UAAA,CAAA;AAC3D,EAAO,OAAA,CAAC,cAAgB,EAAA,gBAAA,EAAkB,gBAAgB,CAAA,CAAA;AAC5D,CAAA;AAEgB,SAAA,UAAA,CAAqB,gBAA0C,IAAgB,EAAA;AAC7F,EAAM,MAAA,IAAA,GAAO,cAAe,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACxC,EAAA,MAAM,KAAQ,GAAA,cAAA,CAAe,QAAS,CAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AAC9C,EAAM,MAAA,OAAA,GAAU,cAAe,CAAA,UAAA,CAAW,cAAe,CAAA,YAAA,CAAa,GAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,GAAA,CAAK,CAAC,CAAA,CAAA;AAC5F,EAAM,MAAA,OAAA,GAAU,cAAe,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAC9C,EAAA,MAAM,YAAY,KAAQ,GAAA,EAAA,GAAK,IAAI,KAAK,CAAA,CAAA,GAAK,GAAG,KAAK,CAAA,CAAA,CAAA;AACrD,EAAA,OAAO,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,SAAS,IAAI,OAAO,CAAA,CAAA,CAAA;AACxC;;;;"}