UNPKG

@qvant/qui-max

Version:

A Vue 3 Design system for Web.

27 lines (26 loc) 850 B
import toInteger from "../_lib/toInteger/index.js"; import toDate from "../toDate/index.js"; import requiredArgs from "../_lib/requiredArgs/index.js"; function addMonths(dirtyDate, dirtyAmount) { requiredArgs(2, arguments); var date = toDate(dirtyDate); var amount = toInteger(dirtyAmount); if (isNaN(amount)) { return new Date(NaN); } if (!amount) { return date; } var dayOfMonth = date.getDate(); var endOfDesiredMonth = new Date(date.getTime()); endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0); var daysInMonth = endOfDesiredMonth.getDate(); if (dayOfMonth >= daysInMonth) { return endOfDesiredMonth; } else { date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth); return date; } } export { addMonths as default }; //# sourceMappingURL=index.js.map