ts-time-utils 3.0.0 → 4.0.1

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 (68) hide show
  1. package/README.md +401 -1329
  2. package/dist/calculate.d.ts +25 -0
  3. package/dist/calculate.d.ts.map +1 -1
  4. package/dist/calculate.js +125 -0
  5. package/dist/calendar.d.ts +45 -0
  6. package/dist/calendar.d.ts.map +1 -1
  7. package/dist/calendar.js +68 -0
  8. package/dist/calendars.d.ts +156 -0
  9. package/dist/calendars.d.ts.map +1 -0
  10. package/dist/calendars.js +348 -0
  11. package/dist/compare.d.ts +27 -0
  12. package/dist/compare.d.ts.map +1 -1
  13. package/dist/compare.js +46 -0
  14. package/dist/esm/calculate.d.ts +25 -0
  15. package/dist/esm/calculate.d.ts.map +1 -1
  16. package/dist/esm/calculate.js +125 -0
  17. package/dist/esm/calendar.d.ts +45 -0
  18. package/dist/esm/calendar.d.ts.map +1 -1
  19. package/dist/esm/calendar.js +68 -0
  20. package/dist/esm/calendars.d.ts +156 -0
  21. package/dist/esm/calendars.d.ts.map +1 -0
  22. package/dist/esm/calendars.js +348 -0
  23. package/dist/esm/compare.d.ts +27 -0
  24. package/dist/esm/compare.d.ts.map +1 -1
  25. package/dist/esm/compare.js +46 -0
  26. package/dist/esm/holidays.d.ts +11 -1
  27. package/dist/esm/holidays.d.ts.map +1 -1
  28. package/dist/esm/holidays.js +220 -1
  29. package/dist/esm/index.d.ts +13 -7
  30. package/dist/esm/index.d.ts.map +1 -1
  31. package/dist/esm/index.js +17 -9
  32. package/dist/esm/iterate.d.ts +55 -0
  33. package/dist/esm/iterate.d.ts.map +1 -1
  34. package/dist/esm/iterate.js +86 -0
  35. package/dist/esm/locale.d.ts +53 -0
  36. package/dist/esm/locale.d.ts.map +1 -1
  37. package/dist/esm/locale.js +141 -0
  38. package/dist/esm/precision.d.ts +225 -0
  39. package/dist/esm/precision.d.ts.map +1 -0
  40. package/dist/esm/precision.js +491 -0
  41. package/dist/esm/temporal.d.ts +237 -0
  42. package/dist/esm/temporal.d.ts.map +1 -0
  43. package/dist/esm/temporal.js +660 -0
  44. package/dist/esm/validate.d.ts +30 -0
  45. package/dist/esm/validate.d.ts.map +1 -1
  46. package/dist/esm/validate.js +48 -0
  47. package/dist/holidays.d.ts +11 -1
  48. package/dist/holidays.d.ts.map +1 -1
  49. package/dist/holidays.js +220 -1
  50. package/dist/index.d.ts +13 -7
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +17 -9
  53. package/dist/iterate.d.ts +55 -0
  54. package/dist/iterate.d.ts.map +1 -1
  55. package/dist/iterate.js +86 -0
  56. package/dist/locale.d.ts +53 -0
  57. package/dist/locale.d.ts.map +1 -1
  58. package/dist/locale.js +141 -0
  59. package/dist/precision.d.ts +225 -0
  60. package/dist/precision.d.ts.map +1 -0
  61. package/dist/precision.js +491 -0
  62. package/dist/temporal.d.ts +237 -0
  63. package/dist/temporal.d.ts.map +1 -0
  64. package/dist/temporal.js +660 -0
  65. package/dist/validate.d.ts +30 -0
  66. package/dist/validate.d.ts.map +1 -1
  67. package/dist/validate.js +48 -0
  68. package/package.json +22 -2
@@ -2,7 +2,7 @@
2
2
  * @fileoverview International holiday utilities
3
3
  * Calculate holidays for multiple countries including fixed, movable, and lunar-based holidays
4
4
  */
