UNPKG

@qvant/qui-max

Version:

A Vue 3 Design system for Web.

23 lines (22 loc) 997 B
import toDate from "../toDate/index.js"; import toInteger from "../_lib/toInteger/index.js"; import requiredArgs from "../_lib/requiredArgs/index.js"; function endOfWeek(dirtyDate, dirtyOptions) { requiredArgs(1, arguments); var options = dirtyOptions || {}; var locale = options.locale; var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn); var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); } var date = toDate(dirtyDate); var day = date.getDay(); var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); date.setDate(date.getDate() + diff); date.setHours(23, 59, 59, 999); return date; } export { endOfWeek as default }; //# sourceMappingURL=index.js.map