holidays-cs
Advanced tools
Comparing version 0.1.9 to 0.1.10
@@ -11,3 +11,3 @@ import { DateTime, Interval } from 'luxon'; | ||
*/ | ||
export declare function isEasterMonday(date: DateTime | Date): boolean; | ||
export declare function isEasterMonday(date: DateTime): boolean; | ||
/** | ||
@@ -14,0 +14,0 @@ * Returns the date of Easter for a given year. |
import { DateTime, Interval } from 'luxon'; | ||
import * as EasterDate from 'easter-date'; | ||
/** | ||
@@ -8,3 +7,3 @@ * Returns the date of Easter Monday for a given year. | ||
export function getEasterMonday(year) { | ||
return DateTime.fromJSDate(EasterDate.getEasterMonday(year)); | ||
return getEaster(year).plus({ days: 1 }); | ||
} | ||
@@ -16,3 +15,3 @@ /** | ||
export function isEasterMonday(date) { | ||
return EasterDate.isEasterMonday(date instanceof Date ? date : date.toJSDate()); | ||
return date.equals(getEasterMonday(date.year)); | ||
} | ||
@@ -25,3 +24,3 @@ /** | ||
export function getEaster(year) { | ||
return DateTime.fromJSDate(EasterDate.getEaster(year)); | ||
return getEasterSunday(year); | ||
} | ||
@@ -33,3 +32,17 @@ /** | ||
export function getEasterSunday(year) { | ||
return DateTime.fromJSDate(EasterDate.getEasterSunday(year)); | ||
const a = year % 19; | ||
const b = Math.floor(year / 100); | ||
const c = year % 100; | ||
const d = Math.floor(b / 4); | ||
const e = b % 4; // eslint-disable-line unicorn/prevent-abbreviations | ||
const f = Math.floor((b + 8) / 25); | ||
const g = Math.floor((b - f + 1) / 3); | ||
const h = ((19 * a) + b - d - g + 15) % 30; | ||
const i = Math.floor(c / 4); | ||
const k = c % 4; | ||
const l = (32 + (2 * e) + (2 * i) - h - k) % 7; | ||
const m = Math.floor((a + (11 * h) + (22 * l)) / 451); | ||
const month = Math.floor((h + l - (7 * m) + 114) / 31); | ||
const day = ((h + l - (7 * m) + 114) % 31) + 1; | ||
return DateTime.fromObject({ year, month, day }); | ||
} | ||
@@ -41,3 +54,4 @@ /** | ||
export function isEasterSunday(date) { | ||
return EasterDate.isEasterSunday(date instanceof Date ? date : date.toJSDate()); | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getEasterSunday(date.year)); | ||
} | ||
@@ -49,3 +63,3 @@ /** | ||
export function getHolySaturday(year) { | ||
return DateTime.fromJSDate(EasterDate.getHolySaturday(year)); | ||
return getEaster(year).minus({ days: 1 }); | ||
} | ||
@@ -57,3 +71,4 @@ /** | ||
export function isHolySaturday(date) { | ||
return EasterDate.isHolySaturday(date instanceof Date ? date : date.toJSDate()); | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getHolySaturday(date.year)); | ||
} | ||
@@ -65,3 +80,3 @@ /** | ||
export function getGoodFriday(year) { | ||
return DateTime.fromJSDate(EasterDate.getGoodFriday(year)); | ||
return getEaster(year).minus({ days: 2 }); | ||
} | ||
@@ -73,3 +88,4 @@ /** | ||
export function isGoodFriday(date) { | ||
return EasterDate.isGoodFriday(date instanceof Date ? date : date.toJSDate()); | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getGoodFriday(date.year)); | ||
} | ||
@@ -76,0 +92,0 @@ /** |
@@ -8,3 +8,3 @@ import { DateTime } from 'luxon'; | ||
export function getFathersDay(year) { | ||
return DateTime.fromObject({ year, month: 6, day: 1 }, { locale: 'en' }) | ||
return DateTime.fromObject({ year, month: 6, day: 1 }) | ||
.plus({ weeks: 2 }) | ||
@@ -21,3 +21,3 @@ .startOf('week') | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return getFathersDay(date.year).hasSame(date, 'day'); | ||
return date.equals(getFathersDay(date.year)); | ||
} |
import { DateTime } from 'luxon'; | ||
import { type SignificantDay } from './significant.js'; | ||
export type EasterMetadata = { | ||
@@ -13,3 +12,3 @@ name: string | undefined; | ||
isSignificantDay: boolean; | ||
significantDay?: SignificantDay; | ||
significantDay?: string | undefined; | ||
isPublicHoliday: boolean; | ||
@@ -16,0 +15,0 @@ publicHoliday?: string | undefined; |
@@ -8,3 +8,3 @@ import { DateTime } from 'luxon'; | ||
export function getMothersDay(year) { | ||
return DateTime.fromObject({ year, month: 5, day: 1 }, { locale: 'en' }) | ||
return DateTime.fromObject({ year, month: 5, day: 1 }) | ||
.plus({ weeks: 1 }) | ||
@@ -21,3 +21,3 @@ .startOf('week') | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return getMothersDay(date.year).hasSame(date, 'day'); | ||
return date.equals(getMothersDay(date.year)); | ||
} |
@@ -1,2 +0,2 @@ | ||
import { type DateTime } from 'luxon'; | ||
import { DateTime } from 'luxon'; | ||
/** | ||
@@ -3,0 +3,0 @@ * Get names as a string for the given date |
@@ -1,2 +0,4 @@ | ||
import * as NameDays from 'namedays-cs'; | ||
import { DateTime } from 'luxon'; | ||
import data from './names.json' assert { type: 'json' }; | ||
const names = data; | ||
/** | ||
@@ -8,3 +10,4 @@ * Get names as a string for the given date | ||
export function getNameDay(date, joinWith = ' a ') { | ||
return NameDays.getNameDay(date instanceof Date ? date : date.toJSDate(), joinWith); | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return getNameDayArray(date)?.join(joinWith) ?? ''; | ||
} | ||
@@ -16,3 +19,5 @@ /** | ||
export function getNameDayArray(date) { | ||
return NameDays.getNameDayArray(date instanceof Date ? date : date.toJSDate()); | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
const day = date.toFormat('ddMM'); | ||
return day in names ? names[day] : []; | ||
} |
import { DateTime } from 'luxon'; | ||
/** | ||
* Represents a significant day. | ||
*/ | ||
export type SignificantDay = { | ||
name: string; | ||
description: string; | ||
year?: number; | ||
}; | ||
/** | ||
* Returns the significant day for the given date. | ||
* @param date | ||
*/ | ||
export declare function getSignificantDay(date: DateTime | Date): SignificantDay | undefined; | ||
export declare function getSignificantDay(date: DateTime | Date): string | undefined; | ||
/** | ||
@@ -16,0 +8,0 @@ * Returns true if the given date is a significant day. |
{ | ||
"0601": { | ||
"name": "Tři králové", | ||
"description": "Tři králové přišli k Ježíši" | ||
}, | ||
"1601": { | ||
"name": "Den památky Jana Palacha", | ||
"description": "Výročí upálení Jana Palacha", | ||
"year": 1969 | ||
}, | ||
"2701": { | ||
"name": "Den památky obětí holocaustu a předcházení zločinům proti lidskosti", | ||
"description": "Osvobození nacistického koncentračního a vyhlazovacího tábora Auschwitz-Birkenau", | ||
"year": 1945 | ||
}, | ||
"0803": { | ||
"name": "Mezinárodní den žen", | ||
"description": "Mezinárodní den žen slavený od roku 1911", | ||
"year": 1911 | ||
}, | ||
"0903": { | ||
"name": "Den památky obětí vyhlazení terezínského rodinného tábora v Osvětimi-Březince", | ||
"description": "", | ||
"year": 1944 | ||
}, | ||
"1203": { | ||
"name": "Den přístupu České republiky k Severoatlantické smlouvě", | ||
"description": "Členství v NATO od 12. března 1999", | ||
"year": 1999 | ||
}, | ||
"2803": { | ||
"name": "Den narození Jana Ámose Komenského", | ||
"description": "Narození Jana Ámose Komenského 28. března 1592 v Uherském Brodě", | ||
"year": 1592 | ||
}, | ||
"0704": { | ||
"name": "Den vzdělanosti", | ||
"description": "Založení Univerzity Karlovy", | ||
"year": 1348 | ||
}, | ||
"0505": { | ||
"name": "Květnové povstání českého lidu", | ||
"description": "Povstání proti nacistické okupaci", | ||
"year": 1945 | ||
}, | ||
"1505": { | ||
"name": "Den rodin", | ||
"description": "Mezinárodní den rodiny slavený od roku 1994", | ||
"year": 1994 | ||
}, | ||
"2705": { | ||
"name": "Den národního vzdoru", | ||
"description": "Ozbrojený útok čs. parašutistů na zastupujícího říšského protektora Reinharda Heydricha", | ||
"year": 1942 | ||
}, | ||
"0106": { | ||
"name": "Den dětí", | ||
"description": "Mezinárodní den dětí slavený od roku 1950", | ||
"year": 1950 | ||
}, | ||
"1006": { | ||
"name": "Den památky obětí vyhlazení obce Lidice", | ||
"description": "Dne 10. června 1942 byla Lidice vyhlazena nacisty", | ||
"year": 1942 | ||
}, | ||
"1806": { | ||
"name": "Den hrdinů druhého odboje", | ||
"description": "Boj v kostele svatých Cyrila a Metoděje", | ||
"year": 1942 | ||
}, | ||
"2506": { | ||
"name": "Den odchodu okupačních vojsk", | ||
"description": "Odchod posledního sovětského vojáka z ČSFR", | ||
"year": 1991 | ||
}, | ||
"2706": { | ||
"name": "Den památky obětí komunistického režimu", | ||
"description": "Poprava Milady Horákové", | ||
"year": 1950 | ||
}, | ||
"2108": { | ||
"name": "Den památky obětí invaze a následné okupace vojsky Varšavské smlouvy", | ||
"description": "Okupace Československa vojsky Varšavské smlouvy", | ||
"year": 1968 | ||
}, | ||
"0810": { | ||
"name": "Památný den sokolstva", | ||
"description": "Rozpuštění Československé obce sokolské výnosem zastupujícího říšského protektora Reinharda Heydricha", | ||
"year": 1941 | ||
}, | ||
"0211": { | ||
"name": "Památka zesnulých", | ||
"description": "Dušičky" | ||
}, | ||
"1111": { | ||
"name": "Den válečných veteránů", | ||
"description": "Konec první světové války", | ||
"year": 1918 | ||
} | ||
"0601": "Tři králové", | ||
"1601": "Den památky Jana Palacha (1969 – výročí Palachova upálení)", | ||
"2701": "Den památky obětí holocaustu a předcházení zločinům proti lidskosti (1945 – osvobození nacistického koncentračního a vyhlazovacího tábora Auschwitz-Birkenau)", | ||
"0803": "Mezinárodní den žen (1911)", | ||
"0903": "Den památky obětí vyhlazení terezínského rodinného tábora v Osvětimi-Březince (1944)", | ||
"1203": "Den přístupu České republiky k Severoatlantické smlouvě (NATO) (1999)", | ||
"2803": "Den narození Jana Ámose Komenského (1592)", | ||
"0704": "Den vzdělanosti (1348 – založení Univerzity Karlovy)", | ||
"0505": "Květnové povstání českého lidu (1945)", | ||
"1505": "Den rodin (Mezinárodní den rodiny slavený od roku 1994)", | ||
"2705": "Den národního vzdoru (1942 – ozbrojený útok čs. parašutistů na zastupujícího říšského protektora Reinharda Heydricha)", | ||
"0106": "Den dětí (Mezinárodní den dětí slavený od roku 1950)", | ||
"1006": "Den památky obětí vyhlazení obce Lidice (1942)", | ||
"1806": "Den hrdinů druhého odboje (1942 – boj v kostele svatých Cyrila a Metoděje)", | ||
"2506": "Den odchodu okupačních vojsk (1991 – odchod posledního sovětského vojáka z ČSFR)", | ||
"2706": "Den památky obětí komunistického režimu (1950 – poprava Milady Horákové)", | ||
"2108": "Den památky obětí invaze a následné okupace vojsky Varšavské smlouvy (1968)", | ||
"0810": "Památný den sokolstva (1941 – rozpuštění Československé obce sokolské výnosem zastupujícího říšského protektora Reinharda Heydricha)", | ||
"0211": "Památka zesnulých (Dušičky)", | ||
"1111": "Den válečných veteránů (1918 – konec první světové války)" | ||
} |
{ | ||
"name": "holidays-cs", | ||
"version": "0.1.9", | ||
"version": "0.1.10", | ||
"author": "Roman Ožana <roman@ozana.cz> (https://ozana.cz)", | ||
@@ -39,3 +39,3 @@ "repository": "OzzyCzech/holidays-cs", | ||
"luxon": "^3.4.4", | ||
"namedays-cs": "^0.0.5" | ||
"namedays-cs": "^0.0.6" | ||
}, | ||
@@ -46,3 +46,3 @@ "devDependencies": { | ||
"ava": "^6.1.2", | ||
"np": "^10.0.3", | ||
"np": "^10.0.5", | ||
"tsx": "^4.7.2", | ||
@@ -49,0 +49,0 @@ "typescript": "^5.4.5", |
35898
23
924
+ Addednamedays-cs@0.0.6(transitive)
- Removednamedays-cs@0.0.5(transitive)
Updatednamedays-cs@^0.0.6