5
- export type CountryCode = 'UK' | 'NL' | 'DE' | 'CA' | 'AU' | 'IT' | 'ES' | 'CN' | 'IN' | 'US';
5
+ export type CountryCode = 'UK' | 'NL' | 'DE' | 'CA' | 'AU' | 'IT' | 'ES' | 'CN' | 'IN' | 'US' | 'JP' | 'FR' | 'BR' | 'MX' | 'KR' | 'SG' | 'PL' | 'SE' | 'BE' | 'CH';
6
6
  export interface Holiday {
7
7
  name: string;
8
8
  date: Date;
@@ -18,6 +18,16 @@ export declare function getItalyHolidays(year: number): Holiday[];
18
18
  export declare function getSpainHolidays(year: number): Holiday[];
19
19
  export declare function getChinaHolidays(year: number): Holiday[];
20
20
  export declare function getIndiaHolidays(year: number): Holiday[];
21
+ export declare function getJapanHolidays(year: number): Holiday[];
22
+ export declare function getFranceHolidays(year: number): Holiday[];
23
+ export declare function getBrazilHolidays(year: number): Holiday[];
24
+ export declare function getMexicoHolidays(year: number): Holiday[];
25
+ export declare function getSouthKoreaHolidays(year: number): Holiday[];
26
+ export declare function getSingaporeHolidays(year: number): Holiday[];
27
+ export declare function getPolandHolidays(year: number): Holiday[];
28
+ export declare function getSwedenHolidays(year: number): Holiday[];
29
+ export declare function getBelgiumHolidays(year: number): Holiday[];
30
+ export declare function getSwitzerlandHolidays(year: number): Holiday[];
21
31
  /**
22
32
  * Get holidays for a specific country and year
23
33
  * @param year - The year
@@ -1 +1 @@
1
- {"version":3,"file":"holidays.d.ts","sourceRoot":"","sources":["../../src/holidays.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9F,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;CACxC;AAoED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA+ErD;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAuG9D;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA6E1D;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA+EzD;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA6E5D;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA6FxD;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAqFxD;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA8CxD;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA+BxD;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CA0B7E;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAYvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAalF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,CAYnF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,EAAE,CAYX;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAErD"}
1
+ {"version":3,"file":"holidays.d.ts","sourceRoot":"","sources":["../../src/holidays.ts"],"names":[],"mappings":"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"}
@@ -683,6 +683,205 @@ export function getIndiaHolidays(year) {
683
683
  return holidays;
684
684
  }
685
685
  // ============================================================================
686
+ // JAPAN HOLIDAYS
687
+ // ============================================================================
688
+ export function getJapanHolidays(year) {
689
+ const holidays = [];
690
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'JP', type: 'public' });
691
+ holidays.push({ name: 'Coming of Age Day', date: getNthWeekdayOfMonth(year, 0, 1, 2), countryCode: 'JP', type: 'public' });
692
+ holidays.push({ name: 'National Foundation Day', date: new Date(year, 1, 11), countryCode: 'JP', type: 'public' });
693
+ holidays.push({ name: "Emperor's Birthday", date: new Date(year, 1, 23), countryCode: 'JP', type: 'public' });
694
+ holidays.push({ name: 'Vernal Equinox Day', date: new Date(year, 2, 20), countryCode: 'JP', type: 'public' });
695
+ holidays.push({ name: 'Showa Day', date: new Date(year, 3, 29), countryCode: 'JP', type: 'public' });
696
+ holidays.push({ name: 'Constitution Memorial Day', date: new Date(year, 4, 3), countryCode: 'JP', type: 'public' });
697
+ holidays.push({ name: 'Greenery Day', date: new Date(year, 4, 4), countryCode: 'JP', type: 'public' });
698
+ holidays.push({ name: "Children's Day", date: new Date(year, 4, 5), countryCode: 'JP', type: 'public' });
699
+ holidays.push({ name: 'Marine Day', date: getNthWeekdayOfMonth(year, 6, 1, 3), countryCode: 'JP', type: 'public' });
700
+ holidays.push({ name: 'Mountain Day', date: new Date(year, 7, 11), countryCode: 'JP', type: 'public' });
701
+ holidays.push({ name: 'Respect for the Aged Day', date: getNthWeekdayOfMonth(year, 8, 1, 3), countryCode: 'JP', type: 'public' });
702
+ holidays.push({ name: 'Autumnal Equinox Day', date: new Date(year, 8, 23), countryCode: 'JP', type: 'public' });
703
+ holidays.push({ name: 'Sports Day', date: getNthWeekdayOfMonth(year, 9, 1, 2), countryCode: 'JP', type: 'public' });
704
+ holidays.push({ name: 'Culture Day', date: new Date(year, 10, 3), countryCode: 'JP', type: 'public' });
705
+ holidays.push({ name: 'Labour Thanksgiving Day', date: new Date(year, 10, 23), countryCode: 'JP', type: 'public' });
706
+ return holidays;
707
+ }
708
+ // ============================================================================
709
+ // FRANCE HOLIDAYS
710
+ // ============================================================================
711
+ export function getFranceHolidays(year) {
712
+ const holidays = [];
713
+ const easter = getEasterSunday(year);
714
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'FR', type: 'public' });
715
+ holidays.push({ name: 'Easter Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 1), countryCode: 'FR', type: 'public' });
716
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'FR', type: 'public' });
717
+ holidays.push({ name: 'Victory in Europe Day', date: new Date(year, 4, 8), countryCode: 'FR', type: 'public' });
718
+ holidays.push({ name: 'Ascension Day', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 39), countryCode: 'FR', type: 'public' });
719
+ holidays.push({ name: 'Whit Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 50), countryCode: 'FR', type: 'public' });
720
+ holidays.push({ name: 'Bastille Day', date: new Date(year, 6, 14), countryCode: 'FR', type: 'public' });
721
+ holidays.push({ name: 'Assumption of Mary', date: new Date(year, 7, 15), countryCode: 'FR', type: 'public' });
722
+ holidays.push({ name: "All Saints' Day", date: new Date(year, 10, 1), countryCode: 'FR', type: 'public' });
723
+ holidays.push({ name: 'Armistice Day', date: new Date(year, 10, 11), countryCode: 'FR', type: 'public' });
724
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'FR', type: 'public' });
725
+ return holidays;
726
+ }
727
+ // ============================================================================
728
+ // BRAZIL HOLIDAYS
729
+ // ============================================================================
730
+ export function getBrazilHolidays(year) {
731
+ const holidays = [];
732
+ const easter = getEasterSunday(year);
733
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'BR', type: 'public' });
734
+ holidays.push({ name: 'Carnival', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() - 47), countryCode: 'BR', type: 'public' });
735
+ holidays.push({ name: 'Good Friday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() - 2), countryCode: 'BR', type: 'public' });
736
+ holidays.push({ name: 'Tiradentes Day', date: new Date(year, 3, 21), countryCode: 'BR', type: 'public' });
737
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'BR', type: 'public' });
738
+ holidays.push({ name: 'Corpus Christi', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 60), countryCode: 'BR', type: 'public' });
739
+ holidays.push({ name: 'Independence Day', date: new Date(year, 8, 7), countryCode: 'BR', type: 'public' });
740
+ holidays.push({ name: 'Our Lady of Aparecida', date: new Date(year, 9, 12), countryCode: 'BR', type: 'public' });
741
+ holidays.push({ name: "All Souls' Day", date: new Date(year, 10, 2), countryCode: 'BR', type: 'public' });
742
+ holidays.push({ name: 'Republic Proclamation Day', date: new Date(year, 10, 15), countryCode: 'BR', type: 'public' });
743
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'BR', type: 'public' });
744
+ return holidays;
745
+ }
746
+ // ============================================================================
747
+ // MEXICO HOLIDAYS
748
+ // ============================================================================
749
+ export function getMexicoHolidays(year) {
750
+ const holidays = [];
751
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'MX', type: 'public' });
752
+ holidays.push({ name: 'Constitution Day', date: getNthWeekdayOfMonth(year, 1, 1, 1), countryCode: 'MX', type: 'public' });
753
+ holidays.push({ name: 'Benito Juárez Birthday', date: getNthWeekdayOfMonth(year, 2, 1, 3), countryCode: 'MX', type: 'public' });
754
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'MX', type: 'public' });
755
+ holidays.push({ name: 'Independence Day', date: new Date(year, 8, 16), countryCode: 'MX', type: 'public' });
756
+ holidays.push({ name: 'Revolution Day', date: getNthWeekdayOfMonth(year, 10, 1, 3), countryCode: 'MX', type: 'public' });
757
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'MX', type: 'public' });
758
+ return holidays;
759
+ }
760
+ // ============================================================================
761
+ // SOUTH KOREA HOLIDAYS
762
+ // ============================================================================
763
+ export function getSouthKoreaHolidays(year) {
764
+ const holidays = [];
765
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'KR', type: 'public' });
766
+ holidays.push({ name: 'Independence Movement Day', date: new Date(year, 2, 1), countryCode: 'KR', type: 'public' });
767
+ holidays.push({ name: "Children's Day", date: new Date(year, 4, 5), countryCode: 'KR', type: 'public' });
768
+ holidays.push({ name: 'Memorial Day', date: new Date(year, 5, 6), countryCode: 'KR', type: 'public' });
769
+ holidays.push({ name: 'Liberation Day', date: new Date(year, 7, 15), countryCode: 'KR', type: 'public' });
770
+ holidays.push({ name: 'National Foundation Day', date: new Date(year, 9, 3), countryCode: 'KR', type: 'public' });
771
+ holidays.push({ name: 'Hangul Day', date: new Date(year, 9, 9), countryCode: 'KR', type: 'public' });
772
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'KR', type: 'public' });
773
+ // Note: Lunar New Year and Chuseok are lunar-based
774
+ return holidays;
775
+ }
776
+ // ============================================================================
777
+ // SINGAPORE HOLIDAYS
778
+ // ============================================================================
779
+ export function getSingaporeHolidays(year) {
780
+ const holidays = [];
781
+ const easter = getEasterSunday(year);
782
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'SG', type: 'public' });
783
+ holidays.push({ name: 'Good Friday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() - 2), countryCode: 'SG', type: 'public' });
784
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'SG', type: 'public' });
785
+ holidays.push({ name: 'National Day', date: new Date(year, 7, 9), countryCode: 'SG', type: 'public' });
786
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'SG', type: 'public' });
787
+ // Note: Chinese New Year, Vesak Day, Hari Raya, Deepavali are lunar-based
788
+ return holidays;
789
+ }
790
+ // ============================================================================
791
+ // POLAND HOLIDAYS
792
+ // ============================================================================
793
+ export function getPolandHolidays(year) {
794
+ const holidays = [];
795
+ const easter = getEasterSunday(year);
796
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'PL', type: 'public' });
797
+ holidays.push({ name: 'Epiphany', date: new Date(year, 0, 6), countryCode: 'PL', type: 'public' });
798
+ holidays.push({ name: 'Easter Sunday', date: easter, countryCode: 'PL', type: 'public' });
799
+ holidays.push({ name: 'Easter Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 1), countryCode: 'PL', type: 'public' });
800
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'PL', type: 'public' });
801
+ holidays.push({ name: 'Constitution Day', date: new Date(year, 4, 3), countryCode: 'PL', type: 'public' });
802
+ holidays.push({ name: 'Whit Sunday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 49), countryCode: 'PL', type: 'public' });
803
+ holidays.push({ name: 'Corpus Christi', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 60), countryCode: 'PL', type: 'public' });
804
+ holidays.push({ name: 'Assumption of Mary', date: new Date(year, 7, 15), countryCode: 'PL', type: 'public' });
805
+ holidays.push({ name: "All Saints' Day", date: new Date(year, 10, 1), countryCode: 'PL', type: 'public' });
806
+ holidays.push({ name: 'Independence Day', date: new Date(year, 10, 11), countryCode: 'PL', type: 'public' });
807
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'PL', type: 'public' });
808
+ holidays.push({ name: 'Second Day of Christmas', date: new Date(year, 11, 26), countryCode: 'PL', type: 'public' });
809
+ return holidays;
810
+ }
811
+ // ============================================================================
812
+ // SWEDEN HOLIDAYS
813
+ // ============================================================================
814
+ export function getSwedenHolidays(year) {
815
+ const holidays = [];
816
+ const easter = getEasterSunday(year);
817
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'SE', type: 'public' });
818
+ holidays.push({ name: 'Epiphany', date: new Date(year, 0, 6), countryCode: 'SE', type: 'public' });
819
+ holidays.push({ name: 'Good Friday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() - 2), countryCode: 'SE', type: 'public' });
820
+ holidays.push({ name: 'Easter Sunday', date: easter, countryCode: 'SE', type: 'public' });
821
+ holidays.push({ name: 'Easter Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 1), countryCode: 'SE', type: 'public' });
822
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'SE', type: 'public' });
823
+ holidays.push({ name: 'Ascension Day', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 39), countryCode: 'SE', type: 'public' });
824
+ holidays.push({ name: 'National Day', date: new Date(year, 5, 6), countryCode: 'SE', type: 'public' });
825
+ holidays.push({ name: 'Midsummer Eve', date: getFridayBefore(year, 5, 26), countryCode: 'SE', type: 'public' });
826
+ holidays.push({ name: "All Saints' Day", date: getSaturdayBetween(year, 10, 31, 11, 6), countryCode: 'SE', type: 'public' });
827
+ holidays.push({ name: 'Christmas Eve', date: new Date(year, 11, 24), countryCode: 'SE', type: 'public' });
828
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'SE', type: 'public' });
829
+ holidays.push({ name: 'Second Day of Christmas', date: new Date(year, 11, 26), countryCode: 'SE', type: 'public' });
830
+ return holidays;
831
+ }
832
+ // Helper for Swedish Midsummer
833
+ function getFridayBefore(year, month, maxDay) {
834
+ for (let d = maxDay; d >= maxDay - 6; d--) {
835
+ const date = new Date(year, month, d);
836
+ if (date.getDay() === 5)
837
+ return date;
838
+ }
839
+ return new Date(year, month, maxDay);
840
+ }
841
+ // Helper for Swedish All Saints
842
+ function getSaturdayBetween(year, startMonth, startDay, endMonth, endDay) {
843
+ const start = new Date(year, startMonth, startDay);
844
+ const end = new Date(year, endMonth, endDay);
845
+ for (let d = new Date(start); d <= end; d.setDate(d.getDate() + 1)) {
846
+ if (d.getDay() === 6)
847
+ return new Date(d);
848
+ }
849
+ return start;
850
+ }
851
+ // ============================================================================
852
+ // BELGIUM HOLIDAYS
853
+ // ============================================================================
854
+ export function getBelgiumHolidays(year) {
855
+ const holidays = [];
856
+ const easter = getEasterSunday(year);
857
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'BE', type: 'public' });
858
+ holidays.push({ name: 'Easter Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 1), countryCode: 'BE', type: 'public' });
859
+ holidays.push({ name: 'Labour Day', date: new Date(year, 4, 1), countryCode: 'BE', type: 'public' });
860
+ holidays.push({ name: 'Ascension Day', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 39), countryCode: 'BE', type: 'public' });
861
+ holidays.push({ name: 'Whit Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 50), countryCode: 'BE', type: 'public' });
862
+ holidays.push({ name: 'Belgian National Day', date: new Date(year, 6, 21), countryCode: 'BE', type: 'public' });
863
+ holidays.push({ name: 'Assumption of Mary', date: new Date(year, 7, 15), countryCode: 'BE', type: 'public' });
864
+ holidays.push({ name: "All Saints' Day", date: new Date(year, 10, 1), countryCode: 'BE', type: 'public' });
865
+ holidays.push({ name: 'Armistice Day', date: new Date(year, 10, 11), countryCode: 'BE', type: 'public' });
866
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'BE', type: 'public' });
867
+ return holidays;
868
+ }
869
+ // ============================================================================
870
+ // SWITZERLAND HOLIDAYS (Federal only - cantons have additional)
871
+ // ============================================================================
872
+ export function getSwitzerlandHolidays(year) {
873
+ const holidays = [];
874
+ const easter = getEasterSunday(year);
875
+ holidays.push({ name: "New Year's Day", date: new Date(year, 0, 1), countryCode: 'CH', type: 'public' });
876
+ holidays.push({ name: 'Good Friday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() - 2), countryCode: 'CH', type: 'public' });
877
+ holidays.push({ name: 'Easter Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 1), countryCode: 'CH', type: 'public' });
878
+ holidays.push({ name: 'Ascension Day', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 39), countryCode: 'CH', type: 'public' });
879
+ holidays.push({ name: 'Whit Monday', date: new Date(easter.getFullYear(), easter.getMonth(), easter.getDate() + 50), countryCode: 'CH', type: 'public' });
880
+ holidays.push({ name: 'Swiss National Day', date: new Date(year, 7, 1), countryCode: 'CH', type: 'public' });
881
+ holidays.push({ name: 'Christmas Day', date: new Date(year, 11, 25), countryCode: 'CH', type: 'public' });
882
+ return holidays;
883
+ }
884
+ // ============================================================================
686
885
  // UNIFIED API
687
886
  // ============================================================================
688
887
  /**
@@ -711,6 +910,26 @@ export function getHolidays(year, countryCode) {
711
910
  return getChinaHolidays(year);
712
911
  case 'IN':
713
912
  return getIndiaHolidays(year);
913
+ case 'JP':
914
+ return getJapanHolidays(year);
915
+ case 'FR':
916
+ return getFranceHolidays(year);
917
+ case 'BR':
918
+ return getBrazilHolidays(year);
919
+ case 'MX':
920
+ return getMexicoHolidays(year);
921
+ case 'KR':
922
+ return getSouthKoreaHolidays(year);
923
+ case 'SG':
924
+ return getSingaporeHolidays(year);
925
+ case 'PL':
926
+ return getPolandHolidays(year);
927
+ case 'SE':
928
+ return getSwedenHolidays(year);
929
+ case 'BE':
930
+ return getBelgiumHolidays(year);
931
+ case 'CH':
932
+ return getSwitzerlandHolidays(year);
714
933
  case 'US':
715
934
  // Import from existing calendar module
716
935
  return [];
@@ -789,5 +1008,5 @@ export function getUpcomingHolidays(date, days, countryCode) {
789
1008
  * @returns Array of country codes
790
1009
  */
791
1010
  export function getSupportedCountries() {
792
- return ['UK', 'NL', 'DE', 'CA', 'AU', 'IT', 'ES', 'CN', 'IN', 'US'];
1011
+ return ['UK', 'NL', 'DE', 'CA', 'AU', 'IT', 'ES', 'CN', 'IN', 'US', 'JP', 'FR', 'BR', 'MX', 'KR', 'SG', 'PL', 'SE', 'BE', 'CH'];
793
1012
  }
@@ -3,10 +3,10 @@
3
3
  * Re-exports all functions from individual modules for convenience
4
4
  */
5
5
  export { formatDuration, timeAgo, formatTime, parseDuration, formatDate, formatDateRange, formatOrdinal, formatDayOrdinal, formatDurationCompact, formatCalendarDate } from './format.js';
6
- export { differenceInUnits, addTime, subtractTime, startOf, endOf, isBetween, businessDaysBetween } from './calculate.js';
7
- export { isValidDate, isLeapYear, isPast, isFuture, isToday, isYesterday, isTomorrow, isSameDay, isSameWeek, isSameMonth, isSameYear, isThisWeek, isThisMonth, isThisYear, isWeekend, isWeekday, isBusinessDay, isInLastNDays, isInNextNDays, isValidTimeString, isValidISOString } from './validate.js';
6
+ export { differenceInUnits, addTime, subtractTime, startOf, endOf, isBetween, businessDaysBetween, roundToNearestUnit, ceilDate, floorDate } from './calculate.js';
7
+ export { isValidDate, isLeapYear, isPast, isFuture, isToday, isYesterday, isTomorrow, isSameDay, isSameWeek, isSameMonth, isSameYear, isThisWeek, isThisMonth, isThisYear, isWeekend, isWeekday, isBusinessDay, isInLastNDays, isInNextNDays, isValidTimeString, isValidISOString, isSameHour, isSameMinute, isSameSecond, isInQuarter, isSameQuarter } from './validate.js';
8
8
  export { calculateAge, getAgeInUnits, getLifeStage, getNextBirthday, getDaysUntilBirthday, isBirthday } from './age.js';
9
- export { getWeekNumber, getWeekOfMonth, getQuarter, getDayOfYear, getWeeksInYear, getDaysInMonth, getDaysInYear, getEaster, getMonthsInYear, getDaysInMonthArray, getWeekdaysInMonth, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getNthDayOfMonth, getNewYearsDay, getMLKDay, getPresidentsDay, getMemorialDay, getIndependenceDay, getLaborDay, getColumbusDay, getVeteransDay, getThanksgivingDay, getChristmasDay, getGoodFriday, getUSHolidays, isUSHoliday, getUSHolidayName, getStartOfWeek, getEndOfWeek, getWeeksInMonth } from './calendar.js';
9
+ export { getWeekNumber, getWeekOfMonth, getQuarter, getDayOfYear, getWeeksInYear, getDaysInMonth, getDaysInYear, getEaster, getMonthsInYear, getDaysInMonthArray, getWeekdaysInMonth, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getNthDayOfMonth, getNewYearsDay, getMLKDay, getPresidentsDay, getMemorialDay, getIndependenceDay, getLaborDay, getColumbusDay, getVeteransDay, getThanksgivingDay, getChristmasDay, getGoodFriday, getUSHolidays, isUSHoliday, getUSHolidayName, getStartOfWeek, getEndOfWeek, getWeeksInMonth, getWeekYear, lastDayOfDecade, firstDayOfDecade, lastDayOfCentury, getStartOfQuarter, getEndOfQuarter } from './calendar.js';
10
10
  export type { USHoliday } from './calendar.js';
11
11
  export { parseDate, parseRelativeDate, parseTimeAgo, parseCustomFormat, parseManyFormats, parseISO8601Duration, parseISO8601DurationToMs, parseTime, guessDateFormat, parseAutoFormat, parseRangeEndpoint } from './parse.js';
12
12
  export { sleep, timeout, debounce, throttle, retry, createStopwatch, measureTime, measureAsync, benchmark, Stopwatch } from './performance.js';
@@ -16,7 +16,7 @@ export { DEFAULT_WORKING_HOURS, isWorkingDay, isWorkingTime, nextWorkingTime, wo
16
16
  export { today, yesterday, tomorrow, lastNDays, nextNDays, thisWeek, lastWeek, nextWeek, thisMonth, lastMonth, nextMonth, thisYear, lastYear, nextYear, rollingWindowDays, quarterRange, lastQuarter, nextQuarter, RANGE_PRESETS } from './rangePresets.js';
17
17
  export { Duration, createDuration, isValidDuration, parseDurationString, formatDurationString, maxDuration, minDuration, sumDurations, averageDuration } from './duration.js';
18
18
  export { serializeDate, deserializeDate, createDateReviver, createDateReplacer, parseISOString, toEpochTimestamp, fromEpochTimestamp, createEpochTimestamp, toDateObject, fromDateObject, isValidISODateString, isValidEpochTimestamp, cloneDate, datesEqual, now, parseJSONWithDates, stringifyWithDates } from './serialize.js';
19
- export { registerLocale, getLocaleConfig, getSupportedLocales, formatRelativeTime, formatDateLocale, formatTimeLocale, formatDateTimeLocale, getMonthNames, getDayNames, getFirstDayOfWeek, isLocaleSupported, getBestMatchingLocale, detectLocale, convertRelativeTime, detectLocaleFromRelativeTime, convertFormatPattern, convertFormattedDate, convertRelativeTimeArray, compareLocaleFormats } from './locale.js';
19
+ export { registerLocale, getLocaleConfig, getSupportedLocales, formatRelativeTime, formatDateLocale, formatTimeLocale, formatDateTimeLocale, getMonthNames, getDayNames, getFirstDayOfWeek, isLocaleSupported, getBestMatchingLocale, detectLocale, convertRelativeTime, detectLocaleFromRelativeTime, convertFormatPattern, convertFormattedDate, convertRelativeTimeArray, compareLocaleFormats, getWeekInfo, getLocaleWeekStartsOn, getLocaleWeekendDays, intlFormat, formatISODate, formatISOTime, formatDistanceStrict } from './locale.js';
20
20
  export { createRecurrence, getNextOccurrence, getOccurrencesBetween, isRecurrenceDate, isValidRecurrenceRule, recurrenceToString } from './recurrence.js';
21
21
  export { createCountdown, getRemainingTime, formatCountdown, isExpired, getProgressPercentage, getTimeUntil, createDeadline, type Countdown, type RemainingTime, type CountdownOptions } from './countdown.js';
22
22
  export { dateRangeOverlap, hasOverlappingRanges, mergeDateRanges, findGaps, splitRange, containsDate, getIntersection, getUnion, subtractRange, getRangeDuration, expandRange, shrinkRange, rangeContains, sortRanges } from './dateRange.js';
@@ -27,11 +27,17 @@ export { parseCronExpression, parseCronField, matchesCron, getNextCronDate, getN
27
27
  export type { CronParts, ParsedCronField } from './cron.js';
28
28
  export { getFiscalYear, getFiscalQuarter, getFiscalYearStart, getFiscalYearEnd, getFiscalQuarterStart, getFiscalQuarterEnd, isSameFiscalYear, isSameFiscalQuarter, getFiscalMonth, getDaysRemainingInFiscalYear, getDaysElapsedInFiscalYear, getFiscalYearProgress, getFiscalWeek, formatFiscalYear, formatFiscalQuarter, getFiscalPeriodInfo, FISCAL_PRESETS } from './fiscal.js';
29
29
  export type { FiscalConfig } from './fiscal.js';
30
- export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate } from './compare.js';
31
- export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth } from './iterate.js';
32
- export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
30
+ export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate, closestIndexTo, getOverlappingDaysInIntervals } from './compare.js';
31
+ export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth, eachWeekendOfMonth, eachWeekendOfYear, previousDay, nextDay, previousSunday, previousMonday, previousTuesday, previousWednesday, previousThursday, previousFriday, previousSaturday, nextSunday, nextMonday, nextTuesday, nextWednesday, nextThursday, nextFriday, nextSaturday } from './iterate.js';
32
+ export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getJapanHolidays, getFranceHolidays, getBrazilHolidays, getMexicoHolidays, getSouthKoreaHolidays, getSingaporeHolidays, getPolandHolidays, getSwedenHolidays, getBelgiumHolidays, getSwitzerlandHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
33
33
  export type { CountryCode, Holiday } from './holidays.js';
