UNPKG

swedish-holidays-ts

Version:

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

117 lines (91 loc) 3.35 kB
# swedish-holidays-ts Typescript port of [swedish-holidays](https://github.com/Pythe1337N/swedish-holidays) a library for calculating the date of all swedish holidays for any given year. ## How to install: ```shell $ npm install swedish-holidays-ts ``` ## How to use: ```ts import { getHolidays, getUpcomingHolidays, isHoliday, isPublicHoliday, } from "swedish-holidays"; // Get an array of all holidays for the current const holidays = getHolidays(); // Get an array of all holidays for a specific year const holidays2019 = getHolidays(2019); // Get an array of all upcoming holidays const upcoming = getUpcomingHolidays(); // Check if today is a holiday const isItAHolidayToday = isHoliday(); // Or if you want to check a specific date const isThisAHoliday = isHoliday(new Date("2019-12-24")); // Check if today is a public holiday in Sweden (see https://www.riksdagen.se/sv/dokument-lagar/dokument/svensk-forfattningssamling/lag-1989253-om-allmanna-helgdagar_sfs-1989-253) const isItAPublicHolidayToday = isPublicHoliday(); // Or if you want to check a specific date const isThisAPublicHoliday = isPublicHoliday(new Date("2021-11-1")); ``` The result will always be an `Array` filled with JSON formatted holiday information including name and date. ```js [ { name: 'Julafton', date: '2019-12-24T00:00:00.000Z', day: 24, month: 12, year: 2019, isPublicHoliday: false, }, { name: 'Juldagen', date: '2019-12-25T00:00:00.000Z', day: 25, month: 12, year: 2019, isPublicHoliday: true, }, ... ] ``` When using `isHoliday` the result is `false` if the provided date is not a holiday, otherwise it is the holiday JSON object. When using `isPublicHoliday` the result is `false` if the provided date is not a public holiday. ## Localization If you want the holiday names to be returned using a different language than the default (Swedish), use the `language` JSON object and modify it before passing it to the `getHolidays` function. ```js const { language } = require("swedish-holidays"); const translation = { ...language }; // This value is 'Julafton' by default. translation.christmasEve = "Christmas Eve"; const holidays2019 = getHolidays(2019, translation); // or if you want the current year // supply a year that is 'falsy' e.g. undefined / null / 0 / false const holidays = getHolidays(0, translation); ``` ## Limitations This library can only return valid holidays for years between 1582 and 8702. If an invalid year is requested, some holidays will be missing. ## Supported Holidays - New Year's Day / Nyårsdagen - Twelfth Night / Trettondagsafton - Epiphany / Trettondedag jul - Maundy Thursday / Skärtorsdagen - Good Friday / Långfredagen - Holy Saturday / Påskafton - Easter Sunday / Påskdagen - Easter Monday / Annandag påsk - Walpurgis Night / Valborgsmässoafton - May First / Första maj - Ascension Day / Kristi himmelsfärdsdag - Swedish National Day / Sveriges nationaldag - Pentecost Eve / Pingstafton - Whit Sunday / Pingstdagen - Midsummer Eve / Midsommarafton - Midsummer Day / Midsommardagen - All Saints Eve / Allhelgonaafton - All Saints Day / Alla helgons dag - Christmas Eve / Julafton - Christmas Day / Juldagen - Boxing Day / Annandag jul - New Years Eve / Nyårsafton