ts-time-utils 4.0.1 → 4.4.0

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 (81) hide show
  1. package/README.md +175 -30
  2. package/dist/{age.js → age.cjs} +14 -6
  3. package/dist/{calculate.js → calculate.cjs} +30 -18
  4. package/dist/{calendar.js → calendar.cjs} +80 -39
  5. package/dist/{calendars.js → calendars.cjs} +48 -23
  6. package/dist/{chain.js → chain.cjs} +41 -40
  7. package/dist/{compare.js → compare.cjs} +58 -28
  8. package/dist/constants.cjs +19 -0
  9. package/dist/{countdown.js → countdown.cjs} +16 -7
  10. package/dist/{cron.js → cron.cjs} +20 -9
  11. package/dist/{dateRange.js → dateRange.cjs} +42 -26
  12. package/dist/{duration.js → duration.cjs} +56 -44
  13. package/dist/esm/chain.js +0 -5
  14. package/dist/esm/finance.d.ts +236 -0
  15. package/dist/esm/finance.d.ts.map +1 -0
  16. package/dist/esm/finance.js +495 -0
  17. package/dist/esm/healthcare.d.ts +260 -0
  18. package/dist/esm/healthcare.d.ts.map +1 -0
  19. package/dist/esm/healthcare.js +447 -0
  20. package/dist/esm/index.d.ts +6 -0
  21. package/dist/esm/index.d.ts.map +1 -1
  22. package/dist/esm/index.js +6 -0
  23. package/dist/esm/naturalLanguage.d.ts +1 -3
  24. package/dist/esm/naturalLanguage.d.ts.map +1 -1
  25. package/dist/esm/naturalLanguage.js +9 -2
  26. package/dist/esm/plugins.d.ts +0 -6
  27. package/dist/esm/plugins.d.ts.map +1 -1
  28. package/dist/esm/plugins.js +36 -42
  29. package/dist/esm/recurrence.d.ts.map +1 -1
  30. package/dist/esm/recurrence.js +3 -5
  31. package/dist/esm/scheduling.d.ts +206 -0
  32. package/dist/esm/scheduling.d.ts.map +1 -0
  33. package/dist/esm/scheduling.js +329 -0
  34. package/dist/esm/timezone.d.ts +6 -1
  35. package/dist/esm/timezone.d.ts.map +1 -1
  36. package/dist/esm/timezone.js +106 -66
  37. package/dist/esm/types.d.ts +0 -4
  38. package/dist/esm/types.d.ts.map +1 -1
  39. package/dist/finance.cjs +512 -0
  40. package/dist/finance.d.ts +236 -0
  41. package/dist/finance.d.ts.map +1 -0
  42. package/dist/{fiscal.js → fiscal.cjs} +36 -17
  43. package/dist/{format.js → format.cjs} +83 -70
  44. package/dist/healthcare.cjs +462 -0
  45. package/dist/healthcare.d.ts +260 -0
  46. package/dist/healthcare.d.ts.map +1 -0
  47. package/dist/{holidays.js → holidays.cjs} +52 -25
  48. package/dist/index.cjs +595 -0
  49. package/dist/index.d.ts +6 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/{interval.js → interval.cjs} +24 -11
  52. package/dist/{iterate.js → iterate.cjs} +84 -41
  53. package/dist/{locale.js → locale.cjs} +54 -26
  54. package/dist/{naturalLanguage.js → naturalLanguage.cjs} +36 -23
  55. package/dist/naturalLanguage.d.ts +1 -3
  56. package/dist/naturalLanguage.d.ts.map +1 -1
  57. package/dist/{parse.js → parse.cjs} +24 -11
  58. package/dist/{performance.js → performance.cjs} +23 -10
  59. package/dist/{plugins.js → plugins.cjs} +48 -47
  60. package/dist/plugins.d.ts +0 -6
  61. package/dist/plugins.d.ts.map +1 -1
  62. package/dist/{precision.js → precision.cjs} +74 -37
  63. package/dist/{rangePresets.js → rangePresets.cjs} +40 -19
  64. package/dist/{recurrence.js → recurrence.cjs} +27 -21
  65. package/dist/recurrence.d.ts.map +1 -1
  66. package/dist/scheduling.cjs +344 -0
  67. package/dist/scheduling.d.ts +206 -0
  68. package/dist/scheduling.d.ts.map +1 -0
  69. package/dist/{serialize.js → serialize.cjs} +36 -17
  70. package/dist/{temporal.js → temporal.cjs} +28 -13
  71. package/dist/{timezone.js → timezone.cjs} +140 -82
  72. package/dist/timezone.d.ts +6 -1
  73. package/dist/timezone.d.ts.map +1 -1
  74. package/dist/{types.js → types.cjs} +9 -3
  75. package/dist/types.d.ts +0 -4
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/{validate.js → validate.cjs} +54 -26
  78. package/dist/{workingHours.js → workingHours.cjs} +36 -17
  79. package/package.json +52 -34
  80. package/dist/constants.js +0 -16
  81. package/dist/index.js +0 -66