34
34
  export { chain, ChainedDate, formatMs } from './chain.js';
35
35
  export { extend, uninstall, getRegisteredPlugins, getPluginMethods, isPluginRegistered } from './plugins.js';
36
36
  export type { PluginFunction, Plugin } from './plugins.js';
37
+ export { toHebrewDate, toIslamicDate, toBuddhistDate, toJapaneseDate, toPersianDate, toChineseDate, formatInCalendar, getCalendarMonthNames, getJapaneseEra, getJapaneseEras, isHebrewLeapYear, getHebrewMonthName, getIslamicMonthName, getPersianMonthName, isPersianLeapYear, getChineseZodiac, getChineseElement, getChineseZodiacFull, calendarDateToString, compareCalendarDates, today as calendarToday, isSameCalendarDay, getSupportedCalendars } from './calendars.js';
38
+ export type { CalendarDate, HebrewDate, IslamicDate, BuddhistDate, JapaneseDate, PersianDate, ChineseDate, CalendarType } from './calendars.js';
39
+ export { toPlainDate, toPlainTime, toPlainDateTime, toZonedDateTime, toInstant, createDuration as createTemporalDuration, parseDuration as parseTemporalDuration, nowInstant, nowPlainDateTime, nowPlainDate, nowPlainTime, nowZonedDateTime, fromTemporal } from './temporal.js';
40
+ export type { PlainDate, PlainTime, PlainDateTime, ZonedDateTime, Instant, Duration as TemporalDuration, DurationLike, DurationUnit as TemporalDurationUnit } from './temporal.js';
41
+ export { createNanosecondTimestamp, fromNanoseconds, dateToNanoseconds, nanosecondsToDate, addNanoseconds, subtractNanoseconds, compareNanoseconds, nowNanoseconds, formatNanoseconds, parseNanoseconds, createHighResDuration, addHighResDuration, subtractHighResDuration, highResDurationToMs, msToHighResDuration, toBigIntMs, fromBigIntMs, toBigIntSeconds, fromBigIntSeconds, addBigIntMs, subtractBigIntMs, diffBigIntMs, isInDSTGap, isInDSTOverlap, getDSTTransitionsInYear, resolveAmbiguousTime, ValidDate, ensureValidDate, parseValidDate, assertValidDate, LEAP_SECONDS, leapSecondsBetween, isNearLeapSecond, taiToUtc, utcToTai } from './precision.js';
42
+ export type { NanosecondTimestamp, HighResDuration, DSTTransition } from './precision.js';
37
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -4,14 +4,14 @@
4
4
  */
