Files
SnowLuma/.pnpm-store/v11/files/85/cb2bbf368562a870acb86ed9acaccdd6ccc69ec2393c2906ac9f3592e00e1bb06ed9b5b7500ca116e3c3c387325c706879f19357afa72f938cea82b06674de
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

36 lines
1.1 KiB
Plaintext

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
};