@modern-kit/utils
Version:
1 lines • 2.46 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/date/getDateRange/index.ts"],"sourcesContent":["import { getDateEndOf } from '../getDateEndOf';\nimport { getDateStartOf } from '../getDateStartOf';\n\ntype DateRangeOfUnit =\n | 'year'\n | 'month'\n | 'week'\n | 'date'\n | 'utcYear'\n | 'utcMonth'\n | 'utcWeek'\n | 'utcDate';\n\n/**\n * @description 주어진 날짜의 시작점과 끝점을 반환합니다.\n *\n * 로컬 타임존 기준과 UTC 기준 모두 지원하며, 각 단위별로 해당 시작점과 끝점을 반환합니다.\n *\n * - `year`: 로컬 타임존 기준 해당 연도의 1월 1일 00시 00분 00초 ~ 12월 31일 23시 59분 59초\n * - `month`: 로컬 타임존 기준 해당 월의 1일 00시 00분 00초 ~ 마지막 날 23시 59분 59초\n * - `week`: 로컬 타임존 기준 해당 주의 첫날(일요일) 00시 00분 00초 ~ 마지막 날(토요일) 23시 59분 59\n * - `date`: 로컬 타임존 기준 해당 날짜의 00시 00분 00초 ~ 23시 59분 59초\n * - `utcYear`: UTC 기준 해당 연도의 1월 1일 00시 00분 00초 ~ 12월 31일 23시 59분 59초\n * - `utcMonth`: UTC 기준 해당 월의 1일 00시 00분 00초 ~ 마지막 날 23시 59분 59초\n * - `utcWeek`: UTC 기준 해당 주의 첫날(일요일) 00시 00분 00초 ~ 마지막 날(토요일) 23시 59분 59초\n * - `utcDate`: UTC 기준 해당 날짜의 00시 00분 00초 ~ 23시 59분 59초\n *\n * @param {string | Date | number} date - 기준 날짜\n * @param {DateRangeOfUnit} unit - 범위를 구할 단위\n * @returns {Date} 범위가 셋팅된 Date 객체\n *\n * @example\n * // 로컬 타임존(KST) 기준\n * const targetDate = '2025-03-15T14:30:45.123Z'\n * // 2025-03-15 23:30:45 (KST 기준 토요일)\n * // 2025-03-15 14:30:45 (UTC 기준 토요일)\n *\n * @example\n * // UTC 타임존 기준\n * const targetDate = '2025-03-15T14:30:45.123Z'\n * // 2025-03-15 23:30:45 (KST 기준 토요일)\n * // 2025-03-15 14:30:45 (UTC 기준 토요일)\n *\n */\nexport function getDateRange(\n date: string | Date | number,\n unit: DateRangeOfUnit\n): { start: Date; end: Date } {\n return {\n start: getDateStartOf(date, unit),\n end: getDateEndOf(date, unit),\n };\n}\n"],"names":["getDateStartOf","getDateEndOf"],"mappings":";;;;;;;AA4CO,SAAS,YAAA,CACd,MACA,IAAA,EAC4B;AAC5B,EAAA,OAAO;AAAA,IACL,KAAA,EAAOA,iCAAA,CAAe,IAAA,EAAM,IAAI,CAAA;AAAA,IAChC,GAAA,EAAKC,6BAAA,CAAa,IAAA,EAAM,IAAI;AAAA,GAC9B;AACF;;;;"}