5
5
  // Format utilities
6
6
  export { formatDuration, timeAgo, formatTime, parseDuration, formatDate, formatDateRange, formatOrdinal, formatDayOrdinal, formatDurationCompact, formatCalendarDate } from './format.js';
7
- // Calculation utilities
8
- export { differenceInUnits, addTime, subtractTime, startOf, endOf, isBetween, businessDaysBetween } from './calculate.js';
7
+ // Calculation utilities
8
+ export { differenceInUnits, addTime, subtractTime, startOf, endOf, isBetween, businessDaysBetween, roundToNearestUnit, ceilDate, floorDate } from './calculate.js';
9
9
  // Validation utilities
10
- export { isValidDate, isLeapYear, isPast, isFuture, isToday, isYesterday, isTomorrow, isSameDay, isSameWeek, isSameMonth, isSameYear, isThisWeek, isThisMonth, isThisYear, isWeekend, isWeekday, isBusinessDay, isInLastNDays, isInNextNDays, isValidTimeString, isValidISOString } from './validate.js';
10
+ export { isValidDate, isLeapYear, isPast, isFuture, isToday, isYesterday, isTomorrow, isSameDay, isSameWeek, isSameMonth, isSameYear, isThisWeek, isThisMonth, isThisYear, isWeekend, isWeekday, isBusinessDay, isInLastNDays, isInNextNDays, isValidTimeString, isValidISOString, isSameHour, isSameMinute, isSameSecond, isInQuarter, isSameQuarter } from './validate.js';
11
11
  // Age utilities
