UNPKG

swedish-holidays-ts

Version:

Typescript library for calculating the date of all swedish holidays for any given year.

47 lines (46 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.firstOfWeekdayAfterDate = exports.fixedDate = exports.getHolidayJSON = exports.addYears = exports.addWeeks = exports.addDays = void 0; function addDays(dirtyDate, amount) { const date = new Date(dirtyDate); if (!amount) { return date; } date.setDate(date.getDate() + amount); return date; } exports.addDays = addDays; function addWeeks(date, amount) { const days = amount * 7; return addDays(date, days); } exports.addWeeks = addWeeks; function addYears(dirtyDate, amount) { if (isNaN(amount)) { return new Date(NaN); } const date = new Date(dirtyDate); if (!amount) { return date; } date.setFullYear(date.getFullYear() + amount); return date; } exports.addYears = addYears; const getHolidayJSON = (name, date, isPublicHoliday = false) => ({ name, date, day: date.getDate(), month: date.getMonth() + 1, year: date.getFullYear(), isPublicHoliday, }); exports.getHolidayJSON = getHolidayJSON; const fixedDate = (year, month, day) => { const m = month.toString().length > 1 ? month.toString() : "0" + month.toString(); const d = day.toString().length > 1 ? day.toString() : "0" + day.toString(); return new Date(year + "-" + m + "-" + d + "T00:00:00Z"); }; exports.fixedDate = fixedDate; const firstOfWeekdayAfterDate = (weekday, date) => addDays(date, (date.getDay() > weekday ? 7 : 0) - date.getDay() + weekday); exports.firstOfWeekdayAfterDate = firstOfWeekdayAfterDate;