holidays-cs
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -11,3 +11,3 @@ import { DateTime, Interval } from 'luxon'; | ||
*/ | ||
export declare function isEasterMonday(date: DateTime): boolean; | ||
export declare function isEasterMonday(date: DateTime | Date): 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'; | ||
/** | ||
@@ -7,3 +8,3 @@ * Returns the date of Easter Monday for a given year. | ||
export function getEasterMonday(year) { | ||
return getEaster(year).plus({ days: 1 }); | ||
return DateTime.fromJSDate(EasterDate.getEasterMonday(year)); | ||
} | ||
@@ -15,3 +16,3 @@ /** | ||
export function isEasterMonday(date) { | ||
return date.equals(getEasterMonday(date.year)); | ||
return EasterDate.isEasterMonday(date instanceof Date ? date : date.toJSDate()); | ||
} | ||
@@ -24,3 +25,3 @@ /** | ||
export function getEaster(year) { | ||
return getEasterSunday(year); | ||
return DateTime.fromJSDate(EasterDate.getEaster(year)); | ||
} | ||
@@ -32,17 +33,3 @@ /** | ||
export function 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 }); | ||
return DateTime.fromJSDate(EasterDate.getEasterSunday(year)); | ||
} | ||
@@ -54,4 +41,3 @@ /** | ||
export function isEasterSunday(date) { | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getEasterSunday(date.year)); | ||
return EasterDate.isEasterSunday(date instanceof Date ? date : date.toJSDate()); | ||
} | ||
@@ -63,3 +49,3 @@ /** | ||
export function getHolySaturday(year) { | ||
return getEaster(year).minus({ days: 1 }); | ||
return DateTime.fromJSDate(EasterDate.getHolySaturday(year)); | ||
} | ||
@@ -71,4 +57,3 @@ /** | ||
export function isHolySaturday(date) { | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getHolySaturday(date.year)); | ||
return EasterDate.isHolySaturday(date instanceof Date ? date : date.toJSDate()); | ||
} | ||
@@ -80,3 +65,3 @@ /** | ||
export function getGoodFriday(year) { | ||
return getEaster(year).minus({ days: 2 }); | ||
return DateTime.fromJSDate(EasterDate.getGoodFriday(year)); | ||
} | ||
@@ -88,4 +73,3 @@ /** | ||
export function isGoodFriday(date) { | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getGoodFriday(date.year)); | ||
return EasterDate.isGoodFriday(date instanceof Date ? date : date.toJSDate()); | ||
} | ||
@@ -92,0 +76,0 @@ /** |
@@ -8,3 +8,3 @@ import { DateTime } from 'luxon'; | ||
export function getFathersDay(year) { | ||
return DateTime.fromObject({ year, month: 6, day: 1 }) | ||
return DateTime.fromObject({ year, month: 6, day: 1 }, { locale: 'en' }) | ||
.plus({ weeks: 2 }) | ||
@@ -21,3 +21,3 @@ .startOf('week') | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getFathersDay(date.year)); | ||
return getFathersDay(date.year).hasSame(date, 'day'); | ||
} |
import { DateTime } from 'luxon'; | ||
import { type SignificantDay } from './significant.js'; | ||
export type EasterMetadata = { | ||
@@ -10,5 +11,4 @@ name: string | undefined; | ||
export type DayMetadata = { | ||
names: string[] | undefined; | ||
isSignificantDay: boolean; | ||
significantDay?: string | undefined; | ||
significantDay?: SignificantDay; | ||
isPublicHoliday: boolean; | ||
@@ -15,0 +15,0 @@ publicHoliday?: string | undefined; |
import { DateTime } from 'luxon'; | ||
import { getNameDayArray } from './names.js'; | ||
import { getPublicHoliday, isPublicHoliday } from './holidays.js'; | ||
@@ -14,3 +13,2 @@ import { getSignificantDay, isSignificantDay } from './significant.js'; | ||
const meta = { | ||
names: getNameDayArray(date), | ||
// Flags | ||
@@ -17,0 +15,0 @@ isSignificantDay: isSignificantDay(date), |
@@ -5,5 +5,4 @@ export * from './easter.js'; | ||
export * from './mothers-day.js'; | ||
export * from './names.js'; | ||
export * from './significant.js'; | ||
export * from './shops.js'; | ||
export * from './get-meta.js'; |
@@ -5,5 +5,4 @@ export * from './easter.js'; | ||
export * from './mothers-day.js'; | ||
export * from './names.js'; | ||
export * from './significant.js'; | ||
export * from './shops.js'; | ||
export * from './get-meta.js'; |
@@ -8,3 +8,3 @@ import { DateTime } from 'luxon'; | ||
export function getMothersDay(year) { | ||
return DateTime.fromObject({ year, month: 5, day: 1 }) | ||
return DateTime.fromObject({ year, month: 5, day: 1 }, { locale: 'en' }) | ||
.plus({ weeks: 1 }) | ||
@@ -21,3 +21,3 @@ .startOf('week') | ||
date = date instanceof Date ? DateTime.fromJSDate(date) : date; | ||
return date.equals(getMothersDay(date.year)); | ||
return getMothersDay(date.year).hasSame(date, '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): string | undefined; | ||
export declare function getSignificantDay(date: DateTime | Date): SignificantDay | undefined; | ||
/** | ||
@@ -8,0 +16,0 @@ * Returns true if the given date is a significant day. |
import { DateTime } from 'luxon'; | ||
import data from './significant.json' assert { type: 'json' }; | ||
/** | ||
* Zákon č. 245/2000 Sb., o státních svátcích a národních svátcích České republiky | ||
*/ | ||
const significant = data; | ||
@@ -4,0 +7,0 @@ /** |
{ | ||
"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)" | ||
"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": "Vyhlazení terezínského rodinného tábora v Osvětimi-Březince", | ||
"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 | ||
}, | ||
"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 | ||
}, | ||
"1111": { | ||
"name": "Den válečných veteránů", | ||
"description": "Konec první světové války", | ||
"year": 1918 | ||
} | ||
} |
{ | ||
"name": "holidays-cs", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"author": "Roman Ožana <roman@ozana.cz> (https://ozana.cz)", | ||
@@ -22,7 +22,7 @@ "repository": "OzzyCzech/holidays-cs", | ||
"scripts": { | ||
"build": "tsc", | ||
"ava": "NODE_OPTIONS='--import=tsx/esm' ava", | ||
"xo": "xo", | ||
"build": "rm -rf dist && tsc", | ||
"release": "np --no-release-draft", | ||
"test": "xo && tsc --noEmit && NODE_OPTIONS='--import=tsx/esm' ava" | ||
"prepare": "npm run build", | ||
"test": "xo && tsc --noEmit && NODE_OPTIONS='--import=tsx/esm' ava", | ||
"ava": "NODE_OPTIONS='--import=tsx/esm' ava" | ||
}, | ||
@@ -29,0 +29,0 @@ "engines": { |
@@ -181,7 +181,3 @@ # Holidays (cs) | ||
- [Public holidays and significant days](https://cs.wikipedia.org/wiki/%C4%8Cesk%C3%BD_st%C3%A1tn%C3%AD_sv%C3%A1tek) | ||
- [date-holidays](https://github.com/commenthol/date-holidays) library for inspiration | ||
- [Online calendar](https://calendar.center/) for verifying the data | ||
- [Easter dates calculation](https://github.com/paulzag/ZagZ-iCalendars) for the Easter dates | ||
- [Svatý týden](https://cs.wikipedia.org/wiki/Svat%C3%BD_t%C3%BDden) for names of the Easter days | ||
- [Zákon č. 245/2000 Sb., o státních svátcích a národních svátcích České republiky](https://www.mpsv.cz/web/cz/zakon-c.-245-2000-sb.-ze-dne-29.-cervna-2000-) | ||
@@ -188,0 +184,0 @@ ## License |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
26228
20
579
185