12
12
  export { calculateAge, getAgeInUnits, getLifeStage, getNextBirthday, getDaysUntilBirthday, isBirthday } from './age.js';
13
13
  // Calendar utilities
14
- export { getWeekNumber, getWeekOfMonth, getQuarter, getDayOfYear, getWeeksInYear, getDaysInMonth, getDaysInYear, getEaster, getMonthsInYear, getDaysInMonthArray, getWeekdaysInMonth, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getNthDayOfMonth, getNewYearsDay, getMLKDay, getPresidentsDay, getMemorialDay, getIndependenceDay, getLaborDay, getColumbusDay, getVeteransDay, getThanksgivingDay, getChristmasDay, getGoodFriday, getUSHolidays, isUSHoliday, getUSHolidayName, getStartOfWeek, getEndOfWeek, getWeeksInMonth } from './calendar.js';
14
+ export { getWeekNumber, getWeekOfMonth, getQuarter, getDayOfYear, getWeeksInYear, getDaysInMonth, getDaysInYear, getEaster, getMonthsInYear, getDaysInMonthArray, getWeekdaysInMonth, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getNthDayOfMonth, getNewYearsDay, getMLKDay, getPresidentsDay, getMemorialDay, getIndependenceDay, getLaborDay, getColumbusDay, getVeteransDay, getThanksgivingDay, getChristmasDay, getGoodFriday, getUSHolidays, isUSHoliday, getUSHolidayName, getStartOfWeek, getEndOfWeek, getWeeksInMonth, getWeekYear, lastDayOfDecade, firstDayOfDecade, lastDayOfCentury, getStartOfQuarter, getEndOfQuarter } from './calendar.js';
15
15
  // Parse utilities
