UNPKG

date-manip

Version:

A lightweight JavaScript date utility library that provides modularity, high performance, and additional features. It supports various date operations, including date addition and subtraction, formatting, comparison, etc.

36 lines (35 loc) 1.09 kB
import { M as MS_IN_DAY, c as MS_IN_SECOND, b as MS_IN_MINUTE, a as MS_IN_HOUR } from "./constants-BuFquuHl.mjs"; import { n as normalizeUnit } from "./normalizeUnit-bp5SODxw.mjs"; import { s as startOfDate, a as startOfTime } from "./startOfTime-B-McK1mQ.mjs"; import units from "./units.mjs"; const { DATE, DAY, HOUR, MINUTE, MONTH, SECOND, YEAR } = units; function endOf(date, unit) { unit = normalizeUnit(unit); let time = 0; switch (unit) { case YEAR: time = startOfDate(date, date.getFullYear() + 1, 0, 1) - 1; break; case MONTH: time = startOfDate(date, void 0, date.getMonth() + 1, 1) - 1; break; case DATE: case DAY: time = startOfDate(date) + MS_IN_DAY - 1; break; case HOUR: time = startOfTime(date, MS_IN_HOUR) + MS_IN_HOUR - 1; break; case MINUTE: time = startOfTime(date, MS_IN_MINUTE) + MS_IN_MINUTE - 1; break; case SECOND: time = startOfTime(date, MS_IN_SECOND) + MS_IN_SECOND - 1; break; } time && date.setTime(time); return date; } export { endOf as default };