From e773401a85b6166dbc6272a6051ed86e69cb06ec Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Fri, 28 Aug 2026 20:12:17 +0200 Subject: [PATCH] fix(AL): correct Albanian holiday substitutes --- data/countries/AL.yaml | 21 ++++++++------- test/fixtures/AL-2015.json | 44 ++++++++++++++++++++++--------- test/fixtures/AL-2016.json | 34 +++++++++++++++--------- test/fixtures/AL-2017.json | 22 ++++++++-------- test/fixtures/AL-2018.json | 30 ++++++++++++++------- test/fixtures/AL-2019.json | 32 ++++++++++++++-------- test/fixtures/AL-2020.json | 44 ++++++++++++++++++++++--------- test/fixtures/AL-2021.json | 54 +++++++++++++++++++++++++++++--------- test/fixtures/AL-2022.json | 38 +++++++++++++++++---------- test/fixtures/AL-2023.json | 22 ++++++++-------- test/fixtures/AL-2024.json | 32 ++++++++++++++-------- test/fixtures/AL-2025.json | 42 +++++++++++++++++++++-------- test/fixtures/AL-2026.json | 44 ++++++++++++++++++++++--------- test/fixtures/AL-2027.json | 54 +++++++++++++++++++++++++++++--------- test/fixtures/AL-2028.json | 34 +++++++++++++++--------- test/fixtures/AL-2029.json | 30 ++++++++++++++------- 16 files changed, 394 insertions(+), 183 deletions(-) diff --git a/data/countries/AL.yaml b/data/countries/AL.yaml index 5e9a5f3bc..0828ad99d 100644 --- a/data/countries/AL.yaml +++ b/data/countries/AL.yaml @@ -1,4 +1,5 @@ holidays: + # @source https://www.bankofalbania.org/Shtypi/Kalendari_i_festave_zyrtare_2026/ # @attrib https://en.wikipedia.org/wiki/Public_holidays_in_Albania AL: names: @@ -11,10 +12,10 @@ holidays: zones: - Europe/Tirane days: - 01-01 and if sunday then next tuesday: + 01-01 and if saturday then next monday if sunday then next tuesday: _name: 01-01 substitute: true - 01-02 and if sunday then next monday: + 01-02 and if saturday then next monday if sunday then next tuesday: name: sq: Festa e Vitit të Ri en: New Year Holiday @@ -32,12 +33,12 @@ holidays: 03-08: _name: Mothers Day type: observance - 03-14 and if sunday then next monday: + 03-14 and if saturday,sunday then next monday: name: sq: Dita e Verës en: Summer Day substitute: true - 03-22 and if sunday then next monday: + 03-22 and if saturday,sunday then next monday: name: sq: Dita e Sulltan Nevruzit en: Sultan Nevruz's Day @@ -61,7 +62,7 @@ holidays: name: sq: Pashkët Ortodokse en: Orthodox Easter - 05-01 and if sunday then next monday: + 05-01 and if saturday,sunday then next monday: _name: 05-01 substitute: true 06-01: @@ -69,7 +70,7 @@ holidays: sq: Dita Ndërkombëtare e Fëmijëve en: Children's Day type: observance - 10-19 and if sunday then next monday: + 10-19 and if saturday,sunday then next monday: name: sq: Dita e Nënë Terezës en: Mother Teresa Day @@ -81,13 +82,13 @@ holidays: sq: Dita e Alfabetit en: Alphabet Day type: observance - 11-28 and if sunday then next monday: + 11-28 and if saturday,sunday then next monday: _name: Independence Day substitute: true - 11-29 and if sunday then next monday: + 11-29 and if saturday,sunday then next monday: _name: Liberation Day substitute: true - 12-08 and if sunday then next monday: + 12-08 and if saturday,sunday then next monday: name: sq: Dita Kombëtare e Rinisë en: Youth Day @@ -97,7 +98,7 @@ holidays: 12-24: _name: 12-24 type: bank - 12-25 and if sunday then next monday: + 12-25 and if saturday,sunday then next monday: _name: 12-25 substitute: true 1 Shawwal: diff --git a/test/fixtures/AL-2015.json b/test/fixtures/AL-2015.json index 665c0e1e0..7d9f1d409 100644 --- a/test/fixtures/AL-2015.json +++ b/test/fixtures/AL-2015.json @@ -5,7 +5,7 @@ "end": "2015-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { @@ -14,7 +14,7 @@ "end": "2015-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { @@ -50,16 +50,26 @@ "end": "2015-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2015-03-16 00:00:00", + "start": "2015-03-15T23:00:00.000Z", + "end": "2015-03-16T23:00:00.000Z", + "name": "Dita e Verës (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "03-14 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2015-03-22 00:00:00", "start": "2015-03-21T23:00:00.000Z", "end": "2015-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -69,7 +79,7 @@ "name": "Dita e Sulltan Nevruzit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -123,7 +133,7 @@ "end": "2015-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -159,7 +169,7 @@ "end": "2015-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -177,7 +187,7 @@ "end": "2015-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Sat" }, { @@ -186,7 +196,7 @@ "end": "2015-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -196,7 +206,17 @@ "name": "Dita e Çlirimit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, + { + "date": "2015-11-30 00:00:00", + "start": "2015-11-29T23:00:00.000Z", + "end": "2015-11-30T23:00:00.000Z", + "name": "Dita e Pavarësisë (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -205,7 +225,7 @@ "end": "2015-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -223,7 +243,7 @@ "end": "2015-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Fri" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2016.json b/test/fixtures/AL-2016.json index ae39ecb28..bf65956d6 100644 --- a/test/fixtures/AL-2016.json +++ b/test/fixtures/AL-2016.json @@ -5,7 +5,7 @@ "end": "2016-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { @@ -14,9 +14,19 @@ "end": "2016-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sat" }, + { + "date": "2016-01-04 00:00:00", + "start": "2016-01-03T23:00:00.000Z", + "end": "2016-01-04T23:00:00.000Z", + "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Mon" + }, { "date": "2016-03-02 00:00:00", "start": "2016-03-01T23:00:00.000Z", @@ -50,7 +60,7 @@ "end": "2016-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -59,7 +69,7 @@ "end": "2016-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -95,7 +105,7 @@ "end": "2016-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -114,7 +124,7 @@ "name": "Dita Ndërkombëtare e Punonjësve (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -159,7 +169,7 @@ "end": "2016-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -177,7 +187,7 @@ "end": "2016-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -186,7 +196,7 @@ "end": "2016-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -195,7 +205,7 @@ "end": "2016-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -213,7 +223,7 @@ "end": "2016-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -223,7 +233,7 @@ "name": "Krishtlindja (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2017.json b/test/fixtures/AL-2017.json index 0f46c4f1d..a2627d9b2 100644 --- a/test/fixtures/AL-2017.json +++ b/test/fixtures/AL-2017.json @@ -5,7 +5,7 @@ "end": "2017-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sun" }, { @@ -14,7 +14,7 @@ "end": "2017-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { @@ -24,7 +24,7 @@ "name": "Viti i Ri (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -60,7 +60,7 @@ "end": "2017-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -69,7 +69,7 @@ "end": "2017-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -123,7 +123,7 @@ "end": "2017-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -159,7 +159,7 @@ "end": "2017-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -177,7 +177,7 @@ "end": "2017-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -186,7 +186,7 @@ "end": "2017-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -195,7 +195,7 @@ "end": "2017-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -213,7 +213,7 @@ "end": "2017-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2018.json b/test/fixtures/AL-2018.json index 62c9711dc..b4f04a2cb 100644 --- a/test/fixtures/AL-2018.json +++ b/test/fixtures/AL-2018.json @@ -5,7 +5,7 @@ "end": "2018-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { @@ -14,7 +14,7 @@ "end": "2018-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -50,7 +50,7 @@ "end": "2018-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -59,7 +59,7 @@ "end": "2018-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -113,7 +113,7 @@ "end": "2018-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -149,7 +149,7 @@ "end": "2018-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -167,7 +167,7 @@ "end": "2018-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -176,7 +176,7 @@ "end": "2018-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -185,9 +185,19 @@ "end": "2018-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2018-12-10 00:00:00", + "start": "2018-12-09T23:00:00.000Z", + "end": "2018-12-10T23:00:00.000Z", + "name": "Dita Kombëtare e Rinisë (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "12-08 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2018-12-24 00:00:00", "start": "2018-12-23T23:00:00.000Z", @@ -203,7 +213,7 @@ "end": "2018-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Tue" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2019.json b/test/fixtures/AL-2019.json index 1aa9cf972..a1bd25425 100644 --- a/test/fixtures/AL-2019.json +++ b/test/fixtures/AL-2019.json @@ -5,7 +5,7 @@ "end": "2019-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -14,7 +14,7 @@ "end": "2019-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Wed" }, { @@ -50,7 +50,7 @@ "end": "2019-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -59,7 +59,7 @@ "end": "2019-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -113,7 +113,7 @@ "end": "2019-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -149,9 +149,19 @@ "end": "2019-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2019-10-21 00:00:00", + "start": "2019-10-20T22:00:00.000Z", + "end": "2019-10-21T22:00:00.000Z", + "name": "Dita e Nënë Terezës (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "10-19 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2019-11-22 00:00:00", "start": "2019-11-21T23:00:00.000Z", @@ -167,7 +177,7 @@ "end": "2019-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -176,7 +186,7 @@ "end": "2019-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -185,7 +195,7 @@ "end": "2019-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -195,7 +205,7 @@ "name": "Dita Kombëtare e Rinisë (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -213,7 +223,7 @@ "end": "2019-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Wed" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2020.json b/test/fixtures/AL-2020.json index 6db2e50df..465dd803c 100644 --- a/test/fixtures/AL-2020.json +++ b/test/fixtures/AL-2020.json @@ -5,7 +5,7 @@ "end": "2020-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Wed" }, { @@ -14,7 +14,7 @@ "end": "2020-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { @@ -50,16 +50,26 @@ "end": "2020-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2020-03-16 00:00:00", + "start": "2020-03-15T23:00:00.000Z", + "end": "2020-03-16T23:00:00.000Z", + "name": "Dita e Verës (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "03-14 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2020-03-22 00:00:00", "start": "2020-03-21T23:00:00.000Z", "end": "2020-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -69,7 +79,7 @@ "name": "Dita e Sulltan Nevruzit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -123,7 +133,7 @@ "end": "2020-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -159,7 +169,7 @@ "end": "2020-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -177,7 +187,7 @@ "end": "2020-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Sat" }, { @@ -186,7 +196,7 @@ "end": "2020-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -196,7 +206,17 @@ "name": "Dita e Çlirimit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, + { + "date": "2020-11-30 00:00:00", + "start": "2020-11-29T23:00:00.000Z", + "end": "2020-11-30T23:00:00.000Z", + "name": "Dita e Pavarësisë (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -205,7 +225,7 @@ "end": "2020-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -223,7 +243,7 @@ "end": "2020-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Fri" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2021.json b/test/fixtures/AL-2021.json index c6084e34d..13c320d10 100644 --- a/test/fixtures/AL-2021.json +++ b/test/fixtures/AL-2021.json @@ -5,7 +5,7 @@ "end": "2021-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { @@ -14,9 +14,19 @@ "end": "2021-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sat" }, + { + "date": "2021-01-04 00:00:00", + "start": "2021-01-03T23:00:00.000Z", + "end": "2021-01-04T23:00:00.000Z", + "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Mon" + }, { "date": "2021-03-02 00:00:00", "start": "2021-03-01T23:00:00.000Z", @@ -50,7 +60,7 @@ "end": "2021-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -60,7 +70,7 @@ "name": "Dita e Verës (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -69,7 +79,7 @@ "end": "2021-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -105,7 +115,7 @@ "end": "2021-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Sat" }, { @@ -117,6 +127,16 @@ "rule": "orthodox", "_weekday": "Sun" }, + { + "date": "2021-05-03 00:00:00", + "start": "2021-05-02T22:00:00.000Z", + "end": "2021-05-03T22:00:00.000Z", + "name": "Dita Ndërkombëtare e Punonjësve (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "05-01 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2021-05-03 00:00:00", "start": "2021-05-02T22:00:00.000Z", @@ -159,7 +179,7 @@ "end": "2021-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -177,7 +197,7 @@ "end": "2021-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -186,7 +206,7 @@ "end": "2021-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -196,7 +216,7 @@ "name": "Dita e Pavarësisë (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -205,7 +225,7 @@ "end": "2021-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -223,7 +243,17 @@ "end": "2021-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Sat" + }, + { + "date": "2021-12-27 00:00:00", + "start": "2021-12-26T23:00:00.000Z", + "end": "2021-12-27T23:00:00.000Z", + "name": "Krishtlindja (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "12-25 and if saturday,sunday then next monday", + "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2022.json b/test/fixtures/AL-2022.json index 54c4afe82..62bbe1e4c 100644 --- a/test/fixtures/AL-2022.json +++ b/test/fixtures/AL-2022.json @@ -5,7 +5,7 @@ "end": "2022-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sat" }, { @@ -14,19 +14,29 @@ "end": "2022-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sun" }, { "date": "2022-01-03 00:00:00", "start": "2022-01-02T23:00:00.000Z", "end": "2022-01-03T23:00:00.000Z", - "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "name": "Viti i Ri (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "01-02 and if sunday then next monday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, + { + "date": "2022-01-04 00:00:00", + "start": "2022-01-03T23:00:00.000Z", + "end": "2022-01-04T23:00:00.000Z", + "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Tue" + }, { "date": "2022-03-02 00:00:00", "start": "2022-03-01T23:00:00.000Z", @@ -60,7 +70,7 @@ "end": "2022-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -69,7 +79,7 @@ "end": "2022-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -123,7 +133,7 @@ "end": "2022-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -142,7 +152,7 @@ "name": "Dita Ndërkombëtare e Punonjësve (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -169,7 +179,7 @@ "end": "2022-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -187,7 +197,7 @@ "end": "2022-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -196,7 +206,7 @@ "end": "2022-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -205,7 +215,7 @@ "end": "2022-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -223,7 +233,7 @@ "end": "2022-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -233,7 +243,7 @@ "name": "Krishtlindja (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2023.json b/test/fixtures/AL-2023.json index 73f2e9774..b81b622aa 100644 --- a/test/fixtures/AL-2023.json +++ b/test/fixtures/AL-2023.json @@ -5,7 +5,7 @@ "end": "2023-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sun" }, { @@ -14,7 +14,7 @@ "end": "2023-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { @@ -24,7 +24,7 @@ "name": "Viti i Ri (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -60,7 +60,7 @@ "end": "2023-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -69,7 +69,7 @@ "end": "2023-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -132,7 +132,7 @@ "end": "2023-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -159,7 +159,7 @@ "end": "2023-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -177,7 +177,7 @@ "end": "2023-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -186,7 +186,7 @@ "end": "2023-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -195,7 +195,7 @@ "end": "2023-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -213,7 +213,7 @@ "end": "2023-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2024.json b/test/fixtures/AL-2024.json index 8a2bd0d8b..b070c6ecc 100644 --- a/test/fixtures/AL-2024.json +++ b/test/fixtures/AL-2024.json @@ -5,7 +5,7 @@ "end": "2024-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { @@ -14,7 +14,7 @@ "end": "2024-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -50,7 +50,7 @@ "end": "2024-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -59,7 +59,7 @@ "end": "2024-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -104,7 +104,7 @@ "end": "2024-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -149,9 +149,19 @@ "end": "2024-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2024-10-21 00:00:00", + "start": "2024-10-20T22:00:00.000Z", + "end": "2024-10-21T22:00:00.000Z", + "name": "Dita e Nënë Terezës (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "10-19 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2024-11-22 00:00:00", "start": "2024-11-21T23:00:00.000Z", @@ -167,7 +177,7 @@ "end": "2024-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -176,7 +186,7 @@ "end": "2024-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -185,7 +195,7 @@ "end": "2024-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -195,7 +205,7 @@ "name": "Dita Kombëtare e Rinisë (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -213,7 +223,7 @@ "end": "2024-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Wed" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2025.json b/test/fixtures/AL-2025.json index 54c87a9e5..d04c6d2b2 100644 --- a/test/fixtures/AL-2025.json +++ b/test/fixtures/AL-2025.json @@ -5,7 +5,7 @@ "end": "2025-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Wed" }, { @@ -14,7 +14,7 @@ "end": "2025-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { @@ -50,7 +50,7 @@ "end": "2025-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -59,9 +59,19 @@ "end": "2025-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2025-03-24 00:00:00", + "start": "2025-03-23T23:00:00.000Z", + "end": "2025-03-24T23:00:00.000Z", + "name": "Dita e Sulltan Nevruzit (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "03-22 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2025-03-30 00:00:00 -0600", "start": "2025-03-29T17:00:00.000Z", @@ -122,7 +132,7 @@ "end": "2025-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -149,7 +159,7 @@ "end": "2025-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -159,7 +169,7 @@ "name": "Dita e Nënë Terezës (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -177,7 +187,7 @@ "end": "2025-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -186,16 +196,26 @@ "end": "2025-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2025-12-01 00:00:00", + "start": "2025-11-30T23:00:00.000Z", + "end": "2025-12-01T23:00:00.000Z", + "name": "Dita e Çlirimit (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "11-29 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2025-12-08 00:00:00", "start": "2025-12-07T23:00:00.000Z", "end": "2025-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -213,7 +233,7 @@ "end": "2025-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Thu" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2026.json b/test/fixtures/AL-2026.json index 50abde897..888de207c 100644 --- a/test/fixtures/AL-2026.json +++ b/test/fixtures/AL-2026.json @@ -5,7 +5,7 @@ "end": "2026-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { @@ -14,7 +14,7 @@ "end": "2026-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { @@ -50,9 +50,19 @@ "end": "2026-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2026-03-16 00:00:00", + "start": "2026-03-15T23:00:00.000Z", + "end": "2026-03-16T23:00:00.000Z", + "name": "Dita e Verës (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "03-14 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2026-03-20 00:00:00 -0600", "start": "2026-03-19T17:00:00.000Z", @@ -68,7 +78,7 @@ "end": "2026-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -78,7 +88,7 @@ "name": "Dita e Sulltan Nevruzit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -132,7 +142,7 @@ "end": "2026-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -159,7 +169,7 @@ "end": "2026-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -177,7 +187,7 @@ "end": "2026-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Sat" }, { @@ -186,7 +196,7 @@ "end": "2026-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -196,7 +206,17 @@ "name": "Dita e Çlirimit (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, + { + "date": "2026-11-30 00:00:00", + "start": "2026-11-29T23:00:00.000Z", + "end": "2026-11-30T23:00:00.000Z", + "name": "Dita e Pavarësisë (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -205,7 +225,7 @@ "end": "2026-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -223,7 +243,7 @@ "end": "2026-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Fri" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2027.json b/test/fixtures/AL-2027.json index 01fe9fb9d..9251fe874 100644 --- a/test/fixtures/AL-2027.json +++ b/test/fixtures/AL-2027.json @@ -5,7 +5,7 @@ "end": "2027-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { @@ -14,9 +14,19 @@ "end": "2027-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sat" }, + { + "date": "2027-01-04 00:00:00", + "start": "2027-01-03T23:00:00.000Z", + "end": "2027-01-04T23:00:00.000Z", + "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Mon" + }, { "date": "2027-03-02 00:00:00", "start": "2027-03-01T23:00:00.000Z", @@ -59,7 +69,7 @@ "end": "2027-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -69,7 +79,7 @@ "name": "Dita e Verës (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -78,7 +88,7 @@ "end": "2027-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -114,7 +124,7 @@ "end": "2027-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Sat" }, { @@ -126,6 +136,16 @@ "rule": "orthodox", "_weekday": "Sun" }, + { + "date": "2027-05-03 00:00:00", + "start": "2027-05-02T22:00:00.000Z", + "end": "2027-05-03T22:00:00.000Z", + "name": "Dita Ndërkombëtare e Punonjësve (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "05-01 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2027-05-03 00:00:00", "start": "2027-05-02T22:00:00.000Z", @@ -159,7 +179,7 @@ "end": "2027-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -177,7 +197,7 @@ "end": "2027-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Sun" }, { @@ -186,7 +206,7 @@ "end": "2027-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -196,7 +216,7 @@ "name": "Dita e Pavarësisë (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -205,7 +225,7 @@ "end": "2027-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -223,7 +243,17 @@ "end": "2027-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Sat" + }, + { + "date": "2027-12-27 00:00:00", + "start": "2027-12-26T23:00:00.000Z", + "end": "2027-12-27T23:00:00.000Z", + "name": "Krishtlindja (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "12-25 and if saturday,sunday then next monday", + "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2028.json b/test/fixtures/AL-2028.json index bffae800b..253bf28bc 100644 --- a/test/fixtures/AL-2028.json +++ b/test/fixtures/AL-2028.json @@ -5,7 +5,7 @@ "end": "2028-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sat" }, { @@ -14,19 +14,29 @@ "end": "2028-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Sun" }, { "date": "2028-01-03 00:00:00", "start": "2028-01-02T23:00:00.000Z", "end": "2028-01-03T23:00:00.000Z", - "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "name": "Viti i Ri (ditë zëvendësuese)", "type": "public", "substitute": true, - "rule": "01-02 and if sunday then next monday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, + { + "date": "2028-01-04 00:00:00", + "start": "2028-01-03T23:00:00.000Z", + "end": "2028-01-04T23:00:00.000Z", + "name": "Festa e Vitit të Ri (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Tue" + }, { "date": "2028-02-26 00:00:00 -0600", "start": "2028-02-25T17:00:00.000Z", @@ -69,7 +79,7 @@ "end": "2028-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -78,7 +88,7 @@ "end": "2028-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -132,7 +142,7 @@ "end": "2028-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Mon" }, { @@ -159,7 +169,7 @@ "end": "2028-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -177,7 +187,7 @@ "end": "2028-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -186,7 +196,7 @@ "end": "2028-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -195,7 +205,7 @@ "end": "2028-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -213,7 +223,7 @@ "end": "2028-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Mon" } ] \ No newline at end of file diff --git a/test/fixtures/AL-2029.json b/test/fixtures/AL-2029.json index a4a9d446c..60c45d2a7 100644 --- a/test/fixtures/AL-2029.json +++ b/test/fixtures/AL-2029.json @@ -5,7 +5,7 @@ "end": "2029-01-01T23:00:00.000Z", "name": "Viti i Ri", "type": "public", - "rule": "01-01 and if sunday then next tuesday", + "rule": "01-01 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { @@ -14,7 +14,7 @@ "end": "2029-01-02T23:00:00.000Z", "name": "Festa e Vitit të Ri", "type": "public", - "rule": "01-02 and if sunday then next monday", + "rule": "01-02 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { @@ -59,7 +59,7 @@ "end": "2029-03-14T23:00:00.000Z", "name": "Dita e Verës", "type": "public", - "rule": "03-14 and if sunday then next monday", + "rule": "03-14 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -68,7 +68,7 @@ "end": "2029-03-22T23:00:00.000Z", "name": "Dita e Sulltan Nevruzit", "type": "public", - "rule": "03-22 and if sunday then next monday", + "rule": "03-22 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -131,7 +131,7 @@ "end": "2029-05-01T22:00:00.000Z", "name": "Dita Ndërkombëtare e Punonjësve", "type": "public", - "rule": "05-01 and if sunday then next monday", + "rule": "05-01 and if saturday,sunday then next monday", "_weekday": "Tue" }, { @@ -149,7 +149,7 @@ "end": "2029-10-19T22:00:00.000Z", "name": "Dita e Nënë Terezës", "type": "public", - "rule": "10-19 and if sunday then next monday", + "rule": "10-19 and if saturday,sunday then next monday", "_weekday": "Fri" }, { @@ -167,7 +167,7 @@ "end": "2029-11-28T23:00:00.000Z", "name": "Dita e Pavarësisë", "type": "public", - "rule": "11-28 and if sunday then next monday", + "rule": "11-28 and if saturday,sunday then next monday", "_weekday": "Wed" }, { @@ -176,7 +176,7 @@ "end": "2029-11-29T23:00:00.000Z", "name": "Dita e Çlirimit", "type": "public", - "rule": "11-29 and if sunday then next monday", + "rule": "11-29 and if saturday,sunday then next monday", "_weekday": "Thu" }, { @@ -185,9 +185,19 @@ "end": "2029-12-08T23:00:00.000Z", "name": "Dita Kombëtare e Rinisë", "type": "public", - "rule": "12-08 and if sunday then next monday", + "rule": "12-08 and if saturday,sunday then next monday", "_weekday": "Sat" }, + { + "date": "2029-12-10 00:00:00", + "start": "2029-12-09T23:00:00.000Z", + "end": "2029-12-10T23:00:00.000Z", + "name": "Dita Kombëtare e Rinisë (ditë zëvendësuese)", + "type": "public", + "substitute": true, + "rule": "12-08 and if saturday,sunday then next monday", + "_weekday": "Mon" + }, { "date": "2029-12-24 00:00:00", "start": "2029-12-23T23:00:00.000Z", @@ -203,7 +213,7 @@ "end": "2029-12-25T23:00:00.000Z", "name": "Krishtlindja", "type": "public", - "rule": "12-25 and if sunday then next monday", + "rule": "12-25 and if saturday,sunday then next monday", "_weekday": "Tue" } ] \ No newline at end of file