16
16
  export { parseDate, parseRelativeDate, parseTimeAgo, parseCustomFormat, parseManyFormats, parseISO8601Duration, parseISO8601DurationToMs, parseTime, guessDateFormat, parseAutoFormat, parseRangeEndpoint } from './parse.js';
17
17
  // Performance utilities
@@ -28,10 +28,12 @@ export { today, yesterday, tomorrow, lastNDays, nextNDays, thisWeek, lastWeek, n
28
28
  export { Duration, createDuration, isValidDuration, parseDurationString, formatDurationString, maxDuration, minDuration, sumDurations, averageDuration } from './duration.js';
29
29
  // Serialization utilities
30
30
  export { serializeDate, deserializeDate, createDateReviver, createDateReplacer, parseISOString, toEpochTimestamp, fromEpochTimestamp, createEpochTimestamp, toDateObject, fromDateObject, isValidISODateString, isValidEpochTimestamp, cloneDate, datesEqual, now, parseJSONWithDates, stringifyWithDates } from './serialize.js';
31
- // Locale utilities
31
+ // Locale utilities
32
32
  export { registerLocale, getLocaleConfig, getSupportedLocales, formatRelativeTime, formatDateLocale, formatTimeLocale, formatDateTimeLocale, getMonthNames, getDayNames, getFirstDayOfWeek, isLocaleSupported, getBestMatchingLocale, detectLocale,
33
33
  // Conversion utilities
34
- convertRelativeTime, detectLocaleFromRelativeTime, convertFormatPattern, convertFormattedDate, convertRelativeTimeArray, compareLocaleFormats } from './locale.js';
34
+ convertRelativeTime, detectLocaleFromRelativeTime, convertFormatPattern, convertFormattedDate, convertRelativeTimeArray, compareLocaleFormats,
35
+ // Week info utilities
36
+ getWeekInfo, getLocaleWeekStartsOn, getLocaleWeekendDays, intlFormat, formatISODate, formatISOTime, formatDistanceStrict } from './locale.js';
35
37
  // Recurrence utilities
