@intech-software/chronera 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/core/local-date.d.ts +1 -0
  2. package/dist/core/local-date.js +1 -0
  3. package/dist/core/local-date.js.map +1 -1
  4. package/dist/format/format-pattern.js +97 -2
  5. package/dist/format/format-pattern.js.map +1 -1
  6. package/dist/format/pattern-scanner.js +9 -0
  7. package/dist/format/pattern-scanner.js.map +1 -1
  8. package/dist/holidays/countries/ae.d.ts +6 -0
  9. package/dist/holidays/countries/ae.js +70 -0
  10. package/dist/holidays/countries/ae.js.map +1 -0
  11. package/dist/holidays/countries/au.d.ts +6 -0
  12. package/dist/holidays/countries/au.js +79 -0
  13. package/dist/holidays/countries/au.js.map +1 -0
  14. package/dist/holidays/countries/cn.d.ts +6 -0
  15. package/dist/holidays/countries/cn.js +57 -0
  16. package/dist/holidays/countries/cn.js.map +1 -0
  17. package/dist/holidays/countries/de.d.ts +6 -0
  18. package/dist/holidays/countries/de.js +81 -0
  19. package/dist/holidays/countries/de.js.map +1 -0
  20. package/dist/holidays/countries/fr.d.ts +6 -0
  21. package/dist/holidays/countries/fr.js +97 -0
  22. package/dist/holidays/countries/fr.js.map +1 -0
  23. package/dist/holidays/countries/gb.d.ts +6 -0
  24. package/dist/holidays/countries/gb.js +80 -0
  25. package/dist/holidays/countries/gb.js.map +1 -0
  26. package/dist/holidays/countries/hk.d.ts +6 -0
  27. package/dist/holidays/countries/hk.js +87 -0
  28. package/dist/holidays/countries/hk.js.map +1 -0
  29. package/dist/holidays/countries/in.d.ts +6 -0
  30. package/dist/holidays/countries/in.js +52 -0
  31. package/dist/holidays/countries/in.js.map +1 -0
  32. package/dist/holidays/countries/index.d.ts +18 -0
  33. package/dist/holidays/countries/index.js +34 -0
  34. package/dist/holidays/countries/index.js.map +1 -0
  35. package/dist/holidays/countries/ir.d.ts +7 -0
  36. package/dist/holidays/countries/ir.js +93 -0
  37. package/dist/holidays/countries/ir.js.map +1 -0
  38. package/dist/holidays/countries/jp.d.ts +6 -0
  39. package/dist/holidays/countries/jp.js +140 -0
  40. package/dist/holidays/countries/jp.js.map +1 -0
  41. package/dist/holidays/countries/sa.d.ts +7 -0
  42. package/dist/holidays/countries/sa.js +56 -0
  43. package/dist/holidays/countries/sa.js.map +1 -0
  44. package/dist/holidays/countries/sg.d.ts +6 -0
  45. package/dist/holidays/countries/sg.js +71 -0
  46. package/dist/holidays/countries/sg.js.map +1 -0
  47. package/dist/holidays/countries/th.d.ts +6 -0
  48. package/dist/holidays/countries/th.js +151 -0
  49. package/dist/holidays/countries/th.js.map +1 -0
  50. package/dist/holidays/countries/tw.d.ts +6 -0
  51. package/dist/holidays/countries/tw.js +57 -0
  52. package/dist/holidays/countries/tw.js.map +1 -0
  53. package/dist/holidays/countries/us.d.ts +6 -0
  54. package/dist/holidays/countries/us.js +112 -0
  55. package/dist/holidays/countries/us.js.map +1 -0
  56. package/dist/holidays/easter.d.ts +23 -0
  57. package/dist/holidays/easter.js +49 -0
  58. package/dist/holidays/easter.js.map +1 -0
  59. package/dist/holidays/index.d.ts +5 -0
  60. package/dist/holidays/index.js +6 -0
  61. package/dist/holidays/index.js.map +1 -0
  62. package/dist/holidays/registry.d.ts +14 -0
  63. package/dist/holidays/registry.js +79 -0
  64. package/dist/holidays/registry.js.map +1 -0
  65. package/dist/holidays/rules/easter-rule.d.ts +5 -0
  66. package/dist/holidays/rules/easter-rule.js +26 -0
  67. package/dist/holidays/rules/easter-rule.js.map +1 -0
  68. package/dist/holidays/rules/fixed-rule.d.ts +5 -0
  69. package/dist/holidays/rules/fixed-rule.js +72 -0
  70. package/dist/holidays/rules/fixed-rule.js.map +1 -0
  71. package/dist/holidays/rules/floating-rule.d.ts +6 -0
  72. package/dist/holidays/rules/floating-rule.js +53 -0
  73. package/dist/holidays/rules/floating-rule.js.map +1 -0
  74. package/dist/holidays/rules/hijri-rule.d.ts +6 -0
  75. package/dist/holidays/rules/hijri-rule.js +44 -0
  76. package/dist/holidays/rules/hijri-rule.js.map +1 -0
  77. package/dist/holidays/rules/index.d.ts +9 -0
  78. package/dist/holidays/rules/index.js +26 -0
  79. package/dist/holidays/rules/index.js.map +1 -0
  80. package/dist/holidays/types.d.ts +106 -0
  81. package/dist/holidays/types.js +2 -0
  82. package/dist/holidays/types.js.map +1 -0
  83. package/dist/index.d.ts +8 -3
  84. package/dist/index.js +5 -2
  85. package/dist/index.js.map +1 -1
  86. package/dist/operations/business-days.d.ts +30 -14
  87. package/dist/operations/business-days.js +115 -37
  88. package/dist/operations/business-days.js.map +1 -1
  89. package/dist/operations/holidays.d.ts +15 -0
  90. package/dist/operations/holidays.js +36 -0
  91. package/dist/operations/holidays.js.map +1 -0
  92. package/dist/operations/timezone.d.ts +28 -0
  93. package/dist/operations/timezone.js +120 -0
  94. package/dist/operations/timezone.js.map +1 -0
  95. package/dist/public-types.d.ts +16 -0
  96. package/dist/public-types.js.map +1 -1
  97. package/package.json +10 -1
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Official Federal Statutory Holidays for Germany 🇩🇪
3
+ * Bundesweite gesetzliche Feiertage.
4
+ */
5
+ export const germanyHolidays = {
6
+ country: "DE",
7
+ countryName: "Germany",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "de-neujahr",
13
+ month: 1,
14
+ day: 1,
15
+ name: "Neujahr",
16
+ nameEn: "New Year's Day",
17
+ },
18
+ {
19
+ type: "easter",
20
+ id: "de-karfreitag",
21
+ offsetDays: -2,
22
+ name: "Karfreitag",
23
+ nameEn: "Good Friday",
24
+ },
25
+ {
26
+ type: "easter",
27
+ id: "de-ostermontag",
28
+ offsetDays: 1,
29
+ name: "Ostermontag",
30
+ nameEn: "Easter Monday",
31
+ },
32
+ {
33
+ type: "fixed",
34
+ id: "de-tag-der-arbeit",
35
+ month: 5,
36
+ day: 1,
37
+ name: "Tag der Arbeit",
38
+ nameEn: "Labour Day",
39
+ },
40
+ {
41
+ type: "easter",
42
+ id: "de-christi-himmelfahrt",
43
+ offsetDays: 39,
44
+ name: "Christi Himmelfahrt",
45
+ nameEn: "Ascension Day",
46
+ },
47
+ {
48
+ type: "easter",
49
+ id: "de-pfingstmontag",
50
+ offsetDays: 50,
51
+ name: "Pfingstmontag",
52
+ nameEn: "Whit Monday",
53
+ },
54
+ {
55
+ type: "fixed",
56
+ id: "de-deutsche-einheit",
57
+ month: 10,
58
+ day: 3,
59
+ name: "Tag der Deutschen Einheit",
60
+ nameEn: "German Unity Day",
61
+ validFromYear: 1990,
62
+ },
63
+ {
64
+ type: "fixed",
65
+ id: "de-weihnachtstag-1",
66
+ month: 12,
67
+ day: 25,
68
+ name: "1. Weihnachtstag",
69
+ nameEn: "Christmas Day",
70
+ },
71
+ {
72
+ type: "fixed",
73
+ id: "de-weihnachtstag-2",
74
+ month: 12,
75
+ day: 26,
76
+ name: "2. Weihnachtstag",
77
+ nameEn: "St. Stephen's Day",
78
+ },
79
+ ],
80
+ };
81
+ //# sourceMappingURL=de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de.js","sourceRoot":"","sources":["../../../src/holidays/countries/de.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,SAAS;IACtB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,gBAAgB;SACzB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,eAAe;YACnB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,YAAY;SACrB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,wBAAwB;YAC5B,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,IAAI;SACpB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,mBAAmB;SAC5B;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Federal Statutory Holidays for Germany 🇩🇪\n * Bundesweite gesetzliche Feiertage.\n */\nexport const germanyHolidays: HolidayCalendar = {\n country: \"DE\",\n countryName: \"Germany\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"de-neujahr\",\n month: 1,\n day: 1,\n name: \"Neujahr\",\n nameEn: \"New Year's Day\",\n },\n {\n type: \"easter\",\n id: \"de-karfreitag\",\n offsetDays: -2,\n name: \"Karfreitag\",\n nameEn: \"Good Friday\",\n },\n {\n type: \"easter\",\n id: \"de-ostermontag\",\n offsetDays: 1,\n name: \"Ostermontag\",\n nameEn: \"Easter Monday\",\n },\n {\n type: \"fixed\",\n id: \"de-tag-der-arbeit\",\n month: 5,\n day: 1,\n name: \"Tag der Arbeit\",\n nameEn: \"Labour Day\",\n },\n {\n type: \"easter\",\n id: \"de-christi-himmelfahrt\",\n offsetDays: 39,\n name: \"Christi Himmelfahrt\",\n nameEn: \"Ascension Day\",\n },\n {\n type: \"easter\",\n id: \"de-pfingstmontag\",\n offsetDays: 50,\n name: \"Pfingstmontag\",\n nameEn: \"Whit Monday\",\n },\n {\n type: \"fixed\",\n id: \"de-deutsche-einheit\",\n month: 10,\n day: 3,\n name: \"Tag der Deutschen Einheit\",\n nameEn: \"German Unity Day\",\n validFromYear: 1990,\n },\n {\n type: \"fixed\",\n id: \"de-weihnachtstag-1\",\n month: 12,\n day: 25,\n name: \"1. Weihnachtstag\",\n nameEn: \"Christmas Day\",\n },\n {\n type: \"fixed\",\n id: \"de-weihnachtstag-2\",\n month: 12,\n day: 26,\n name: \"2. Weihnachtstag\",\n nameEn: \"St. Stephen's Day\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for France 🇫🇷
4
+ * Jours fériés légaux en France.
5
+ */
6
+ export declare const franceHolidays: HolidayCalendar;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Official Public Holidays for France 🇫🇷
3
+ * Jours fériés légaux en France.
4
+ */
5
+ export const franceHolidays = {
6
+ country: "FR",
7
+ countryName: "France",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "fr-jour-de-lan",
13
+ month: 1,
14
+ day: 1,
15
+ name: "Jour de l'An",
16
+ nameEn: "New Year's Day",
17
+ },
18
+ {
19
+ type: "easter",
20
+ id: "fr-lundi-de-paques",
21
+ offsetDays: 1,
22
+ name: "Lundi de Pâques",
23
+ nameEn: "Easter Monday",
24
+ },
25
+ {
26
+ type: "fixed",
27
+ id: "fr-fete-du-travail",
28
+ month: 5,
29
+ day: 1,
30
+ name: "Fête du Travail",
31
+ nameEn: "Labour Day",
32
+ },
33
+ {
34
+ type: "fixed",
35
+ id: "fr-victoire-1945",
36
+ month: 5,
37
+ day: 8,
38
+ name: "Victoire 1945",
39
+ nameEn: "Victory in Europe Day",
40
+ },
41
+ {
42
+ type: "easter",
43
+ id: "fr-ascension",
44
+ offsetDays: 39,
45
+ name: "Ascension",
46
+ nameEn: "Ascension Day",
47
+ },
48
+ {
49
+ type: "easter",
50
+ id: "fr-lundi-de-pentecote",
51
+ offsetDays: 50,
52
+ name: "Lundi de Pentecôte",
53
+ nameEn: "Whit Monday",
54
+ },
55
+ {
56
+ type: "fixed",
57
+ id: "fr-fete-nationale",
58
+ month: 7,
59
+ day: 14,
60
+ name: "Fête Nationale (Bastille Day)",
61
+ nameEn: "Bastille Day",
62
+ },
63
+ {
64
+ type: "fixed",
65
+ id: "fr-assomption",
66
+ month: 8,
67
+ day: 15,
68
+ name: "Assomption",
69
+ nameEn: "Assumption of Mary",
70
+ },
71
+ {
72
+ type: "fixed",
73
+ id: "fr-toussaint",
74
+ month: 11,
75
+ day: 1,
76
+ name: "Toussaint",
77
+ nameEn: "All Saints' Day",
78
+ },
79
+ {
80
+ type: "fixed",
81
+ id: "fr-armistice",
82
+ month: 11,
83
+ day: 11,
84
+ name: "Armistice 1918",
85
+ nameEn: "Armistice Day",
86
+ },
87
+ {
88
+ type: "fixed",
89
+ id: "fr-noel",
90
+ month: 12,
91
+ day: 25,
92
+ name: "Noël",
93
+ nameEn: "Christmas Day",
94
+ },
95
+ ],
96
+ };
97
+ //# sourceMappingURL=fr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../src/holidays/countries/fr.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,QAAQ;IACrB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,gBAAgB;SACzB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,oBAAoB;YACxB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,YAAY;SACrB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,uBAAuB;SAChC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,cAAc;YAClB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,uBAAuB;YAC3B,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,+BAA+B;YACrC,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,oBAAoB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,iBAAiB;SAC1B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,eAAe;SACxB;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for France 🇫🇷\n * Jours fériés légaux en France.\n */\nexport const franceHolidays: HolidayCalendar = {\n country: \"FR\",\n countryName: \"France\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"fr-jour-de-lan\",\n month: 1,\n day: 1,\n name: \"Jour de l'An\",\n nameEn: \"New Year's Day\",\n },\n {\n type: \"easter\",\n id: \"fr-lundi-de-paques\",\n offsetDays: 1,\n name: \"Lundi de Pâques\",\n nameEn: \"Easter Monday\",\n },\n {\n type: \"fixed\",\n id: \"fr-fete-du-travail\",\n month: 5,\n day: 1,\n name: \"Fête du Travail\",\n nameEn: \"Labour Day\",\n },\n {\n type: \"fixed\",\n id: \"fr-victoire-1945\",\n month: 5,\n day: 8,\n name: \"Victoire 1945\",\n nameEn: \"Victory in Europe Day\",\n },\n {\n type: \"easter\",\n id: \"fr-ascension\",\n offsetDays: 39,\n name: \"Ascension\",\n nameEn: \"Ascension Day\",\n },\n {\n type: \"easter\",\n id: \"fr-lundi-de-pentecote\",\n offsetDays: 50,\n name: \"Lundi de Pentecôte\",\n nameEn: \"Whit Monday\",\n },\n {\n type: \"fixed\",\n id: \"fr-fete-nationale\",\n month: 7,\n day: 14,\n name: \"Fête Nationale (Bastille Day)\",\n nameEn: \"Bastille Day\",\n },\n {\n type: \"fixed\",\n id: \"fr-assomption\",\n month: 8,\n day: 15,\n name: \"Assomption\",\n nameEn: \"Assumption of Mary\",\n },\n {\n type: \"fixed\",\n id: \"fr-toussaint\",\n month: 11,\n day: 1,\n name: \"Toussaint\",\n nameEn: \"All Saints' Day\",\n },\n {\n type: \"fixed\",\n id: \"fr-armistice\",\n month: 11,\n day: 11,\n name: \"Armistice 1918\",\n nameEn: \"Armistice Day\",\n },\n {\n type: \"fixed\",\n id: \"fr-noel\",\n month: 12,\n day: 25,\n name: \"Noël\",\n nameEn: \"Christmas Day\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Bank Holidays for England & Wales, United Kingdom 🇬🇧
4
+ * Enforces Bank Holiday Acts and weekend-to-monday substitution.
5
+ */
6
+ export declare const unitedKingdomHolidays: HolidayCalendar;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Official Bank Holidays for England & Wales, United Kingdom 🇬🇧
3
+ * Enforces Bank Holiday Acts and weekend-to-monday substitution.
4
+ */
5
+ export const unitedKingdomHolidays = {
6
+ country: "GB",
7
+ countryName: "United Kingdom",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "gb-new-year",
13
+ month: 1,
14
+ day: 1,
15
+ name: "New Year's Day",
16
+ nameEn: "New Year's Day",
17
+ observed: "weekend-to-monday",
18
+ },
19
+ {
20
+ type: "easter",
21
+ id: "gb-good-friday",
22
+ offsetDays: -2,
23
+ name: "Good Friday",
24
+ nameEn: "Good Friday",
25
+ },
26
+ {
27
+ type: "easter",
28
+ id: "gb-easter-monday",
29
+ offsetDays: 1,
30
+ name: "Easter Monday",
31
+ nameEn: "Easter Monday",
32
+ },
33
+ {
34
+ type: "floating",
35
+ id: "gb-early-may",
36
+ month: 5,
37
+ weekday: 1,
38
+ occurrence: 1, // 1st Monday of May
39
+ name: "Early May Bank Holiday",
40
+ nameEn: "Early May Bank Holiday",
41
+ },
42
+ {
43
+ type: "floating",
44
+ id: "gb-spring-bank",
45
+ month: 5,
46
+ weekday: 1,
47
+ occurrence: -1, // Last Monday of May
48
+ name: "Spring Bank Holiday",
49
+ nameEn: "Spring Bank Holiday",
50
+ },
51
+ {
52
+ type: "floating",
53
+ id: "gb-summer-bank",
54
+ month: 8,
55
+ weekday: 1,
56
+ occurrence: -1, // Last Monday of August
57
+ name: "Summer Bank Holiday",
58
+ nameEn: "Summer Bank Holiday",
59
+ },
60
+ {
61
+ type: "fixed",
62
+ id: "gb-christmas",
63
+ month: 12,
64
+ day: 25,
65
+ name: "Christmas Day",
66
+ nameEn: "Christmas Day",
67
+ observed: "weekend-to-monday",
68
+ },
69
+ {
70
+ type: "fixed",
71
+ id: "gb-boxing-day",
72
+ month: 12,
73
+ day: 26,
74
+ name: "Boxing Day",
75
+ nameEn: "Boxing Day",
76
+ observed: "weekend-to-monday",
77
+ },
78
+ ],
79
+ };
80
+ //# sourceMappingURL=gb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gb.js","sourceRoot":"","sources":["../../../src/holidays/countries/gb.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,gBAAgB;IAC7B,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,mBAAmB;SAC9B;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,EAAE,oBAAoB;YACnC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,CAAC,EAAE,qBAAqB;YACrC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,qBAAqB;SAC9B;QACD;YACE,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB;YACxC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,qBAAqB;SAC9B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,mBAAmB;SAC9B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mBAAmB;SAC9B;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Bank Holidays for England & Wales, United Kingdom 🇬🇧\n * Enforces Bank Holiday Acts and weekend-to-monday substitution.\n */\nexport const unitedKingdomHolidays: HolidayCalendar = {\n country: \"GB\",\n countryName: \"United Kingdom\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"gb-new-year\",\n month: 1,\n day: 1,\n name: \"New Year's Day\",\n nameEn: \"New Year's Day\",\n observed: \"weekend-to-monday\",\n },\n {\n type: \"easter\",\n id: \"gb-good-friday\",\n offsetDays: -2,\n name: \"Good Friday\",\n nameEn: \"Good Friday\",\n },\n {\n type: \"easter\",\n id: \"gb-easter-monday\",\n offsetDays: 1,\n name: \"Easter Monday\",\n nameEn: \"Easter Monday\",\n },\n {\n type: \"floating\",\n id: \"gb-early-may\",\n month: 5,\n weekday: 1,\n occurrence: 1, // 1st Monday of May\n name: \"Early May Bank Holiday\",\n nameEn: \"Early May Bank Holiday\",\n },\n {\n type: \"floating\",\n id: \"gb-spring-bank\",\n month: 5,\n weekday: 1,\n occurrence: -1, // Last Monday of May\n name: \"Spring Bank Holiday\",\n nameEn: \"Spring Bank Holiday\",\n },\n {\n type: \"floating\",\n id: \"gb-summer-bank\",\n month: 8,\n weekday: 1,\n occurrence: -1, // Last Monday of August\n name: \"Summer Bank Holiday\",\n nameEn: \"Summer Bank Holiday\",\n },\n {\n type: \"fixed\",\n id: \"gb-christmas\",\n month: 12,\n day: 25,\n name: \"Christmas Day\",\n nameEn: \"Christmas Day\",\n observed: \"weekend-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"gb-boxing-day\",\n month: 12,\n day: 26,\n name: \"Boxing Day\",\n nameEn: \"Boxing Day\",\n observed: \"weekend-to-monday\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official General Holidays for Hong Kong 🇭🇰
4
+ * 香港公眾假期 (General Holidays Ordinance).
5
+ */
6
+ export declare const hongKongHolidays: HolidayCalendar;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Official General Holidays for Hong Kong 🇭🇰
3
+ * 香港公眾假期 (General Holidays Ordinance).
4
+ */
5
+ export const hongKongHolidays = {
6
+ country: "HK",
7
+ countryName: "Hong Kong",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "hk-new-year",
13
+ month: 1,
14
+ day: 1,
15
+ name: "一月一日 (元旦)",
16
+ nameEn: "The first day of January",
17
+ observed: "sunday-to-monday",
18
+ },
19
+ {
20
+ type: "easter",
21
+ id: "hk-good-friday",
22
+ offsetDays: -2,
23
+ name: "耶穌受難節",
24
+ nameEn: "Good Friday",
25
+ },
26
+ {
27
+ type: "easter",
28
+ id: "hk-holy-saturday",
29
+ offsetDays: -1,
30
+ name: "耶穌受難節翌日",
31
+ nameEn: "The day following Good Friday",
32
+ },
33
+ {
34
+ type: "easter",
35
+ id: "hk-easter-monday",
36
+ offsetDays: 1,
37
+ name: "復活節星期一",
38
+ nameEn: "Easter Monday",
39
+ },
40
+ {
41
+ type: "fixed",
42
+ id: "hk-labour-day",
43
+ month: 5,
44
+ day: 1,
45
+ name: "勞動節",
46
+ nameEn: "Labour Day",
47
+ observed: "sunday-to-monday",
48
+ },
49
+ {
50
+ type: "fixed",
51
+ id: "hk-hksar-day",
52
+ month: 7,
53
+ day: 1,
54
+ name: "香港特別行政區成立紀念日",
55
+ nameEn: "Hong Kong Special Administrative Region Establishment Day",
56
+ observed: "sunday-to-monday",
57
+ },
58
+ {
59
+ type: "fixed",
60
+ id: "hk-national-day",
61
+ month: 10,
62
+ day: 1,
63
+ name: "國慶日",
64
+ nameEn: "National Day",
65
+ observed: "sunday-to-monday",
66
+ },
67
+ {
68
+ type: "fixed",
69
+ id: "hk-christmas",
70
+ month: 12,
71
+ day: 25,
72
+ name: "聖誕節",
73
+ nameEn: "Christmas Day",
74
+ observed: "sunday-to-monday",
75
+ },
76
+ {
77
+ type: "fixed",
78
+ id: "hk-boxing-day",
79
+ month: 12,
80
+ day: 26,
81
+ name: "聖誕節後第一個周日",
82
+ nameEn: "Boxing Day",
83
+ observed: "sunday-to-monday",
84
+ },
85
+ ],
86
+ };
87
+ //# sourceMappingURL=hk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hk.js","sourceRoot":"","sources":["../../../src/holidays/countries/hk.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,+BAA+B;SACxC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,2DAA2D;YACnE,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,kBAAkB;SAC7B;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official General Holidays for Hong Kong 🇭🇰\n * 香港公眾假期 (General Holidays Ordinance).\n */\nexport const hongKongHolidays: HolidayCalendar = {\n country: \"HK\",\n countryName: \"Hong Kong\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"hk-new-year\",\n month: 1,\n day: 1,\n name: \"一月一日 (元旦)\",\n nameEn: \"The first day of January\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"easter\",\n id: \"hk-good-friday\",\n offsetDays: -2,\n name: \"耶穌受難節\",\n nameEn: \"Good Friday\",\n },\n {\n type: \"easter\",\n id: \"hk-holy-saturday\",\n offsetDays: -1,\n name: \"耶穌受難節翌日\",\n nameEn: \"The day following Good Friday\",\n },\n {\n type: \"easter\",\n id: \"hk-easter-monday\",\n offsetDays: 1,\n name: \"復活節星期一\",\n nameEn: \"Easter Monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-labour-day\",\n month: 5,\n day: 1,\n name: \"勞動節\",\n nameEn: \"Labour Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-hksar-day\",\n month: 7,\n day: 1,\n name: \"香港特別行政區成立紀念日\",\n nameEn: \"Hong Kong Special Administrative Region Establishment Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-national-day\",\n month: 10,\n day: 1,\n name: \"國慶日\",\n nameEn: \"National Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-christmas\",\n month: 12,\n day: 25,\n name: \"聖誕節\",\n nameEn: \"Christmas Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-boxing-day\",\n month: 12,\n day: 26,\n name: \"聖誕節後第一個周日\",\n nameEn: \"Boxing Day\",\n observed: \"sunday-to-monday\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for India 🇮🇳
4
+ * Includes the 3 mandatory national gazetted holidays.
5
+ */
6
+ export declare const indiaHolidays: HolidayCalendar;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Official Public Holidays for India 🇮🇳
3
+ * Includes the 3 mandatory national gazetted holidays.
4
+ */
5
+ export const indiaHolidays = {
6
+ country: "IN",
7
+ countryName: "India",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "in-republic-day",
13
+ month: 1,
14
+ day: 26,
15
+ name: "गणतंत्र दिवस",
16
+ nameEn: "Republic Day",
17
+ },
18
+ {
19
+ type: "fixed",
20
+ id: "in-may-day",
21
+ month: 5,
22
+ day: 1,
23
+ name: "मई दिवस / मजदूर दिवस",
24
+ nameEn: "May Day / Labour Day",
25
+ },
26
+ {
27
+ type: "fixed",
28
+ id: "in-independence-day",
29
+ month: 8,
30
+ day: 15,
31
+ name: "स्वतंत्रता दिवस",
32
+ nameEn: "Independence Day",
33
+ },
34
+ {
35
+ type: "fixed",
36
+ id: "in-gandhi-jayanti",
37
+ month: 10,
38
+ day: 2,
39
+ name: "गांधी जयंती",
40
+ nameEn: "Mahatma Gandhi Jayanti",
41
+ },
42
+ {
43
+ type: "fixed",
44
+ id: "in-christmas",
45
+ month: 12,
46
+ day: 25,
47
+ name: "क्रिसमस",
48
+ nameEn: "Christmas Day",
49
+ },
50
+ ],
51
+ };
52
+ //# sourceMappingURL=in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in.js","sourceRoot":"","sources":["../../../src/holidays/countries/in.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,OAAO;IACpB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,kBAAkB;SAC3B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,eAAe;SACxB;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for India 🇮🇳\n * Includes the 3 mandatory national gazetted holidays.\n */\nexport const indiaHolidays: HolidayCalendar = {\n country: \"IN\",\n countryName: \"India\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"in-republic-day\",\n month: 1,\n day: 26,\n name: \"गणतंत्र दिवस\",\n nameEn: \"Republic Day\",\n },\n {\n type: \"fixed\",\n id: \"in-may-day\",\n month: 5,\n day: 1,\n name: \"मई दिवस / मजदूर दिवस\",\n nameEn: \"May Day / Labour Day\",\n },\n {\n type: \"fixed\",\n id: \"in-independence-day\",\n month: 8,\n day: 15,\n name: \"स्वतंत्रता दिवस\",\n nameEn: \"Independence Day\",\n },\n {\n type: \"fixed\",\n id: \"in-gandhi-jayanti\",\n month: 10,\n day: 2,\n name: \"गांधी जयंती\",\n nameEn: \"Mahatma Gandhi Jayanti\",\n },\n {\n type: \"fixed\",\n id: \"in-christmas\",\n month: 12,\n day: 25,\n name: \"क्रिसमस\",\n nameEn: \"Christmas Day\",\n },\n ],\n};\n"]}
@@ -0,0 +1,18 @@
1
+ import { thailandHolidays } from "./th.js";
2
+ import { japanHolidays } from "./jp.js";
3
+ import { saudiArabiaHolidays } from "./sa.js";
4
+ import { uaeHolidays } from "./ae.js";
5
+ import { iranHolidays } from "./ir.js";
6
+ import { taiwanHolidays } from "./tw.js";
7
+ import { indiaHolidays } from "./in.js";
8
+ import { singaporeHolidays } from "./sg.js";
9
+ import { unitedStatesHolidays } from "./us.js";
10
+ import { unitedKingdomHolidays } from "./gb.js";
11
+ import { germanyHolidays } from "./de.js";
12
+ import { franceHolidays } from "./fr.js";
13
+ import { australiaHolidays } from "./au.js";
14
+ import { chinaHolidays } from "./cn.js";
15
+ import { hongKongHolidays } from "./hk.js";
16
+ import type { CountryCode, HolidayCalendar } from "../types.js";
17
+ export declare const BUILT_IN_HOLIDAYS: Record<CountryCode, HolidayCalendar>;
18
+ export { thailandHolidays, japanHolidays, saudiArabiaHolidays, uaeHolidays, iranHolidays, taiwanHolidays, indiaHolidays, singaporeHolidays, unitedStatesHolidays, unitedKingdomHolidays, germanyHolidays, franceHolidays, australiaHolidays, chinaHolidays, hongKongHolidays, };
@@ -0,0 +1,34 @@
1
+ import { thailandHolidays } from "./th.js";
2
+ import { japanHolidays } from "./jp.js";
3
+ import { saudiArabiaHolidays } from "./sa.js";
4
+ import { uaeHolidays } from "./ae.js";
5
+ import { iranHolidays } from "./ir.js";
6
+ import { taiwanHolidays } from "./tw.js";
7
+ import { indiaHolidays } from "./in.js";
8
+ import { singaporeHolidays } from "./sg.js";
9
+ import { unitedStatesHolidays } from "./us.js";
10
+ import { unitedKingdomHolidays } from "./gb.js";
11
+ import { germanyHolidays } from "./de.js";
12
+ import { franceHolidays } from "./fr.js";
13
+ import { australiaHolidays } from "./au.js";
14
+ import { chinaHolidays } from "./cn.js";
15
+ import { hongKongHolidays } from "./hk.js";
16
+ export const BUILT_IN_HOLIDAYS = {
17
+ TH: thailandHolidays,
18
+ JP: japanHolidays,
19
+ SA: saudiArabiaHolidays,
20
+ AE: uaeHolidays,
21
+ IR: iranHolidays,
22
+ TW: taiwanHolidays,
23
+ IN: indiaHolidays,
24
+ SG: singaporeHolidays,
25
+ US: unitedStatesHolidays,
26
+ GB: unitedKingdomHolidays,
27
+ DE: germanyHolidays,
28
+ FR: franceHolidays,
29
+ AU: australiaHolidays,
30
+ CN: chinaHolidays,
31
+ HK: hongKongHolidays,
32
+ };
33
+ export { thailandHolidays, japanHolidays, saudiArabiaHolidays, uaeHolidays, iranHolidays, taiwanHolidays, indiaHolidays, singaporeHolidays, unitedStatesHolidays, unitedKingdomHolidays, germanyHolidays, franceHolidays, australiaHolidays, chinaHolidays, hongKongHolidays, };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/holidays/countries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GACjB,CAAC","sourcesContent":["import { thailandHolidays } from \"./th.js\";\nimport { japanHolidays } from \"./jp.js\";\nimport { saudiArabiaHolidays } from \"./sa.js\";\nimport { uaeHolidays } from \"./ae.js\";\nimport { iranHolidays } from \"./ir.js\";\nimport { taiwanHolidays } from \"./tw.js\";\nimport { indiaHolidays } from \"./in.js\";\nimport { singaporeHolidays } from \"./sg.js\";\nimport { unitedStatesHolidays } from \"./us.js\";\nimport { unitedKingdomHolidays } from \"./gb.js\";\nimport { germanyHolidays } from \"./de.js\";\nimport { franceHolidays } from \"./fr.js\";\nimport { australiaHolidays } from \"./au.js\";\nimport { chinaHolidays } from \"./cn.js\";\nimport { hongKongHolidays } from \"./hk.js\";\n\nimport type { CountryCode, HolidayCalendar } from \"../types.js\";\n\nexport const BUILT_IN_HOLIDAYS: Record<CountryCode, HolidayCalendar> = {\n TH: thailandHolidays,\n JP: japanHolidays,\n SA: saudiArabiaHolidays,\n AE: uaeHolidays,\n IR: iranHolidays,\n TW: taiwanHolidays,\n IN: indiaHolidays,\n SG: singaporeHolidays,\n US: unitedStatesHolidays,\n GB: unitedKingdomHolidays,\n DE: germanyHolidays,\n FR: franceHolidays,\n AU: australiaHolidays,\n CN: chinaHolidays,\n HK: hongKongHolidays,\n};\n\nexport {\n thailandHolidays,\n japanHolidays,\n saudiArabiaHolidays,\n uaeHolidays,\n iranHolidays,\n taiwanHolidays,\n indiaHolidays,\n singaporeHolidays,\n unitedStatesHolidays,\n unitedKingdomHolidays,\n germanyHolidays,\n franceHolidays,\n australiaHolidays,\n chinaHolidays,\n hongKongHolidays,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for Iran 🇮🇷
4
+ * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.
5
+ * Legal weekend: Thursday (4) & Friday (5).
6
+ */
7
+ export declare const iranHolidays: HolidayCalendar;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Official Public Holidays for Iran 🇮🇷
3
+ * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.
4
+ * Legal weekend: Thursday (4) & Friday (5).
5
+ */
6
+ export const iranHolidays = {
7
+ country: "IR",
8
+ countryName: "Iran",
9
+ defaultWeekendDays: [4, 5], // Thursday, Friday
10
+ rules: [
11
+ {
12
+ type: "fixed",
13
+ id: "ir-nowruz-1",
14
+ month: 3,
15
+ day: 21, // 1 Farvardin
16
+ name: "جشن نوروز",
17
+ nameEn: "Nowruz Day 1",
18
+ },
19
+ {
20
+ type: "fixed",
21
+ id: "ir-nowruz-2",
22
+ month: 3,
23
+ day: 22, // 2 Farvardin
24
+ name: "جشن نوروز",
25
+ nameEn: "Nowruz Day 2",
26
+ },
27
+ {
28
+ type: "fixed",
29
+ id: "ir-nowruz-3",
30
+ month: 3,
31
+ day: 23, // 3 Farvardin
32
+ name: "جشن نوروز",
33
+ nameEn: "Nowruz Day 3",
34
+ },
35
+ {
36
+ type: "fixed",
37
+ id: "ir-nowruz-4",
38
+ month: 3,
39
+ day: 24, // 4 Farvardin
40
+ name: "جشن نوروز",
41
+ nameEn: "Nowruz Day 4",
42
+ },
43
+ {
44
+ type: "fixed",
45
+ id: "ir-islamic-republic-day",
46
+ month: 4,
47
+ day: 1, // 12 Farvardin
48
+ name: "روز جمهوری اسلامی",
49
+ nameEn: "Islamic Republic Day",
50
+ },
51
+ {
52
+ type: "fixed",
53
+ id: "ir-nature-day",
54
+ month: 4,
55
+ day: 2, // 13 Farvardin
56
+ name: "روز طبیعت / سیزده‌بدر",
57
+ nameEn: "Nature Day (Sizdah Bedar)",
58
+ },
59
+ {
60
+ type: "fixed",
61
+ id: "ir-khomeini-demise",
62
+ month: 6,
63
+ day: 4, // 14 Khordad
64
+ name: "رحلت امام خمینی",
65
+ nameEn: "Demise of Imam Khomeini",
66
+ },
67
+ {
68
+ type: "fixed",
69
+ id: "ir-khordad-revolt",
70
+ month: 6,
71
+ day: 5, // 15 Khordad
72
+ name: "قیام ۱۵ خرداد",
73
+ nameEn: "Revolt of Khordad 15",
74
+ },
75
+ {
76
+ type: "fixed",
77
+ id: "ir-revolution-day",
78
+ month: 2,
79
+ day: 11, // 22 Bahman
80
+ name: "پیروزی انقلاب اسلامی",
81
+ nameEn: "Islamic Revolution Day",
82
+ },
83
+ {
84
+ type: "fixed",
85
+ id: "ir-oil-nationalization",
86
+ month: 3,
87
+ day: 19, // 29 Esfand
88
+ name: "روز ملی شدن صنعت نفت",
89
+ nameEn: "Oil Nationalization Day",
90
+ },
91
+ ],
92
+ };
93
+ //# sourceMappingURL=ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../src/holidays/countries/ir.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB;IAC/C,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,eAAe;YACvB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,eAAe;YACvB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,aAAa;YACrB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,yBAAyB;SAClC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,aAAa;YACrB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,YAAY;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,YAAY;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,yBAAyB;SAClC;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for Iran 🇮🇷\n * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.\n * Legal weekend: Thursday (4) & Friday (5).\n */\nexport const iranHolidays: HolidayCalendar = {\n country: \"IR\",\n countryName: \"Iran\",\n defaultWeekendDays: [4, 5], // Thursday, Friday\n rules: [\n {\n type: \"fixed\",\n id: \"ir-nowruz-1\",\n month: 3,\n day: 21, // 1 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 1\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-2\",\n month: 3,\n day: 22, // 2 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 2\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-3\",\n month: 3,\n day: 23, // 3 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 3\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-4\",\n month: 3,\n day: 24, // 4 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 4\",\n },\n {\n type: \"fixed\",\n id: \"ir-islamic-republic-day\",\n month: 4,\n day: 1, // 12 Farvardin\n name: \"روز جمهوری اسلامی\",\n nameEn: \"Islamic Republic Day\",\n },\n {\n type: \"fixed\",\n id: \"ir-nature-day\",\n month: 4,\n day: 2, // 13 Farvardin\n name: \"روز طبیعت / سیزده‌بدر\",\n nameEn: \"Nature Day (Sizdah Bedar)\",\n },\n {\n type: \"fixed\",\n id: \"ir-khomeini-demise\",\n month: 6,\n day: 4, // 14 Khordad\n name: \"رحلت امام خمینی\",\n nameEn: \"Demise of Imam Khomeini\",\n },\n {\n type: \"fixed\",\n id: \"ir-khordad-revolt\",\n month: 6,\n day: 5, // 15 Khordad\n name: \"قیام ۱۵ خرداد\",\n nameEn: \"Revolt of Khordad 15\",\n },\n {\n type: \"fixed\",\n id: \"ir-revolution-day\",\n month: 2,\n day: 11, // 22 Bahman\n name: \"پیروزی انقلاب اسلامی\",\n nameEn: \"Islamic Revolution Day\",\n },\n {\n type: \"fixed\",\n id: \"ir-oil-nationalization\",\n month: 3,\n day: 19, // 29 Esfand\n name: \"روز ملی شدن صنعت نفت\",\n nameEn: \"Oil Nationalization Day\",\n },\n ],\n};\n"]}