vremel
Version:
JavaScript date utility library for Temporal API
35 lines • 1.01 kB
JavaScript
import { isPlainDate, isPlainYearMonth, isZonedDateTime, } from "../type-utils.js";
import { endOfTimeForZonedDateTime } from "./_endOfTimeForZonedDateTime.js";
/**
* Returns the end of a year for the given datetime
* @param dt datetime object which includes date info
* @returns Temporal object which represents the end of a year
*/
export function endOfYear(dt) {
if (isPlainYearMonth(dt)) {
return dt.with({
month: dt.monthsInYear,
});
}
if (isPlainDate(dt)) {
return dt.with({
month: dt.monthsInYear,
day: Number.MAX_VALUE,
});
}
const withArg = {
month: dt.monthsInYear,
day: Number.MAX_VALUE,
hour: 23,
minute: 59,
second: 59,
millisecond: 999,
microsecond: 999,
nanosecond: 999,
};
if (!isZonedDateTime(dt)) {
return dt.with(withArg);
}
return endOfTimeForZonedDateTime(dt, withArg);
}
//# sourceMappingURL=endOfYear.js.map