36
38
  export { createRecurrence, getNextOccurrence, getOccurrencesBetween, isRecurrenceDate, isValidRecurrenceRule, recurrenceToString } from './recurrence.js';
37
39
  // Countdown utilities
@@ -47,12 +49,18 @@ export { parseCronExpression, parseCronField, matchesCron, getNextCronDate, getN
47
49
  // Fiscal year utilities
48
50
  export { getFiscalYear, getFiscalQuarter, getFiscalYearStart, getFiscalYearEnd, getFiscalQuarterStart, getFiscalQuarterEnd, isSameFiscalYear, isSameFiscalQuarter, getFiscalMonth, getDaysRemainingInFiscalYear, getDaysElapsedInFiscalYear, getFiscalYearProgress, getFiscalWeek, formatFiscalYear, formatFiscalQuarter, getFiscalPeriodInfo, FISCAL_PRESETS } from './fiscal.js';
49
51
  // Date comparison and sorting utilities
50
- export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate } from './compare.js';
52
+ export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate, closestIndexTo, getOverlappingDaysInIntervals } from './compare.js';
51
53
  // Date iteration utilities
52
- export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth } from './iterate.js';
54
+ export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth, eachWeekendOfMonth, eachWeekendOfYear, previousDay, nextDay, previousSunday, previousMonday, previousTuesday, previousWednesday, previousThursday, previousFriday, previousSaturday, nextSunday, nextMonday, nextTuesday, nextWednesday, nextThursday, nextFriday, nextSaturday } from './iterate.js';
53
55
  // International holidays utilities
54
- export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
56
+ export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getJapanHolidays, getFranceHolidays, getBrazilHolidays, getMexicoHolidays, getSouthKoreaHolidays, getSingaporeHolidays, getPolandHolidays, getSwedenHolidays, getBelgiumHolidays, getSwitzerlandHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
55
57
  // Chain API (fluent interface)
56
58
  export { chain, ChainedDate, formatMs } from './chain.js';
57
59
  // Plugin system for extending ChainedDate
58
60
  export { extend, uninstall, getRegisteredPlugins, getPluginMethods, isPluginRegistered } from './plugins.js';
61
+ // Non-Gregorian calendar utilities
62
+ export { toHebrewDate, toIslamicDate, toBuddhistDate, toJapaneseDate, toPersianDate, toChineseDate, formatInCalendar, getCalendarMonthNames, getJapaneseEra, getJapaneseEras, isHebrewLeapYear, getHebrewMonthName, getIslamicMonthName, getPersianMonthName, isPersianLeapYear, getChineseZodiac, getChineseElement, getChineseZodiacFull, calendarDateToString, compareCalendarDates, today as calendarToday, isSameCalendarDay, getSupportedCalendars } from './calendars.js';
63
+ // Temporal API compatibility layer
64
+ export { toPlainDate, toPlainTime, toPlainDateTime, toZonedDateTime, toInstant, createDuration as createTemporalDuration, parseDuration as parseTemporalDuration, nowInstant, nowPlainDateTime, nowPlainDate, nowPlainTime, nowZonedDateTime, fromTemporal } from './temporal.js';
65
+ // High-precision utilities
66
+ export { createNanosecondTimestamp, fromNanoseconds, dateToNanoseconds, nanosecondsToDate, addNanoseconds, subtractNanoseconds, compareNanoseconds, nowNanoseconds, formatNanoseconds, parseNanoseconds, createHighResDuration, addHighResDuration, subtractHighResDuration, highResDurationToMs, msToHighResDuration, toBigIntMs, fromBigIntMs, toBigIntSeconds, fromBigIntSeconds, addBigIntMs, subtractBigIntMs, diffBigIntMs, isInDSTGap, isInDSTOverlap, getDSTTransitionsInYear, resolveAmbiguousTime, ValidDate, ensureValidDate, parseValidDate, assertValidDate, LEAP_SECONDS, leapSecondsBetween, isNearLeapSecond, taiToUtc, utcToTai } from './precision.js';
@@ -209,4 +209,59 @@ export declare function eachMonthEnd(start: Date, end: Date): Date[];
209
209
  * eachNthDayOfMonth(start, end, 31) // Last day of short months, 31st otherwise
210
210
  */
211
211
  export declare function eachNthDayOfMonth(start: Date, end: Date, dayOfMonth: number): Date[];
