"use strict"; const constants = require("./constants-DR3SPJ7u.js"); const normalizeUnit = require("./normalizeUnit-Cn0hUyBC.js"); const startOfTime = require("./startOfTime-CiMtfVAs.js"); const units = require("./units.js"); const { DATE, DAY, HOUR, MINUTE, MONTH, SECOND, YEAR } = units; function endOf(date, unit) { unit = normalizeUnit.normalizeUnit(unit); let time = 0; switch (unit) { case YEAR: time = startOfTime.startOfDate(date, date.getFullYear() + 1, 0, 1) - 1; break; case MONTH: time = startOfTime.startOfDate(date, void 0, date.getMonth() + 1, 1) - 1; break; case DATE: case DAY: time = startOfTime.startOfDate(date) + constants.MS_IN_DAY - 1; break; case HOUR: time = startOfTime.startOfTime(date, constants.MS_IN_HOUR) + constants.MS_IN_HOUR - 1; break; case MINUTE: time = startOfTime.startOfTime(date, constants.MS_IN_MINUTE) + constants.MS_IN_MINUTE - 1; break; case SECOND: time = startOfTime.startOfTime(date, constants.MS_IN_SECOND) + constants.MS_IN_SECOND - 1; break; } time && date.setTime(time); return date; } module.exports = endOf;