package/package.json CHANGED
@@ -1,161 +1,177 @@
1
1
  {
2
2
  "name": "ts-time-utils",
3
- "version": "4.0.1",
3
+ "version": "4.4.0",
4
4
  "description": "A comprehensive TypeScript utility library for time, dates, durations, and calendar operations with full tree-shaking support",
5
- "main": "dist/index.js",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
6
7
  "module": "dist/esm/index.js",
7
8
  "types": "dist/index.d.ts",
8
9
  "sideEffects": false,
9
10
  "exports": {
10
11
  ".": {
11
12
  "import": "./dist/esm/index.js",
12
- "require": "./dist/index.js",
13
+ "require": "./dist/index.cjs",
13
14
  "types": "./dist/index.d.ts"
14
15
  },
15
16
  "./format": {
16
17
  "import": "./dist/esm/format.js",
17
- "require": "./dist/format.js",
18
+ "require": "./dist/format.cjs",
18
19
  "types": "./dist/format.d.ts"
19
20
  },
20
21
  "./calculate": {
21
22
  "import": "./dist/esm/calculate.js",
22
- "require": "./dist/calculate.js",
23
+ "require": "./dist/calculate.cjs",
23
24
  "types": "./dist/calculate.d.ts"
24
25
  },
25
26
  "./validate": {
26
27
  "import": "./dist/esm/validate.js",
27
- "require": "./dist/validate.js",
28
+ "require": "./dist/validate.cjs",
28
29
  "types": "./dist/validate.d.ts"
29
30
  },
30
31
  "./constants": {
31
32
  "import": "./dist/esm/constants.js",
32
- "require": "./dist/constants.js",
33
+ "require": "./dist/constants.cjs",
33
34
  "types": "./dist/constants.d.ts"
34
35
  },
35
36
  "./age": {
36
37
  "import": "./dist/esm/age.js",
37
- "require": "./dist/age.js",
38
+ "require": "./dist/age.cjs",
38
39
  "types": "./dist/age.d.ts"
39
40
  },
40
41
  "./calendar": {
41
42
  "import": "./dist/esm/calendar.js",
42
- "require": "./dist/calendar.js",
43
+ "require": "./dist/calendar.cjs",
43
44
  "types": "./dist/calendar.d.ts"
44
45
  },
45
46
  "./parse": {
46
47
  "import": "./dist/esm/parse.js",
47
- "require": "./dist/parse.js",
48
+ "require": "./dist/parse.cjs",
48
49
  "types": "./dist/parse.d.ts"
49
50
  },
50
51
  "./performance": {
51
52
  "import": "./dist/esm/performance.js",
52
- "require": "./dist/performance.js",
53
+ "require": "./dist/performance.cjs",
53
54
  "types": "./dist/performance.d.ts"
54
55
  },
55
56
  "./interval": {
56
57
  "import": "./dist/esm/interval.js",
57
- "require": "./dist/interval.js",
58
+ "require": "./dist/interval.cjs",
58
59
  "types": "./dist/interval.d.ts"
59
60
  },
60
61
  "./timezone": {
61
62
  "import": "./dist/esm/timezone.js",
62
- "require": "./dist/timezone.js",
63
+ "require": "./dist/timezone.cjs",
63
64
  "types": "./dist/timezone.d.ts"
64
65
  },
65
66
  "./workingHours": {
66
67
  "import": "./dist/esm/workingHours.js",
67
- "require": "./dist/workingHours.js",
68
+ "require": "./dist/workingHours.cjs",
68
69
  "types": "./dist/workingHours.d.ts"
69
70
  },
70
71
  "./rangePresets": {
71
72
  "import": "./dist/esm/rangePresets.js",
72
- "require": "./dist/rangePresets.js",
73
+ "require": "./dist/rangePresets.cjs",
73
74
  "types": "./dist/rangePresets.d.ts"
74
75
  },
75
76
  "./duration": {
76
77
  "import": "./dist/esm/duration.js",
77
- "require": "./dist/duration.js",
78
+ "require": "./dist/duration.cjs",
78
79
  "types": "./dist/duration.d.ts"
79
80
  },
80
81
  "./serialize": {
81
82
  "import": "./dist/esm/serialize.js",
82
- "require": "./dist/serialize.js",
83
+ "require": "./dist/serialize.cjs",
83
84
  "types": "./dist/serialize.d.ts"
84
85
  },
85
86
  "./locale": {
86
87
  "import": "./dist/esm/locale.js",
87
- "require": "./dist/locale.js",
88
+ "require": "./dist/locale.cjs",
88
89
  "types": "./dist/locale.d.ts"
89
90
  },
90
91
  "./recurrence": {
91
92
  "import": "./dist/esm/recurrence.js",
92
- "require": "./dist/recurrence.js",
93
+ "require": "./dist/recurrence.cjs",
93
94
  "types": "./dist/recurrence.d.ts"
94
95
  },
95
96
  "./countdown": {
96
97
  "import": "./dist/esm/countdown.js",
97
- "require": "./dist/countdown.js",
98
+ "require": "./dist/countdown.cjs",
98
99
  "types": "./dist/countdown.d.ts"
99
100
  },
100
101
  "./dateRange": {
101
102
  "import": "./dist/esm/dateRange.js",
102
- "require": "./dist/dateRange.js",
103
+ "require": "./dist/dateRange.cjs",
103
104
  "types": "./dist/dateRange.d.ts"
104
105
  },
105
106
  "./naturalLanguage": {
106
107
  "import": "./dist/esm/naturalLanguage.js",
107
- "require": "./dist/naturalLanguage.js",
108
+ "require": "./dist/naturalLanguage.cjs",
108
109
  "types": "./dist/naturalLanguage.d.ts"
109
110
  },
110
111
  "./cron": {
111
112
  "import": "./dist/esm/cron.js",
112
- "require": "./dist/cron.js",
113
+ "require": "./dist/cron.cjs",
113
114
  "types": "./dist/cron.d.ts"
114
115
  },
115
116
  "./fiscal": {
116
117
  "import": "./dist/esm/fiscal.js",
117
- "require": "./dist/fiscal.js",
118
+ "require": "./dist/fiscal.cjs",
118
119
  "types": "./dist/fiscal.d.ts"
119
120
  },
120
121
  "./compare": {
121
122
  "import": "./dist/esm/compare.js",
122
- "require": "./dist/compare.js",
123
+ "require": "./dist/compare.cjs",
123
124
  "types": "./dist/compare.d.ts"
124
125
  },
125
126
  "./iterate": {
126
127
  "import": "./dist/esm/iterate.js",
127
- "require": "./dist/iterate.js",
128
+ "require": "./dist/iterate.cjs",
128
129
  "types": "./dist/iterate.d.ts"
129
130
  },
130
131
  "./holidays": {
131
132
  "import": "./dist/esm/holidays.js",
132
- "require": "./dist/holidays.js",
133
+ "require": "./dist/holidays.cjs",
133
134
  "types": "./dist/holidays.d.ts"
134
135
  },
135
136
  "./chain": {
136
137
  "import": "./dist/esm/chain.js",
137
- "require": "./dist/chain.js",
138
+ "require": "./dist/chain.cjs",
138
139
  "types": "./dist/chain.d.ts"
139
140
  },
140
141
  "./plugins": {
141
142
  "import": "./dist/esm/plugins.js",
142
- "require": "./dist/plugins.js",
143
+ "require": "./dist/plugins.cjs",
143
144
  "types": "./dist/plugins.d.ts"
144
145
  },
145
146
  "./calendars": {
146
147
  "import": "./dist/esm/calendars.js",
147
- "require": "./dist/calendars.js",
148
+ "require": "./dist/calendars.cjs",
148
149
  "types": "./dist/calendars.d.ts"
149
150
  },
150
151
  "./temporal": {
151
152
  "import": "./dist/esm/temporal.js",
152
- "require": "./dist/temporal.js",
153
+ "require": "./dist/temporal.cjs",
153
154
  "types": "./dist/temporal.d.ts"
154
155
  },
155
156
  "./precision": {
156
157
  "import": "./dist/esm/precision.js",
157
- "require": "./dist/precision.js",
158
+ "require": "./dist/precision.cjs",
158
159
  "types": "./dist/precision.d.ts"
160
+ },
161
+ "./scheduling": {
162
+ "import": "./dist/esm/scheduling.js",
163
+ "require": "./dist/scheduling.cjs",
164
+ "types": "./dist/scheduling.d.ts"
165
+ },
166
+ "./finance": {
167
+ "import": "./dist/esm/finance.js",
168
+ "require": "./dist/finance.cjs",
169
+ "types": "./dist/finance.d.ts"
170
+ },
171
+ "./healthcare": {
172
+ "import": "./dist/esm/healthcare.js",
173
+ "require": "./dist/healthcare.cjs",
174
+ "types": "./dist/healthcare.d.ts"
159
175
  }
160
176
  },
161
177
  "files": [
@@ -163,13 +179,15 @@
163
179
  ],
164
180
  "scripts": {
165
181
  "build": "npm run build:cjs && npm run build:esm",
166
- "build:cjs": "tsc -p tsconfig.json",
182
+ "build:cjs": "tsc -p tsconfig.json --module commonjs --moduleResolution node && node scripts/prepare-cjs-build.mjs",
167
183
  "build:esm": "tsc -p tsconfig.esm.json",
168
- "test": "vitest run",
184
+ "test": "vitest run --exclude test/package-exports.test.ts --exclude test/integration/built-package.test.ts",
185
+ "test:package": "vitest run test/package-exports.test.ts test/integration/built-package.test.ts",
169
186
  "test:watch": "vitest",
170
187
  "lint": "eslint src",
171
188
  "size": "size-limit",
172
189
  "size:check": "size-limit --json > docs/bundle-sizes.json",
190
+ "release:verify": "npm run lint && npm test && npm run build && npm run test:package && npm run size",
173
191
  "prepublishOnly": "npm run build"
174
192
  },
175
193
  "keywords": [
package/dist/constants.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * Constants for time conversions and utility types
3
- */
4
- // Milliseconds per unit
5
- export const MILLISECONDS_PER_SECOND = 1000;
6
- export const MILLISECONDS_PER_MINUTE = 60 * 1000;
7
- export const MILLISECONDS_PER_HOUR = 60 * 60 * 1000;
8
- export const MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
9
- export const MILLISECONDS_PER_WEEK = 7 * 24 * 60 * 60 * 1000;
10
- export const MILLISECONDS_PER_MONTH = 30 * 24 * 60 * 60 * 1000; // Approximate
11
- export const MILLISECONDS_PER_YEAR = 365 * 24 * 60 * 60 * 1000; // Approximate
12
- // Seconds per unit
13
- export const SECONDS_PER_MINUTE = 60;
14
- export const SECONDS_PER_HOUR = 60 * 60;
15
- export const SECONDS_PER_DAY = 24 * 60 * 60;
16
- export const SECONDS_PER_WEEK = 7 * 24 * 60 * 60;
package/dist/index.js DELETED
@@ -1,66 +0,0 @@
1
- /**
2
- * @fileoverview Main entry point for ts-time-utils library
3
- * Re-exports all functions from individual modules for convenience
4
- */
5
- // Format utilities
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, roundToNearestUnit, ceilDate, floorDate } from './calculate.js';
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, isSameHour, isSameMinute, isSameSecond, isInQuarter, isSameQuarter } from './validate.js';
11
- // Age utilities
12
- export { calculateAge, getAgeInUnits, getLifeStage, getNextBirthday, getDaysUntilBirthday, isBirthday } from './age.js';
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, getWeekYear, lastDayOfDecade, firstDayOfDecade, lastDayOfCentury, getStartOfQuarter, getEndOfQuarter } from './calendar.js';
15
- // Parse utilities
16
- export { parseDate, parseRelativeDate, parseTimeAgo, parseCustomFormat, parseManyFormats, parseISO8601Duration, parseISO8601DurationToMs, parseTime, guessDateFormat, parseAutoFormat, parseRangeEndpoint } from './parse.js';
17
- // Performance utilities
18
- export { sleep, timeout, debounce, throttle, retry, createStopwatch, measureTime, measureAsync, benchmark, Stopwatch } from './performance.js';
19
- // Interval utilities
20
- export { createInterval, isValidInterval, intervalDuration, intervalContains, intervalsOverlap, intervalIntersection, mergeIntervals, subtractInterval, splitIntervalByDay, totalIntervalCoverage, normalizeIntervals } from './interval.js';
21
- // Timezone utilities
22
- export { getTimezoneOffset, formatInTimeZone, getZonedTime, convertDateToZone, isValidTimeZone, COMMON_TIMEZONES, getLocalOffset, compareZoneOffsets, reinterpretAsZone, isDST, getNextDSTTransition, findCommonWorkingHours, getTimezoneAbbreviation, convertBetweenZones, getTimezoneDifferenceHours, isSameTimezone } from './timezone.js';
23
- // Working hours utilities
24
- export { DEFAULT_WORKING_HOURS, isWorkingDay, isWorkingTime, nextWorkingTime, workingTimeBetween, addWorkingHours, addWorkingDays, subtractWorkingDays, getNextWorkingDay, getPreviousWorkingDay, getWorkingDaysInMonth, getWorkingDaysInMonthArray, workingDaysBetween, isBreakTime, getWorkDayStart, getWorkDayEnd, getWorkingHoursPerDay } from './workingHours.js';
25
- // Range preset utilities
26
- export { today, yesterday, tomorrow, lastNDays, nextNDays, thisWeek, lastWeek, nextWeek, thisMonth, lastMonth, nextMonth, thisYear, lastYear, nextYear, rollingWindowDays, quarterRange, lastQuarter, nextQuarter, RANGE_PRESETS } from './rangePresets.js';
27
- // Duration utilities
28
- export { Duration, createDuration, isValidDuration, parseDurationString, formatDurationString, maxDuration, minDuration, sumDurations, averageDuration } from './duration.js';
29
- // Serialization utilities
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
32
- export { registerLocale, getLocaleConfig, getSupportedLocales, formatRelativeTime, formatDateLocale, formatTimeLocale, formatDateTimeLocale, getMonthNames, getDayNames, getFirstDayOfWeek, isLocaleSupported, getBestMatchingLocale, detectLocale,
33
- // Conversion utilities
34
- convertRelativeTime, detectLocaleFromRelativeTime, convertFormatPattern, convertFormattedDate, convertRelativeTimeArray, compareLocaleFormats,
35
- // Week info utilities
36
- getWeekInfo, getLocaleWeekStartsOn, getLocaleWeekendDays, intlFormat, formatISODate, formatISOTime, formatDistanceStrict } from './locale.js';
37
- // Recurrence utilities
38
- export { createRecurrence, getNextOccurrence, getOccurrencesBetween, isRecurrenceDate, isValidRecurrenceRule, recurrenceToString } from './recurrence.js';
39
- // Countdown utilities
40
- export { createCountdown, getRemainingTime, formatCountdown, isExpired, getProgressPercentage, getTimeUntil, createDeadline } from './countdown.js';
41
- // Date range utilities
42
- export { dateRangeOverlap, hasOverlappingRanges, mergeDateRanges, findGaps, splitRange, containsDate, getIntersection, getUnion, subtractRange, getRangeDuration, expandRange, shrinkRange, rangeContains, sortRanges } from './dateRange.js';
43
- // Natural language parsing utilities
44
- export { parseNaturalDate, parseRelativePhrase, extractDatesFromText, suggestDateFromContext } from './naturalLanguage.js';
45
- // Constants and types
46
- export { MILLISECONDS_PER_SECOND, MILLISECONDS_PER_MINUTE, MILLISECONDS_PER_HOUR, MILLISECONDS_PER_DAY, MILLISECONDS_PER_WEEK, MILLISECONDS_PER_MONTH, MILLISECONDS_PER_YEAR, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK } from './constants.js';
47
- // Cron expression utilities
48
- export { parseCronExpression, parseCronField, matchesCron, getNextCronDate, getNextCronDates, getPreviousCronDate, isValidCron, describeCron, CRON_PRESETS } from './cron.js';
49
- // Fiscal year utilities
50
- export { getFiscalYear, getFiscalQuarter, getFiscalYearStart, getFiscalYearEnd, getFiscalQuarterStart, getFiscalQuarterEnd, isSameFiscalYear, isSameFiscalQuarter, getFiscalMonth, getDaysRemainingInFiscalYear, getDaysElapsedInFiscalYear, getFiscalYearProgress, getFiscalWeek, formatFiscalYear, formatFiscalQuarter, getFiscalPeriodInfo, FISCAL_PRESETS } from './fiscal.js';
51
- // Date comparison and sorting utilities
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';
53
- // Date iteration utilities
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';
55
- // International holidays utilities
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';
57
- // Chain API (fluent interface)
58
- export { chain, ChainedDate, formatMs } from './chain.js';
59
- // Plugin system for extending ChainedDate
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';