212
+ /**
213
+ * Get all weekend days (Sat + Sun) in a specific month
214
+ * @param year - year
215
+ * @param month - month (0-11)
216
+ * @returns Array of weekend dates
217
+ */
218
+ export declare function eachWeekendOfMonth(year: number, month: number): Date[];
219
+ /**
220
+ * Get all weekend days (Sat + Sun) in a specific year
221
+ * @param year - year
222
+ * @returns Array of weekend dates
223
+ */
224
+ export declare function eachWeekendOfYear(year: number): Date[];
225
+ /**
226
+ * Get the previous occurrence of a specific day of week
227
+ * @param date - reference date
228
+ * @param dayOfWeek - target day (0=Sunday, 6=Saturday)
229
+ * @returns The previous occurrence (not including date itself)
230
+ */
231
+ export declare function previousDay(date: Date, dayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6): Date;
232
+ /**
233
+ * Get the next occurrence of a specific day of week
234
+ * @param date - reference date
235
+ * @param dayOfWeek - target day (0=Sunday, 6=Saturday)
236
+ * @returns The next occurrence (not including date itself)
237
+ */
238
+ export declare function nextDay(date: Date, dayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6): Date;
239
+ /** Get the previous Sunday */
240
+ export declare function previousSunday(date: Date): Date;
241
+ /** Get the previous Monday */
242
+ export declare function previousMonday(date: Date): Date;
243
+ /** Get the previous Tuesday */
244
+ export declare function previousTuesday(date: Date): Date;
245
+ /** Get the previous Wednesday */
246
+ export declare function previousWednesday(date: Date): Date;
247
+ /** Get the previous Thursday */
248
+ export declare function previousThursday(date: Date): Date;
249
+ /** Get the previous Friday */
250
+ export declare function previousFriday(date: Date): Date;
251
+ /** Get the previous Saturday */
252
+ export declare function previousSaturday(date: Date): Date;
253
+ /** Get the next Sunday */
254
+ export declare function nextSunday(date: Date): Date;
255
+ /** Get the next Monday */
256
+ export declare function nextMonday(date: Date): Date;
257
+ /** Get the next Tuesday */
258
+ export declare function nextTuesday(date: Date): Date;
259
+ /** Get the next Wednesday */
260
+ export declare function nextWednesday(date: Date): Date;
261
+ /** Get the next Thursday */
262
+ export declare function nextThursday(date: Date): Date;
263
+ /** Get the next Friday */
264
+ export declare function nextFriday(date: Date): Date;
265
+ /** Get the next Saturday */
266
+ export declare function nextSaturday(date: Date): Date;
212
267
  //# sourceMappingURL=iterate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/iterate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/iterate.ts"],"names":[],"mappings":"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"}
@@ -407,3 +407,89 @@ export function eachNthDayOfMonth(start, end, dayOfMonth) {
407
407
  }
408
408
  return result;
409
409
  }
410
+ /**
411
+ * Get all weekend days (Sat + Sun) in a specific month
412
+ * @param year - year
413
+ * @param month - month (0-11)
414
+ * @returns Array of weekend dates
415
+ */
416
+ export function eachWeekendOfMonth(year, month) {
417
+ const result = [];
418
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
419
+ for (let day = 1; day <= daysInMonth; day++) {
420
+ const date = new Date(year, month, day);
421
+ const dayOfWeek = date.getDay();
422
+ if (dayOfWeek === 0 || dayOfWeek === 6) {
423
+ result.push(date);
424
+ }
425
+ }
426
+ return result;
427
+ }
428
+ /**
429
+ * Get all weekend days (Sat + Sun) in a specific year
430
+ * @param year - year
431
+ * @returns Array of weekend dates
432
+ */
433
+ export function eachWeekendOfYear(year) {
434
+ const result = [];
435
+ for (let month = 0; month < 12; month++) {
436
+ result.push(...eachWeekendOfMonth(year, month));
437
+ }
438
+ return result;
439
+ }
440
+ /**
441
+ * Get the previous occurrence of a specific day of week
442
+ * @param date - reference date
443
+ * @param dayOfWeek - target day (0=Sunday, 6=Saturday)
444
+ * @returns The previous occurrence (not including date itself)
445
+ */
446
+ export function previousDay(date, dayOfWeek) {
447
+ const result = new Date(date);
448
+ result.setHours(0, 0, 0, 0);
449
+ const currentDay = result.getDay();
450
+ const diff = (currentDay - dayOfWeek + 7) % 7 || 7;
451
+ result.setDate(result.getDate() - diff);
452
+ return result;
453
+ }
454
+ /**
455
+ * Get the next occurrence of a specific day of week
456
+ * @param date - reference date
457
+ * @param dayOfWeek - target day (0=Sunday, 6=Saturday)
458
+ * @returns The next occurrence (not including date itself)
459
+ */
460
+ export function nextDay(date, dayOfWeek) {
461
+ const result = new Date(date);
462
+ result.setHours(0, 0, 0, 0);
463
+ const currentDay = result.getDay();
464
+ const diff = (dayOfWeek - currentDay + 7) % 7 || 7;
465
+ result.setDate(result.getDate() + diff);
466
+ return result;
467
+ }
468
+ /** Get the previous Sunday */
469
+ export function previousSunday(date) { return previousDay(date, 0); }
470
+ /** Get the previous Monday */
471
+ export function previousMonday(date) { return previousDay(date, 1); }
472
+ /** Get the previous Tuesday */
473
+ export function previousTuesday(date) { return previousDay(date, 2); }
474
+ /** Get the previous Wednesday */
475
+ export function previousWednesday(date) { return previousDay(date, 3); }
476
+ /** Get the previous Thursday */
477
+ export function previousThursday(date) { return previousDay(date, 4); }
478
+ /** Get the previous Friday */
479
+ export function previousFriday(date) { return previousDay(date, 5); }
480
+ /** Get the previous Saturday */
481
+ export function previousSaturday(date) { return previousDay(date, 6); }
482
+ /** Get the next Sunday */
483
+ export function nextSunday(date) { return nextDay(date, 0); }
484
+ /** Get the next Monday */
485
+ export function nextMonday(date) { return nextDay(date, 1); }
486
+ /** Get the next Tuesday */
487
+ export function nextTuesday(date) { return nextDay(date, 2); }
488
+ /** Get the next Wednesday */
489
+ export function nextWednesday(date) { return nextDay(date, 3); }
490
+ /** Get the next Thursday */
491
+ export function nextThursday(date) { return nextDay(date, 4); }
492
+ /** Get the next Friday */
493
+ export function nextFriday(date) { return nextDay(date, 5); }
494
+ /** Get the next Saturday */
495
+ export function nextSaturday(date) { return nextDay(date, 6); }